2021/10/27

2021-10-27 00:04:43 +0200CiaoSen(~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-10-27 00:05:11 +0200chomwitt(~chomwitt@ppp-94-68-249-8.home.otenet.gr) (Ping timeout: 260 seconds)
2021-10-27 00:05:43 +0200 <maerwald> jackdk: do you have a link to the ticket/PR?
2021-10-27 00:06:17 +0200 <jackdk> there isn't one yet, Axman6 and I have been hashing it out 1-1
2021-10-27 00:06:42 +0200 <jackdk> (chunkedbody uploads have been broken in amazonka for a while anyway, so this stream grouping stuff hasn't even been an option yet)
2021-10-27 00:06:48 +0200jespada(~jespada@181.28.253.200) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-10-27 00:07:07 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-10-27 00:07:14 +0200 <maerwald> that's why I went with frontend-side uploads back when I needed that
2021-10-27 00:09:48 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-27 00:09:48 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-27 00:09:48 +0200wroathe(~wroathe@user/wroathe)
2021-10-27 00:10:35 +0200emf(~emf@2620:10d:c090:400::5:b46d) (Ping timeout: 264 seconds)
2021-10-27 00:10:49 +0200 <maerwald> https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#createPresignedPost-property
2021-10-27 00:10:52 +0200 <maerwald> that one
2021-10-27 00:12:16 +0200emf(~emf@2620:10d:c091:480::1:1c3a)
2021-10-27 00:16:48 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3)
2021-10-27 00:20:17 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2021-10-27 00:21:06 +0200justHauntjustache
2021-10-27 00:22:43 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55)
2021-10-27 00:26:27 +0200mvk(~mvk@2607:fea8:5cc1:300::d3fb)
2021-10-27 00:26:46 +0200emf(~emf@2620:10d:c091:480::1:1c3a) (Ping timeout: 245 seconds)
2021-10-27 00:29:08 +0200emf(~emf@2620:10d:c090:400::5:5ca4)
2021-10-27 00:32:16 +0200alx741(~alx741@181.196.69.72) (Quit: alx741)
2021-10-27 00:32:30 +0200ouroboros(~ouroboros@user/ouroboros) (Quit: Bye.)
2021-10-27 00:32:55 +0200neotod(~manjaro-u@95.85.66.41)
2021-10-27 00:33:17 +0200ouroboros(~ouroboros@user/ouroboros)
2021-10-27 00:33:51 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 245 seconds)
2021-10-27 00:35:29 +0200michalz(~michalz@185.246.204.125) (Remote host closed the connection)
2021-10-27 00:50:59 +0200neotod(~manjaro-u@95.85.66.41) (Quit: Konversation terminated!)
2021-10-27 00:52:20 +0200burnsidesLlama(~burnsides@dhcp168-053.wadham.ox.ac.uk) (Remote host closed the connection)
2021-10-27 00:53:27 +0200Null_A(~null_a@2601:645:8700:2290:391b:b1e6:7bfa:182e) (Remote host closed the connection)
2021-10-27 00:56:45 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-10-27 00:57:54 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
2021-10-27 01:00:29 +0200lavaman(~lavaman@98.38.249.169)
2021-10-27 01:03:57 +0200 <Axman6> To be clear, I am also ok with just storing data in memory in a Builder and writing it out - the amount of data in memory should be bounded (though might have some issues if someone maliciously sends very large bytestring - someone like jackdk)
2021-10-27 01:05:14 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2021-10-27 01:07:16 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds)
2021-10-27 01:16:36 +0200Guest82(~Guest82@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Client closed)
2021-10-27 01:19:20 +0200 <Axman6> (To be more clear, jackdk is not (necessarily) malicious, but he did think about this possibly being a problem)
2021-10-27 01:19:55 +0200jle`(~justin@cpe-23-240-75-236.socal.res.rr.com) (Quit: WeeChat 2.7)
2021-10-27 01:20:47 +0200acidjnk_new(~acidjnk@p200300d0c7238d5160a532b196255ee8.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-10-27 01:24:02 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Remote host closed the connection)
2021-10-27 01:26:47 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 264 seconds)
2021-10-27 01:29:25 +0200solomon(~solomon@cpe-76-168-7-139.socal.res.rr.com)
2021-10-27 01:37:28 +0200 <jackdk> It's more that I am always willing to troll Axman6
2021-10-27 01:37:59 +0200 <Axman6> chaotic good
2021-10-27 01:37:59 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net)
2021-10-27 01:38:23 +0200 <jackdk> but also that the maximum size of a multipart upload part is 5GB, and if we could stream parts of that size rather than buffer 5GB, that'd be grand
2021-10-27 01:39:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-27 01:40:32 +0200mvk(~mvk@2607:fea8:5cc1:300::d3fb) (Ping timeout: 258 seconds)
2021-10-27 01:40:42 +0200kayprish(~kayprish@46.240.130.158) (Remote host closed the connection)
2021-10-27 01:43:11 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55)
2021-10-27 01:43:29 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-27 01:43:29 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-27 01:43:29 +0200wroathe(~wroathe@user/wroathe)
2021-10-27 01:43:30 +0200tdammers(~tdammers@77.109.72.177.res.static.edpnet.net) (Ping timeout: 260 seconds)
2021-10-27 01:48:23 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 264 seconds)
2021-10-27 01:49:46 +0200 <Axman6> yeah - need to add something to cap that chunksize too...
2021-10-27 01:50:36 +0200 <Axman6> so... a lot of these problems could be fixed with threads and channels potentially
2021-10-27 01:50:59 +0200lavaman(~lavaman@98.38.249.169)
2021-10-27 01:52:14 +0200 <Axman6> stream in bytestring chunks, fork a thread for each upload chunk when needed then push chunks into the channel. in the thread, making a conduit which reads from the channel is pretty easy and would allow concurrent upload and input. at the moment they're interleaved which isn't ideal
2021-10-27 01:52:34 +0200fluffyballoon(~user@131.93.208.196)
2021-10-27 01:52:44 +0200 <Axman6> if I bound the size of the channel then it should provide the appropriate backpressure to prevent filling up ram if something going wrong
2021-10-27 01:53:31 +0200solomon(~solomon@cpe-76-168-7-139.socal.res.rr.com) (Quit: Client closed)
2021-10-27 01:54:37 +0200PuzzledSA(~PuzzledSA@cache0-req.hlcrwi.sol.net)
2021-10-27 01:57:17 +0200tdammers(~tdammers@77.109.72.177.res.static.edpnet.net)
2021-10-27 02:02:56 +0200 <PuzzledSA> Good day, I had a question about installing ghc and cabal-install from source. For various reasons, it is impractical to use prepackaged versions, and I need it to be installed in /opt. I've successfully bootstrapped ghc (using a prepackaged version on a temporary system to build it) along with Cabal libs, but could find no clear instructions,
2021-10-27 02:02:57 +0200 <PuzzledSA> muddled through some of cabal-install and dependencies, and got stuck on ghc-prim with an error I don't understand. I'm more of a sysadmin than a developer and was hoping someone could interpret this for me?
2021-10-27 02:06:20 +0200 <PuzzledSA> I had been doing "runhaskell Setup configure --prefix=/opt; runhaskell Setup build; runhaskell Setup install" inside each package, and have installed Cabal, echo, network, th-compat, network-uri, HTTP, hashable, async, base16-bytestring, resolv, zlib, cryptohash-sha256, splitmix, random, edit-distance, and base64-bytestring successfully. Upon
2021-10-27 02:06:21 +0200 <PuzzledSA> trying to build ghc-prim as a dependency for ed25519, I came up against "Setup: Error: could not find module: GHC.CString with any suffix: ["hi"] in the search path: ["dist/build"]
2021-10-27 02:08:38 +0200 <PuzzledSA> If anyone has a pointer to a recent set of instructions on how to build this from source, or can explain what needs to happen to correct the error I'm seeing, I'd be grateful.
2021-10-27 02:11:56 +0200 <geekosaur> if you have ghc then it should have installed ghc-prim along with it
2021-10-27 02:14:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-27 02:14:24 +0200 <geekosaur> so this suggests something is wrong with your ghc install, or you are simply trying to install a package that cannot be installed standalone like that
2021-10-27 02:14:51 +0200 <geekosaur> ghc-prim should be listed in `ghc-pkg list --global`
2021-10-27 02:15:27 +0200 <geekosaur> (I don't think ghc-prim can be installed from outside the GHC source tree)
2021-10-27 02:17:14 +0200 <PuzzledSA> looking... thanks. It does look like ghc-prim 0.6.1 is installed. Let me chase down dependencies here and see what the reason is for this.
2021-10-27 02:17:52 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-10-27 02:18:12 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
2021-10-27 02:18:29 +0200 <geekosaur> (also, welcome! I'm an ex-sysadmin myself.)
2021-10-27 02:19:08 +0200Lord_of_Life_Lord_of_Life
2021-10-27 02:20:03 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds)
2021-10-27 02:20:38 +0200 <PuzzledSA> cabal-install-3.6.0.0 is asking for hackage-security >=0.6.0.1 && < 0.7. hackage-security-0.6.0.1 wants ed25519 >= 0.0 && <0.1. ed25519 wants ghc-prim >=0.1 && <0.5, so the installed version of 0.6.1 does not fulfill the dependency
2021-10-27 02:21:13 +0200 <PuzzledSA> I'm totally unfamiliar with Haskell but totally familiar with dependency hell (thanks, Perl, Node, PHP, etc. heheh)
2021-10-27 02:21:28 +0200 <geekosaur> that… sounds odd. afaik 3.6.0.0 and deps shouldbuild with ghc 8.10.7 and its ghc-prim
2021-10-27 02:21:50 +0200 <sclv> wait are you trying to build cabal with ghc 9?
2021-10-27 02:22:06 +0200 <geekosaur> 0.6.1 is with my 8.10.7
2021-10-27 02:22:12 +0200 <PuzzledSA> this is ghc-8.10.7
2021-10-27 02:22:53 +0200 <sclv> ah ok maybe try a newer cabal install? 3.6.2.0?
2021-10-27 02:23:25 +0200 <PuzzledSA> it is possible something went awry during the bootstrap, I suppose, I had to use ghc-8.6.3 to boorstrap
2021-10-27 02:23:35 +0200 <PuzzledSA> aaaaah bootstrap
2021-10-27 02:26:31 +0200 <PuzzledSA> 3.6.0.0 is the latest listed on the downloads page at https://www.haskell.org/cabal/download.html
2021-10-27 02:27:17 +0200 <PuzzledSA> trawling round...
2021-10-27 02:27:27 +0200 <sclv> yeah we need to update that sigh. You can find the newer in the dir structure but it shouldn’t matter
2021-10-27 02:27:38 +0200 <sclv> For bootstrapping look at the github repo
2021-10-27 02:27:50 +0200 <PuzzledSA> ok found https://hackage.haskell.org/package/cabal-install-3.6.2.0/cabal-install-3.6.2.0.tar.gz
2021-10-27 02:28:00 +0200 <PuzzledSA> lemme give this a shot
2021-10-27 02:28:06 +0200 <sclv> There’s scripts there, in the repo
2021-10-27 02:28:38 +0200 <sclv> https://github.com/haskell/cabal/tree/master/bootstrap
2021-10-27 02:29:01 +0200op_4(~op_4@user/op-4/x-9116473)
2021-10-27 02:30:14 +0200 <op_4> does anyone have a resource/quick explanation for what monad transformers are, assuming i know sufficiently much category theory?
2021-10-27 02:32:05 +0200 <PuzzledSA> Unfortunately the target machines do not have direct Internet access so git is a bit painful. cabal-install-3.6.2.0 has the same dependency on hackage-security >=0.6.0.1 && <0.7
2021-10-27 02:32:36 +0200 <geekosaur> op_4, imo you don't need category theory to understand monad transformers
2021-10-27 02:33:34 +0200 <op_4> geekosaur: ah, sorry, perhaps i misrepresented my stance: what if i want to know what monad transformers are, categorically? :p
2021-10-27 02:33:39 +0200 <geekosaur> https://www.fpcomplete.com/haskell/tutorial/monad-transformers/ https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.71.596&rep=rep1&type=pdf
2021-10-27 02:34:04 +0200 <geekosaur> not sure they have one, they're more of an adaptation to haskell limitations I think
2021-10-27 02:34:13 +0200 <geekosaur> just as haskell monads are not full CT monads
2021-10-27 02:34:37 +0200 <op_4> geekosaur: ok, great, that's useful to know too. Thanks for the links!
2021-10-27 02:34:48 +0200 <jackdk> "endofunctors on the category of monads", perhaps? https://hackage.haskell.org/package/mmorph-1.2.0/docs/Control-Monad-Morph.html
2021-10-27 02:35:00 +0200xff0x(~xff0x@2001:1a81:53d3:900:4e53:4d86:e32e:4caf) (Ping timeout: 260 seconds)
2021-10-27 02:35:02 +0200 <jackdk> I don't know CT well enough to say - I'm just banging words together
2021-10-27 02:35:33 +0200 <op_4> geekosaur: what do you mean they're not actually monads? Is this something like laws for unit and multiplication aren't actually enforced?
2021-10-27 02:35:47 +0200Cale(~cale@2607:fea8:995f:d3e0:a7e3:45a3:f953:e812) (Ping timeout: 264 seconds)
2021-10-27 02:35:50 +0200 <op_4> jackdk: interesting, thanks, that certainly seems reasonable
2021-10-27 02:35:50 +0200xff0x(~xff0x@2001:1a81:53d3:900:1ab0:e69a:7282:ec2c)
2021-10-27 02:36:07 +0200 <geekosaur> more like they're limited to the (pseudo)category Hask instead of all categories
2021-10-27 02:36:41 +0200 <geekosaur> that is, theyy are only defined in the not-quite-a-category of Haskell types
2021-10-27 02:38:31 +0200 <PuzzledSA> okay, I see what may be the issue here. The webpage for ed25519 at https://hackage.haskell.org/package/ed25519 describes the ghc-prim dependency as >= 0.1 && < 0.7 but when I run the configure in ed25519-0.0.5.0 it says the dependency is >= 0.1 && <0.5
2021-10-27 02:38:46 +0200 <op_4> geekosaur: oh, sure. i don't know that this robs them of being monads in any meaningful way. Covariant powerset is a monoid only on set, but it's still a monad.
2021-10-27 02:39:14 +0200 <op_4> geekosaur: but you did say something completely new to me. What do you mean by pseudo-category?
2021-10-27 02:39:22 +0200 <geekosaur> Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
2021-10-27 02:40:09 +0200 <geekosaur> I mean that Hask is commonly considered a category, but because of bottom it isn't one. There are extensions to categories that would admit it, but I don't know how much theoreticla work has gone into that
2021-10-27 02:40:43 +0200 <sclv> PuzzledSA: since you’re building everything by hand you can do that manually
2021-10-27 02:40:49 +0200 <sclv> The change
2021-10-27 02:40:49 +0200 <op_4> afaik, a pseudo-category is a weakened category object in a 2-category where composition is only associative and unital up to structured 2-cells
2021-10-27 02:40:52 +0200 <PuzzledSA> I am trying to *build* cabal in the first place... can I just edit the "ed25519.cabal" file?
2021-10-27 02:40:55 +0200 <op_4> geekosaur: aha, i see, thanks!
2021-10-27 02:42:08 +0200 <geekosaur> PuzzledSA, yes, that's whyat a metadata revision is
2021-10-27 02:42:21 +0200 <PuzzledSA> It builds and seems to be fine.
2021-10-27 02:42:22 +0200 <geekosaur> so you should be able to simply change the upper bound to < 7
2021-10-27 02:43:44 +0200 <PuzzledSA> Already did and it works. Thanks, broke the dependency logjam (at least for now!)
2021-10-27 02:46:16 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 252 seconds)
2021-10-27 02:48:29 +0200echoSMILE(~echoSMILE@user/echosmile) (Ping timeout: 256 seconds)
2021-10-27 02:48:56 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2021-10-27 02:49:45 +0200 <PuzzledSA> Okay that got me through several more. I'm now working on "base" which is giving me three repeated stanzas of "<interactive>:1:1: error: attempting to use module 'main:Prelude' (./Prelude.hs) which is not loaded"
2021-10-27 02:49:55 +0200MQ-17J(~MQ-17J@8.6.144.197) (Ping timeout: 260 seconds)
2021-10-27 02:50:22 +0200 <geekosaur> you have another dependency issue somewhere, base can't be installed outside of ghc
2021-10-27 02:50:38 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com)
2021-10-27 02:50:49 +0200 <geekosaur> you should have base 4.14.3.0 installed already
2021-10-27 02:50:52 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-10-27 02:51:23 +0200 <PuzzledSA> Okay, looking around. This is due to tar-0.5.1.1 wanting base >=4 && <4.14 ... will inspect things a bit
2021-10-27 02:51:45 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com)
2021-10-27 02:52:08 +0200tcard(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving)
2021-10-27 02:52:21 +0200 <PuzzledSA> 4.17 on the webpage
2021-10-27 02:52:44 +0200 <geekosaur> metadata rev 4 bumped the base revision to >=4 and <4.17
2021-10-27 02:53:10 +0200 <PuzzledSA> so if I skip trying to build base and just bump tar dependency for base to 4.17 it looks good
2021-10-27 02:53:21 +0200 <geekosaur> metadata revisions do complicate doing things this way
2021-10-27 02:53:57 +0200 <geekosaur> but they greatly simplify hackage administration, when all that's needed is a rev bump in the cabal file and not a whole new upload
2021-10-27 02:54:21 +0200 <awpr> download the whole 00-index.tgz and extract the cabal files?
2021-10-27 02:54:21 +0200 <PuzzledSA> Yeah, sorry, and I'm coming into this with zero familiarity with the tools, so I wasn't even really sure where to look at first
2021-10-27 02:54:34 +0200Cale(~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com)
2021-10-27 02:55:04 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds)
2021-10-27 02:55:15 +0200 <geekosaur> basically, if you're pulling stuff from hackage, look for the string "metadata revisions". it's a link. follow the link to see what package dependency revisions have been made
2021-10-27 02:55:17 +0200 <awpr> Hackage uses the, uh, _interesting_ technique of appending revised cabal files to the .tar, so the last one will overwrite all the others and will be the most recent
2021-10-27 02:55:58 +0200tcard(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp)
2021-10-27 02:56:00 +0200 <awpr> so if you put that index tarball on the target machine, you can just grab the latest .cabal file for the current package out of it
2021-10-27 02:57:05 +0200fluffyballoon(~user@131.93.208.196) (Ping timeout: 260 seconds)
2021-10-27 02:57:50 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2021-10-27 03:00:58 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-10-27 03:01:08 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2021-10-27 03:05:00 +0200 <PuzzledSA> awpr, ah, I see. Okay, well, I think I am past my logjam here, and I appreciate the hints folks
2021-10-27 03:06:02 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com)
2021-10-27 03:16:32 +0200neurocyte0132889(~neurocyte@user/neurocyte) (Ping timeout: 260 seconds)
2021-10-27 03:16:35 +0200 <sclv> You can download the revised cabal files from hackage directly too
2021-10-27 03:32:24 +0200Guest4914(~Guest49@99-125-181-14.lightspeed.miamfl.sbcglobal.net)
2021-10-27 03:35:12 +0200xff0x(~xff0x@2001:1a81:53d3:900:1ab0:e69a:7282:ec2c) (Ping timeout: 260 seconds)
2021-10-27 03:35:56 +0200xff0x(~xff0x@2001:1a81:53d3:900:7766:a729:f554:f683)
2021-10-27 03:36:01 +0200Guest4914(~Guest49@99-125-181-14.lightspeed.miamfl.sbcglobal.net) (Client Quit)
2021-10-27 03:38:50 +0200dd(~dd@99-125-181-14.lightspeed.miamfl.sbcglobal.net)
2021-10-27 03:39:31 +0200dd(~dd@99-125-181-14.lightspeed.miamfl.sbcglobal.net) (Remote host closed the connection)
2021-10-27 03:46:52 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-10-27 03:47:10 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com)
2021-10-27 03:47:11 +0200xff0x(~xff0x@2001:1a81:53d3:900:7766:a729:f554:f683) (Ping timeout: 245 seconds)
2021-10-27 03:49:16 +0200xff0x(~xff0x@2001:1a81:5218:9100:819b:8b2:7ae0:c230)
2021-10-27 03:49:16 +0200 <PuzzledSA> WOO SUCCESS! Some more various dependencies later, it all builds. Thanks very much geekosaur and awpr, your assistance is much appreciated
2021-10-27 03:49:21 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Remote host closed the connection)
2021-10-27 03:52:25 +0200nehsou^(~nehsou@wsip-68-227-92-38.mc.at.cox.net)
2021-10-27 03:52:26 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-10-27 03:53:07 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com)
2021-10-27 03:53:10 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net)
2021-10-27 04:00:04 +0200lbseale(~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
2021-10-27 04:00:56 +0200trillp(~user@69.233.98.238)
2021-10-27 04:05:25 +0200PuzzledSA(~PuzzledSA@cache0-req.hlcrwi.sol.net) (Quit: Client closed)
2021-10-27 04:10:37 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-27 04:14:42 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds)
2021-10-27 04:18:27 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-10-27 04:19:30 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net)
2021-10-27 04:24:01 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2021-10-27 04:29:01 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55)
2021-10-27 04:32:17 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2021-10-27 04:33:59 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 260 seconds)
2021-10-27 04:35:23 +0200td_(~td@94.134.91.24) (Ping timeout: 260 seconds)
2021-10-27 04:37:00 +0200td_(~td@muedsl-82-207-238-060.citykom.de)
2021-10-27 04:37:58 +0200bongobrown(~bongobrow@cpe-76-185-215-2.satx.res.rr.com)
2021-10-27 04:40:04 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 260 seconds)
2021-10-27 04:40:59 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds)
2021-10-27 04:41:40 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-10-27 04:44:25 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-27 04:48:59 +0200lavaman(~lavaman@98.38.249.169)
2021-10-27 04:53:35 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-10-27 04:59:05 +0200bongobrown(~bongobrow@cpe-76-185-215-2.satx.res.rr.com) (Quit: Leaving)
2021-10-27 04:59:23 +0200bongobrown(~bongobrow@cpe-76-185-215-2.satx.res.rr.com)
2021-10-27 05:04:15 +0200yrlnry(~mjd@pool-74-109-22-90.phlapa.fios.verizon.net) (Ping timeout: 260 seconds)
2021-10-27 05:06:38 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 265 seconds)
2021-10-27 05:11:34 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-27 05:11:34 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-27 05:11:34 +0200wroathe(~wroathe@user/wroathe)
2021-10-27 05:12:41 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net)
2021-10-27 05:17:16 +0200bongobrown(~bongobrow@cpe-76-185-215-2.satx.res.rr.com) (Quit: Leaving)
2021-10-27 05:17:35 +0200bongobrown(~bongobrow@cpe-76-185-215-2.satx.res.rr.com)
2021-10-27 05:22:04 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds)
2021-10-27 05:23:50 +0200lavaman(~lavaman@98.38.249.169)
2021-10-27 05:28:26 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2021-10-27 05:30:25 +0200yrlnry(~mjd@pool-74-109-22-90.phlapa.fios.verizon.net)
2021-10-27 05:30:38 +0200zebrag(~chris@user/zebrag)
2021-10-27 05:33:05 +0200lavaman(~lavaman@98.38.249.169)
2021-10-27 05:34:47 +0200trillp`(~user@2600:1700:28e2:14d0:4e6b:a714:bd6d:a4b5)
2021-10-27 05:35:26 +0200trillp(~user@69.233.98.238) (Ping timeout: 260 seconds)
2021-10-27 05:41:30 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2021-10-27 05:43:32 +0200bongobrown(~bongobrow@cpe-76-185-215-2.satx.res.rr.com) (Ping timeout: 260 seconds)
2021-10-27 05:43:35 +0200jinsun(~quassel@user/jinsun)
2021-10-27 05:46:49 +0200trillp`trillp
2021-10-27 05:58:11 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-27 05:58:11 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-27 05:58:11 +0200wroathe(~wroathe@user/wroathe)
2021-10-27 06:00:48 +0200yrlnry(~mjd@pool-74-109-22-90.phlapa.fios.verizon.net) (Ping timeout: 260 seconds)
2021-10-27 06:03:07 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2021-10-27 06:06:26 +0200zmt00(~zmt00@user/zmt00) (Quit: Gone.)
2021-10-27 06:06:29 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-10-27 06:06:48 +0200zmt00(~zmt00@user/zmt00)
2021-10-27 06:10:56 +0200jinsun(~quassel@user/jinsun) (Ping timeout: 245 seconds)
2021-10-27 06:12:35 +0200jinsun(~quassel@user/jinsun)
2021-10-27 06:12:47 +0200evertedsphere(sid434122@hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-10-27 06:15:25 +0200brainfreeze(~brainfree@2a03:1b20:4:f011::20d) (Ping timeout: 260 seconds)
2021-10-27 06:15:56 +0200phma_(~phma@host-67-44-208-16.hnremote.net)
2021-10-27 06:17:00 +0200brainfreeze(~brainfree@2a03:1b20:4:f011::20d)
2021-10-27 06:18:59 +0200phma(~phma@host-67-44-208-12.hnremote.net) (Ping timeout: 260 seconds)
2021-10-27 06:25:11 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-10-27 06:41:00 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-27 07:03:34 +0200zmt00(~zmt00@user/zmt00) (Quit: Gone.)
2021-10-27 07:05:06 +0200zmt00(~zmt00@user/zmt00)
2021-10-27 07:12:49 +0200nehsou^(~nehsou@wsip-68-227-92-38.mc.at.cox.net) (Remote host closed the connection)
2021-10-27 07:15:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-27 07:15:55 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-10-27 07:16:00 +0200phma_phma
2021-10-27 07:16:08 +0200lavaman(~lavaman@98.38.249.169)
2021-10-27 07:16:16 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-10-27 07:22:55 +0200brainfreeze(~brainfree@2a03:1b20:4:f011::20d) (Remote host closed the connection)
2021-10-27 07:28:40 +0200dsrt^(~dsrt@wsip-68-227-92-38.mc.at.cox.net)
2021-10-27 07:29:50 +0200mei(~mei@user/mei)
2021-10-27 07:31:07 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-10-27 07:35:14 +0200aegon(~mike@174.127.249.180) (Remote host closed the connection)
2021-10-27 07:43:27 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds)
2021-10-27 07:44:39 +0200zebrag(~chris@user/zebrag) (Remote host closed the connection)
2021-10-27 07:44:41 +0200jinsun(~quassel@user/jinsun) (Ping timeout: 245 seconds)
2021-10-27 07:47:37 +0200Liudvikas(~Liudvikas@213.197.176.162)
2021-10-27 07:49:55 +0200jinsun(~quassel@user/jinsun)
2021-10-27 07:51:22 +0200trillp(~user@2600:1700:28e2:14d0:4e6b:a714:bd6d:a4b5) (Remote host closed the connection)
2021-10-27 07:55:56 +0200jinsun(~quassel@user/jinsun) (Ping timeout: 245 seconds)
2021-10-27 07:59:55 +0200alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-10-27 08:00:16 +0200alzgh(~alzgh@user/alzgh)
2021-10-27 08:01:04 +0200Liudvikas(~Liudvikas@213.197.176.162) (Quit: Konversation terminated!)
2021-10-27 08:01:43 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-10-27 08:03:30 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-10-27 08:03:32 +0200xff0x(~xff0x@2001:1a81:5218:9100:819b:8b2:7ae0:c230) (Ping timeout: 260 seconds)
2021-10-27 08:04:12 +0200xff0x(~xff0x@2001:1a81:5218:9100:c348:b23d:7d32:f26e)
2021-10-27 08:06:10 +0200dsrt^(~dsrt@wsip-68-227-92-38.mc.at.cox.net) (Ping timeout: 260 seconds)
2021-10-27 08:06:44 +0200michalz(~michalz@185.246.204.125)
2021-10-27 08:17:33 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-10-27 08:24:01 +0200mishugana(~mishugana@user/mishugana)
2021-10-27 08:24:24 +0200 <mishugana> hello folks, has anybody read the book, "functional programming made easier" by Scalfani? (The book teached purescript)
2021-10-27 08:24:53 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-10-27 08:24:59 +0200 <mishugana> if so, can you please share your review briefly?
2021-10-27 08:25:35 +0200xff0x(~xff0x@2001:1a81:5218:9100:c348:b23d:7d32:f26e) (Ping timeout: 264 seconds)
2021-10-27 08:26:24 +0200xff0x(~xff0x@2001:1a81:5218:9100:27b2:477a:f50:38f5)
2021-10-27 08:26:50 +0200 <mishugana> also, if possible, a comparison to "haskell programming from first principles" would be useful for me
2021-10-27 08:27:23 +0200 <mishugana> for reference, I've devoured Graham Hutton's "Programming in Haskell", now wish to start learning Haskell for real-world projects
2021-10-27 08:27:34 +0200 <mishugana> merci beaucoup!
2021-10-27 08:29:59 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-10-27 08:34:45 +0200 <mishugana> anybody?
2021-10-27 08:35:54 +0200 <jackdk> Possibly a better fit for a discussion forum - you are asking for an in-depth comparison between multiple large books
2021-10-27 08:36:25 +0200fendor(~fendor@77.119.200.17.wireless.dyn.drei.com)
2021-10-27 08:38:05 +0200 <mishugana> Hmmm
2021-10-27 08:38:19 +0200kuribas(~user@ptr-25vy0i9jhzblfidtsev.18120a2.ip6.access.telenet.be)
2021-10-27 08:39:39 +0200chomwitt(~chomwitt@2a02:587:dc12:b600:12c3:7bff:fe6d:d374)
2021-10-27 08:40:16 +0200michalz(~michalz@185.246.204.125) (Remote host closed the connection)
2021-10-27 08:43:49 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-10-27 08:44:15 +0200michalz(~michalz@185.246.204.109)
2021-10-27 08:49:46 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-10-27 08:49:48 +0200michalz(~michalz@185.246.204.109) (Remote host closed the connection)
2021-10-27 08:50:55 +0200michalz(~michalz@185.246.204.109)
2021-10-27 08:53:51 +0200jakalx(~jakalx@base.jakalx.net)
2021-10-27 08:55:07 +0200lortabac(~lortabac@atoulouse-256-1-14-70.w92-136.abo.wanadoo.fr)
2021-10-27 08:56:24 +0200zincy(~tom@2a00:23c8:970c:4801:d180:6949:f6bd:3923)
2021-10-27 08:57:23 +0200ubert(~Thunderbi@91.141.66.139.wireless.dyn.drei.com)
2021-10-27 09:00:42 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-27 09:01:45 +0200mishugana(~mishugana@user/mishugana) (Quit: leaving)
2021-10-27 09:06:38 +0200chele(~chele@user/chele)
2021-10-27 09:08:43 +0200 <Inst> @mishugana use ##programming for that, this is #haskell central and has a #haskell-offtopic
2021-10-27 09:08:43 +0200 <lambdabot> Unknown command, try @list
2021-10-27 09:10:14 +0200marinelli(~marinelli@gateway/tor-sasl/marinelli) ()
2021-10-27 09:10:31 +0200 <yushyin> also this is IRC, you don't need @ before of nicks
2021-10-27 09:15:07 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-10-27 09:19:00 +0200mbuf(~Shakthi@122.178.244.237)
2021-10-27 09:20:55 +0200 <ski> (in fact, it's confusing, since `@', in connection with nicknames, is already used to mean something else. if you mean to refer to, or address, someone, simply mention their nickname)
2021-10-27 09:21:03 +0200kupi(uid212005@id-212005.hampstead.irccloud.com)
2021-10-27 09:23:24 +0200ub(~Thunderbi@91.141.66.139.wireless.dyn.drei.com)
2021-10-27 09:32:46 +0200ub(~Thunderbi@91.141.66.139.wireless.dyn.drei.com) (Quit: ub)
2021-10-27 09:33:17 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-10-27 09:35:46 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2021-10-27 09:37:58 +0200gehmehgeh(~user@user/gehmehgeh)
2021-10-27 09:38:16 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Ping timeout: 265 seconds)
2021-10-27 09:39:02 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds)
2021-10-27 09:39:46 +0200fef(~thedawn@user/thedawn)
2021-10-27 09:42:17 +0200 <dminuoso> Conflating naming conventions is an ubiquitous problem. The way we name channels in IRC is how twitter identifies processible tags
2021-10-27 09:42:18 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 260 seconds)
2021-10-27 09:46:38 +0200skialways wondered how it distinguished between different topics, whose tags happen to be spelled the same way
2021-10-27 09:46:43 +0200ubert(~Thunderbi@91.141.66.139.wireless.dyn.drei.com) (Quit: ubert)
2021-10-27 09:56:23 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
2021-10-27 10:00:07 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2021-10-27 10:03:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-27 10:04:29 +0200acidjnk_new(~acidjnk@p200300d0c7238d51605dadc8a3f75380.dip0.t-ipconnect.de)
2021-10-27 10:04:34 +0200cfricke(~cfricke@user/cfricke)
2021-10-27 10:05:17 +0200hendursa1(~weechat@user/hendursaga)
2021-10-27 10:07:20 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2021-10-27 10:08:24 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-10-27 10:15:45 +0200echoSMILE(~echoSMILE@user/echosmile)
2021-10-27 10:16:58 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer)
2021-10-27 10:17:33 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-10-27 10:17:35 +0200d0ku(~d0ku@178.43.15.137.ipv4.supernova.orange.pl)
2021-10-27 10:20:43 +0200chomwitt(~chomwitt@2a02:587:dc12:b600:12c3:7bff:fe6d:d374) (Ping timeout: 260 seconds)
2021-10-27 10:24:52 +0200 <zincy> applyToFive :: (forall a. a -> a) -> Int
2021-10-27 10:24:54 +0200 <zincy> applyToFive f = f 5
2021-10-27 10:25:32 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Remote host closed the connection)
2021-10-27 10:25:43 +0200 <zincy> Is rankN types all about delaying the instantiation of type parameters?
2021-10-27 10:26:31 +0200 <ski> i suppose that's one way to phrase it
2021-10-27 10:26:55 +0200 <ski> but it's also about controlling *who* gets to pick and choose (caller or callee)
2021-10-27 10:26:55 +0200echoSMILE(~echoSMILE@user/echosmile) (Ping timeout: 256 seconds)
2021-10-27 10:27:22 +0200osewingsn(~ngpc@2603-8081-3e05-e2d0-bb2d-8519-eb6b-baf1.res6.spectrum.com)
2021-10-27 10:27:27 +0200 <ski> and about restricting the scope of the tyvar. and possibly being able to pick more than one time, for a single call to the main operation
2021-10-27 10:27:48 +0200osewingsn(~ngpc@2603-8081-3e05-e2d0-bb2d-8519-eb6b-baf1.res6.spectrum.com) (Client Quit)
2021-10-27 10:27:59 +0200 <zincy> So applyToFive is basically delegating the responsibility of ensuring tyVar a is picked correctly to the caller
2021-10-27 10:28:06 +0200 <ski> and can be used for hiding of implementation details (which type(s) your implementation actually operates with)
2021-10-27 10:28:22 +0200 <zincy> Is that hiding related to existential types
2021-10-27 10:28:36 +0200 <ski> somewhat
2021-10-27 10:28:50 +0200 <zincy> I am trying to understand existential types as I heard that information hiding is tantamount to existential types
2021-10-27 10:29:14 +0200 <ski> from `exists a. (..a.. -> ...)', `(forall a. ..a..) -> ...' follows (but not vice versa, in general)
2021-10-27 10:29:24 +0200 <ski> yes
2021-10-27 10:30:03 +0200xff0x(~xff0x@2001:1a81:5218:9100:27b2:477a:f50:38f5) (Ping timeout: 260 seconds)
2021-10-27 10:30:42 +0200 <ski> in your case, you could just as well think of it as `applyToFive :: exists a. (a -> a) -> Int' (because you only pick a single type for `a', and it doesn't depend on any run-time input (arguments) to `applyToFive')
2021-10-27 10:31:29 +0200 <ski> (but if you had `foo f = (f (5 :: Int),f False)', then you couldn't express it like that)
2021-10-27 10:32:08 +0200 <zincy> oh so rankNTypes are somewhat related to information hiding, but existential types are directly related??
2021-10-27 10:32:38 +0200xff0x(~xff0x@2001:1a81:5218:9100:27b2:477a:f50:38f5)
2021-10-27 10:33:38 +0200nschoe(~quassel@178.251.84.79)
2021-10-27 10:36:20 +0200 <zincy> Just to clarify, `applyToFive :: (forall a. a -> a) -> Int` can be thought of as `applyToFive :: exists a. (a -> a) -> Int
2021-10-27 10:36:25 +0200 <zincy> Is that right?
2021-10-27 10:36:44 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-27 10:37:01 +0200jumper149(~jumper149@80.240.31.34)
2021-10-27 10:38:08 +0200 <ski> `Rank2Types' refers to being able to use `forall' in an argument type. `RankNTypes' to also be able to use `forall' in argument types of (callback) arguments types, and so on
2021-10-27 10:38:55 +0200 <zincy> So N is the number of nestings of our quantifier
2021-10-27 10:39:13 +0200 <ski> `forall' and `exists' are dual, they give opposite patterns of who gets to pick a type and who has to handle whatever is picked (without knowing what the choice was, in general), out of caller vs. callee
2021-10-27 10:39:26 +0200 <ski> the number of *left*-nestings inside `->', yes
2021-10-27 10:40:04 +0200mc47(~mc47@xmonad/TheMC47)
2021-10-27 10:41:01 +0200shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-10-27 10:41:05 +0200 <ski> <zincy> Just to clarify, `applyToFive :: (forall a. a -> a) -> Int` can be thought of as `applyToFive :: exists a. (a -> a) -> Int
2021-10-27 10:41:29 +0200 <ski> not in general. in this particular case, yes, because you're picking `a' exactly once (and not depending on run-time input)
2021-10-27 10:41:48 +0200 <ski> consider
2021-10-27 10:41:57 +0200 <ski> length :: forall a. ([a] -> Int)
2021-10-27 10:42:25 +0200echoSMILE(~echoSMILE@user/echosmile)
2021-10-27 10:42:25 +0200 <ski> this says that, for all types `a', `length' can be called with a list of `a's, and will produce an `Int' as result
2021-10-27 10:42:32 +0200 <ski> now, this is equivalent to
2021-10-27 10:42:42 +0200 <ski> length :: (exists a. [a]) -> Int
2021-10-27 10:43:15 +0200 <ski> which says that, calling `length' will produce an `Int' as result, provided there exists some type `a' such that the argument is a list of `a's
2021-10-27 10:43:45 +0200 <ski> in general, `(exists a. ..a..) -> ...' is equivalent to `forall a. (..a.. -> ...)'
2021-10-27 10:44:04 +0200 <ski> also, `... -> (forall a. ..a..)' is equivalent to `forall a. (... -> ..a..)'
2021-10-27 10:44:17 +0200 <ski> so, e.g.
2021-10-27 10:44:29 +0200 <ski> replicate :: forall a. (Int -> a -> [a])
2021-10-27 10:44:33 +0200 <ski> is equivalent to
2021-10-27 10:44:42 +0200 <ski> replicate :: Int -> (forall a. a -> [a])
2021-10-27 10:44:57 +0200osewingsn(~ngpc@2603-8081-3e05-e2d0-bb2d-8519-eb6b-baf1.res6.spectrum.com)
2021-10-27 10:44:57 +0200 <ski> zincy : this making any sense, so far ?
2021-10-27 10:45:21 +0200osewingsn(~ngpc@2603-8081-3e05-e2d0-bb2d-8519-eb6b-baf1.res6.spectrum.com) (Remote host closed the connection)
2021-10-27 10:46:30 +0200 <zincy> So the normal length (no lang extensions) function can be thought of as 'exists'?
2021-10-27 10:47:49 +0200 <ski> you could think of the *argument* type as being wrapped in an `exists', sure
2021-10-27 10:48:37 +0200 <ski> `length' doesn't care about the element type. as long as there exists some element type such that the argument is a lost of such elements, `length' will work fine
2021-10-27 10:48:45 +0200 <zincy> *argument* type is (exists a. [a]) -> Int ?
2021-10-27 10:48:57 +0200 <zincy> I mean (exists a. [a])
2021-10-27 10:49:05 +0200 <ski> no, `exists a. [a]' is the argument type there
2021-10-27 10:49:06 +0200 <ski> yea
2021-10-27 10:49:26 +0200 <ski> `forall' is what expresses polymorphism
2021-10-27 10:49:45 +0200 <ski> a polymorphic value is one whose type has a shape `forall a. ..a..'
2021-10-27 10:50:46 +0200 <zincy> I am confused about how in `length :: forall a. ([a] -> Int)` [a] can be thought as (exists a [a])
2021-10-27 10:51:02 +0200 <ski> and it means it has type `..Int..',`..Bool..',`..[String,Bool -> IO ()]..', &c. .. for any possible (concrete) type that you can plug (consistently) for `a', it has that type
2021-10-27 10:51:12 +0200 <ski> no
2021-10-27 10:52:38 +0200 <ski> consider `\x -> x'. this has type `Int -> Int'. but it can also be given the type `Bool -> Bool', as well as the type `[(String,Bool -> IO ())] -> [(String,Bool -> IO ())]' .. in short, for all types `a', it has type `a -> a'
2021-10-27 10:52:55 +0200 <ski> and we express this by saying it has type `forall a. a -> a'
2021-10-27 10:53:39 +0200 <zincy> Right, the forall is saying that every parameterisation is treated the same
2021-10-27 10:53:45 +0200 <ski> now, a value of type `exists a. ..a..' doesn't have type `..a..' for *all* types `a' .. but rather, there exists *some* (unknown/forgotten/abstract/opque/skolem) type `a' such that it has type `..a..'
2021-10-27 10:53:56 +0200 <ski> take `[False,True,False]'
2021-10-27 10:53:58 +0200 <ski> we have
2021-10-27 10:54:07 +0200 <ski> [False,True,False] :: [Bool]
2021-10-27 10:54:16 +0200 <ski> therefore, we can also claim
2021-10-27 10:54:23 +0200 <ski> [False,True,False] :: exists a. [a]
2021-10-27 10:54:40 +0200 <ski> meaning : there exists some type `a' such that `[False,True,False]' is a list of `a's
2021-10-27 10:54:58 +0200 <ski> therefore, we can apply `length :: (exists a. [a]) -> Int' to this list, getting back an `Int'
2021-10-27 10:55:55 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55)
2021-10-27 10:55:55 +0200 <ski> for `forall', we can go from `blah :: forall a. ..a..' *to* `blah :: ..T..', by picking/choosing a *particular* type `T'
2021-10-27 10:55:57 +0200 <zincy> Ah I think that makes sense
2021-10-27 10:56:19 +0200 <zincy> So in the general case you can go from forall to exists but not backwards
2021-10-27 10:56:30 +0200Tordek_(tordek@triton.blinkenshell.org) (Ping timeout: 260 seconds)
2021-10-27 10:56:45 +0200 <ski> while for `exists', we can go *to* `blah :: exists a. ..a..' *from* `blah :: ..T..', by *forgetting/hiding* which type `T' we had used, hiding it behind the tyvar `a'
2021-10-27 10:57:13 +0200 <ski> now, consider again `... -> (forall a. ..a..)' -- this usage of `forall' is not "serious"
2021-10-27 10:57:57 +0200 <ski> in the sense that it gives us nothing new, no extra expressivity. because this is equivalent to `forall a. (... -> ..a..)'. and we already know how to interpret `forall's occuring just after the `::' in a type signature
2021-10-27 10:58:05 +0200Guest39(~Guest39@2601:645:4101:b390:4521:34c:ac77:836e)
2021-10-27 10:58:21 +0200Guest39(~Guest39@2601:645:4101:b390:4521:34c:ac77:836e) (Client Quit)
2021-10-27 10:58:55 +0200 <ski> now, `(forall a. ..a..) -> ...' *is* a "serious" use of `forall', giving us a new power. so this is what (`PolymorphicComponents' and) `Rank2Types' and `RankNTypes' gives us
2021-10-27 10:59:28 +0200 <ski> (note, all those three now turn on `RankNTypes' in GHC, so there's no difference between them there)
2021-10-27 11:00:06 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Ping timeout: 245 seconds)
2021-10-27 11:00:24 +0200 <ski> similarly, `(exists a. ..a..) -> ...' is not "serious", since this is equivalent to `forall a. (..a.. -> ...)', which we already understand from ordinary polymorphism
2021-10-27 11:00:44 +0200 <ski> however, `... -> (exists a. ..a..)' *would* be a "serious" usage of `exists'
2021-10-27 11:01:18 +0200 <ski> likewise, putting `exists' inside some data structure, e.g. `[exists a. ..a..]' or `Map String (exists a. ..a..)'
2021-10-27 11:02:07 +0200 <kritzefitz> would `exists a. ..a..` where the exists comes directly after `::` also be serious?
2021-10-27 11:02:08 +0200 <zincy> So the extra expressiveness comes from pushing the forall inside the LHS of an arrow which is supplied by the caller
2021-10-27 11:02:40 +0200 <ski> kritzefitz : yes
2021-10-27 11:03:48 +0200 <ski> (also `forall' inside other type constructors .. but that's `ImpredicativeTypes', which for a long time didn't work properly. there's a recent new implementation around now, though, which hopefully works better)
2021-10-27 11:04:03 +0200 <ski> anyway, consider e.g.
2021-10-27 11:04:29 +0200 <ski> foo :: Bool -> exists a. (a,a -> a,a -> String)
2021-10-27 11:04:42 +0200 <ski> foo False = (False,not,show)
2021-10-27 11:05:00 +0200 <ski> foo True = ("True",reverse,id)
2021-10-27 11:05:55 +0200 <ski> note how, despite the two bodies here seemingly having different types, they actually share the common *abstract* type `exists a. (a,a -> a,a -> String)'
2021-10-27 11:06:08 +0200fef(~thedawn@user/thedawn) (Quit: Leaving)
2021-10-27 11:06:18 +0200 <ski> and note that the type that is picked by `foo' for `a' here *depends* on the argument passed to `foo'
2021-10-27 11:06:48 +0200bitmapper(uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2021-10-27 11:08:58 +0200 <zincy> Interesting
2021-10-27 11:09:30 +0200 <zincy> So from the callers perspective what is the return type?
2021-10-27 11:09:37 +0200 <zincy> Changes based on the argument?
2021-10-27 11:10:24 +0200 <zincy> Kind of like an interface hiding information about how polymorphic it really is to the caller
2021-10-27 11:10:41 +0200ikex1(~ash@user/ikex)
2021-10-27 11:11:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-27 11:11:47 +0200ikex(~ash@user/ikex) (Ping timeout: 264 seconds)
2021-10-27 11:11:48 +0200ikex1ikex
2021-10-27 11:13:09 +0200michalz(~michalz@185.246.204.109) (Remote host closed the connection)
2021-10-27 11:13:42 +0200michalz(~michalz@185.246.204.104)
2021-10-27 11:14:07 +0200lavaman(~lavaman@98.38.249.169)
2021-10-27 11:14:44 +0200 <ski> zincy : well, consider a polymorphic value `blah :: forall a. ..a..'. the caller/consumer/user of it may pick and choose any type they like for `a'. the callee/producer/definer/implementor must be prepared to handle any possible choice, and furthermore can't inspect or depend on which choice was made (except if special provisions were made for that)
2021-10-27 11:16:28 +0200 <ski> zincy : now, for an "abstract" value `bleh :: exists a. ..a..', the callee/producer/definer/implementor may pick and choose whatever type they like for `a'. while now, otoh, the caller/consumer/user must be prepared to handle any possible choice, and furthermore can't inspect or depend on which choice was made (except if special provisions were made)
2021-10-27 11:16:35 +0200SquidDev(~SquidDev@autoclave.squiddev.cc) (Quit: Bye!)
2021-10-27 11:16:55 +0200SquidDev(~SquidDev@autoclave.squiddev.cc)
2021-10-27 11:17:18 +0200 <zincy> ski: Need to go out for a bit but will be back in a couple of hours
2021-10-27 11:17:19 +0200 <ski> zincy : so, `forall' vs. `exists' swaps/reverses the rôles that the caller/consumer/user vs. callee/producer/definer/implementor has, with regards to handling the type `a'
2021-10-27 11:17:49 +0200CiaoSen(~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2021-10-27 11:18:36 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2021-10-27 11:18:59 +0200Midjak(~Midjak@82-65-111-221.subs.proxad.net)
2021-10-27 11:19:12 +0200 <ski> now, the left part of the function arrow `->' is known to swap the rules of caller vs. callee. therefore, `(forall a. ..a..) -> ...' is bound to be "similar" to `exists a. (..a.. -> ...)' (which not exactly the same, as i hinted at previously, both involve the *callee* choosing some type(s) for `a', and the caller having to make do with that/those choice(s))
2021-10-27 11:19:37 +0200chomwitt(~chomwitt@ppp-94-68-249-8.home.otenet.gr)
2021-10-27 11:20:06 +0200 <ski> (while `(exist a. ..a..) -> ...' is completely equivalent to `forall a. (..a..) -> ...')
2021-10-27 11:20:42 +0200 <ski> this means that it's incorrect to refer to all the rank-`n' types as some kind of "higher polymorphism"
2021-10-27 11:20:55 +0200 <ski> sure, `foo :: forall a. ..a..' is polymorphism
2021-10-27 11:22:04 +0200 <ski> but `foo :: (forall a. ..a..) -> ...' is not like polymorphism, it's more like "abstraction" (if i may use that term for whatever feature it is that allowing `exists' in types enable)
2021-10-27 11:23:35 +0200 <ski> while `foo :: ((forall a. ..a..) -> ...) -> ...' *is* quite like polymorphism (as with polymorphism, it's the *callee* of `foo' (via the callback, receiving a polymorphic argument) that gets to pick and choose `a'
2021-10-27 11:23:40 +0200 <ski> )
2021-10-27 11:23:45 +0200 <arahael> With coredata, is it possible to create the code generation for the models and stuff on the command line, without relying on the xcode GUI?
2021-10-27 11:23:56 +0200 <ski> so it alternates
2021-10-27 11:27:48 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 258 seconds)
2021-10-27 11:28:17 +0200michalz(~michalz@185.246.204.104) (Remote host closed the connection)
2021-10-27 11:28:54 +0200michalz(~michalz@185.246.204.125)
2021-10-27 11:30:50 +0200kupi(uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-10-27 11:34:08 +0200fendor_(~fendor@178.165.200.199.wireless.dyn.drei.com)
2021-10-27 11:35:30 +0200ubert(~Thunderbi@91.141.66.139.wireless.dyn.drei.com)
2021-10-27 11:36:24 +0200michalz(~michalz@185.246.204.125) (Remote host closed the connection)
2021-10-27 11:36:49 +0200mei(~mei@user/mei) (Read error: Connection reset by peer)
2021-10-27 11:36:50 +0200fendor(~fendor@77.119.200.17.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2021-10-27 11:36:57 +0200ubert(~Thunderbi@91.141.66.139.wireless.dyn.drei.com) (Client Quit)
2021-10-27 11:36:59 +0200michalz(~michalz@185.246.204.125)
2021-10-27 11:43:19 +0200ubert(~Thunderbi@91.141.66.139.wireless.dyn.drei.com)
2021-10-27 11:49:43 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-10-27 11:51:45 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-10-27 11:57:45 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2021-10-27 11:59:01 +0200jstolarek(~jstolarek@137.220.120.162)
2021-10-27 12:05:18 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-10-27 12:09:21 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2021-10-27 12:14:02 +0200Neuromancer(~Neuromanc@user/neuromancer) (Remote host closed the connection)
2021-10-27 12:14:50 +0200evertedsphere(uid434122@id-434122.hampstead.irccloud.com)
2021-10-27 12:15:07 +0200drownbes(~drownbes@200-149-20-81.sta.estpak.ee)
2021-10-27 12:20:55 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-10-27 12:20:58 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 260 seconds)
2021-10-27 12:24:10 +0200oxide(~lambda@user/oxide)
2021-10-27 12:26:08 +0200mei(~mei@user/mei)
2021-10-27 12:27:37 +0200tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 252 seconds)
2021-10-27 12:29:08 +0200tomboy64(~tomboy64@user/tomboy64)
2021-10-27 12:43:42 +0200dsrt^(~dsrt@wsip-68-227-92-38.mc.at.cox.net)
2021-10-27 12:45:23 +0200CiaoSen(~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-10-27 12:47:30 +0200drownbes(~drownbes@200-149-20-81.sta.estpak.ee) (Quit: leaving)
2021-10-27 12:54:17 +0200__monty__(~toonn@user/toonn)
2021-10-27 12:58:04 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55)
2021-10-27 12:59:52 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 260 seconds)
2021-10-27 13:01:06 +0200jespada(~jespada@181.28.253.200)
2021-10-27 13:02:11 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Ping timeout: 245 seconds)
2021-10-27 13:02:52 +0200xff0x(~xff0x@2001:1a81:5218:9100:27b2:477a:f50:38f5) (Ping timeout: 258 seconds)
2021-10-27 13:03:51 +0200xff0x(~xff0x@2001:1a81:5218:9100:aa26:25c9:f09a:101d)
2021-10-27 13:07:23 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-27 13:11:52 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-27 13:12:18 +0200Midjak(~Midjak@82-65-111-221.subs.proxad.net) (*.net *.split)
2021-10-27 13:12:18 +0200jumper149(~jumper149@80.240.31.34) (*.net *.split)
2021-10-27 13:12:18 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (*.net *.split)
2021-10-27 13:12:18 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (*.net *.split)
2021-10-27 13:12:18 +0200deni(~deni@user/deni) (*.net *.split)
2021-10-27 13:12:18 +0200pbrisbin(~patrick@pool-173-49-152-45.phlapa.fios.verizon.net) (*.net *.split)
2021-10-27 13:12:18 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (*.net *.split)
2021-10-27 13:12:18 +0200mcglk_(~mcglk@131.191.49.120) (*.net *.split)
2021-10-27 13:12:19 +0200pie_(~pie_bnc@user/pie/x-2818909) (*.net *.split)
2021-10-27 13:12:19 +0200Unode(~Unode@194.94.44.220) (*.net *.split)
2021-10-27 13:12:19 +0200nshepperd2(~nshepperd@li364-218.members.linode.com) (*.net *.split)
2021-10-27 13:12:19 +0200choucavalier(~choucaval@peanutbuttervibes.com) (*.net *.split)
2021-10-27 13:12:19 +0200ptrcmd(~ptrcmd@user/ptrcmd) (*.net *.split)
2021-10-27 13:12:19 +0200micro(~micro@user/micro) (*.net *.split)
2021-10-27 13:12:19 +0200tomjaguarpaw(~tom@li367-225.members.linode.com) (*.net *.split)
2021-10-27 13:12:19 +0200platz(~platz@user/platz) (*.net *.split)
2021-10-27 13:12:19 +0200Partmedia(~kevinz@172-221-159-029.res.spectrum.com) (*.net *.split)
2021-10-27 13:12:19 +0200ozzymcduff(~mathieu@81-234-151-21-no94.tbcn.telia.com) (*.net *.split)
2021-10-27 13:12:19 +0200drdo(~drdo@roach0.drdo.eu) (*.net *.split)
2021-10-27 13:12:19 +0200emergence(~emergence@vm0.max-p.me) (*.net *.split)
2021-10-27 13:12:19 +0200sshine(~simon@hubris.eta.solutions) (*.net *.split)
2021-10-27 13:12:19 +0200fluxit(~fluxit@techsmix.net) (*.net *.split)
2021-10-27 13:12:19 +0200tv(~tv@user/tv) (*.net *.split)
2021-10-27 13:12:19 +0200sm2n(~sm2n@user/sm2n) (*.net *.split)
2021-10-27 13:12:19 +0200nitrix(~nitrix@user/nitrix) (*.net *.split)
2021-10-27 13:12:19 +0200CannabisIndica(~herb@user/mesaboogie) (*.net *.split)
2021-10-27 13:12:19 +0200erisco(~erisco@d24-57-249-233.home.cgocable.net) (*.net *.split)
2021-10-27 13:12:19 +0200ellie(~ellie@user/ellie) (*.net *.split)
2021-10-27 13:12:19 +0200cls(~cls@chalk.lubutu.com) (*.net *.split)
2021-10-27 13:12:19 +0200Hecate(~mariposa@user/hecate) (*.net *.split)
2021-10-27 13:12:19 +0200gnyeki(~gnyeki@li578-216.members.linode.com) (*.net *.split)
2021-10-27 13:12:19 +0200hughjfchen(~hughjfche@vmi556545.contaboserver.net) (*.net *.split)
2021-10-27 13:12:19 +0200hueso(~root@user/hueso) (*.net *.split)
2021-10-27 13:12:19 +0200hubvu(sid495858@user/hubvu) (*.net *.split)
2021-10-27 13:12:19 +0200whez(sid470288@lymington.irccloud.com) (*.net *.split)
2021-10-27 13:12:19 +0200TMA(tma@twin.jikos.cz) (*.net *.split)
2021-10-27 13:12:19 +0200_xor(~xor@72.49.199.147) (*.net *.split)
2021-10-27 13:12:20 +0200ski(~ski@remote12.chalmers.se) (*.net *.split)
2021-10-27 13:12:20 +0200elvishjerricco(sid237756@helmsley.irccloud.com) (*.net *.split)
2021-10-27 13:12:20 +0200iteratee(~kyle@162.218.222.107) (*.net *.split)
2021-10-27 13:12:20 +0200astra`(sid289983@user/amish) (*.net *.split)
2021-10-27 13:12:20 +0200etrepum(sid763@uxbridge.irccloud.com) (*.net *.split)
2021-10-27 13:12:20 +0200niko(~niko@libera/staff/niko) (*.net *.split)
2021-10-27 13:12:20 +0200sm[i]_(~user@li229-222.members.linode.com) (*.net *.split)
2021-10-27 13:12:20 +0200davl(~davl@207.154.228.18) (*.net *.split)
2021-10-27 13:12:20 +0200Megant(megant@user/megant) (*.net *.split)
2021-10-27 13:12:20 +0200cjay(cjay@nerdbox.nerd2nerd.org) (*.net *.split)
2021-10-27 13:12:20 +0200p3n(~p3n@217.198.124.246) (*.net *.split)
2021-10-27 13:12:20 +0200a1paca(~a1paca@user/a1paca) (*.net *.split)
2021-10-27 13:12:20 +0200dminuoso(~dminuoso@user/dminuoso) (*.net *.split)
2021-10-27 13:12:20 +0200tput(~tim@S0106a84e3fe54613.ed.shawcable.net) (*.net *.split)
2021-10-27 13:12:20 +0200tlax(tlax@kapsi.fi) (*.net *.split)
2021-10-27 13:12:20 +0200aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (*.net *.split)
2021-10-27 13:15:27 +0200Midjak(~Midjak@82-65-111-221.subs.proxad.net)
2021-10-27 13:15:27 +0200jumper149(~jumper149@80.240.31.34)
2021-10-27 13:15:27 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-10-27 13:15:27 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-10-27 13:15:27 +0200deni(~deni@user/deni)
2021-10-27 13:15:27 +0200pbrisbin(~patrick@pool-173-49-152-45.phlapa.fios.verizon.net)
2021-10-27 13:15:27 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2021-10-27 13:15:27 +0200mcglk_(~mcglk@131.191.49.120)
2021-10-27 13:15:27 +0200pie_(~pie_bnc@user/pie/x-2818909)
2021-10-27 13:15:27 +0200Unode(~Unode@194.94.44.220)
2021-10-27 13:15:27 +0200nshepperd2(~nshepperd@li364-218.members.linode.com)
2021-10-27 13:15:27 +0200choucavalier(~choucaval@peanutbuttervibes.com)
2021-10-27 13:15:27 +0200micro(~micro@user/micro)
2021-10-27 13:15:27 +0200ptrcmd(~ptrcmd@user/ptrcmd)
2021-10-27 13:15:27 +0200tomjaguarpaw(~tom@li367-225.members.linode.com)
2021-10-27 13:15:27 +0200platz(~platz@user/platz)
2021-10-27 13:15:27 +0200Partmedia(~kevinz@172-221-159-029.res.spectrum.com)
2021-10-27 13:15:27 +0200ozzymcduff(~mathieu@81-234-151-21-no94.tbcn.telia.com)
2021-10-27 13:15:27 +0200drdo(~drdo@roach0.drdo.eu)
2021-10-27 13:15:27 +0200emergence(~emergence@vm0.max-p.me)
2021-10-27 13:15:27 +0200sshine(~simon@hubris.eta.solutions)
2021-10-27 13:15:27 +0200fluxit(~fluxit@techsmix.net)
2021-10-27 13:15:27 +0200tv(~tv@user/tv)
2021-10-27 13:15:27 +0200sm2n(~sm2n@user/sm2n)
2021-10-27 13:15:27 +0200nitrix(~nitrix@user/nitrix)
2021-10-27 13:15:27 +0200CannabisIndica(~herb@user/mesaboogie)
2021-10-27 13:15:27 +0200erisco(~erisco@d24-57-249-233.home.cgocable.net)
2021-10-27 13:15:27 +0200ellie(~ellie@user/ellie)
2021-10-27 13:15:27 +0200cls(~cls@chalk.lubutu.com)
2021-10-27 13:15:27 +0200Hecate(~mariposa@user/hecate)
2021-10-27 13:15:27 +0200gnyeki(~gnyeki@li578-216.members.linode.com)
2021-10-27 13:15:27 +0200hughjfchen(~hughjfche@vmi556545.contaboserver.net)
2021-10-27 13:15:27 +0200hueso(~root@user/hueso)
2021-10-27 13:15:27 +0200hubvu(sid495858@user/hubvu)
2021-10-27 13:15:27 +0200whez(sid470288@lymington.irccloud.com)
2021-10-27 13:15:27 +0200TMA(tma@twin.jikos.cz)
2021-10-27 13:15:27 +0200_xor(~xor@72.49.199.147)
2021-10-27 13:15:27 +0200ski(~ski@remote12.chalmers.se)
2021-10-27 13:15:27 +0200elvishjerricco(sid237756@helmsley.irccloud.com)
2021-10-27 13:15:27 +0200iteratee(~kyle@162.218.222.107)
2021-10-27 13:15:27 +0200astra`(sid289983@user/amish)
2021-10-27 13:15:27 +0200etrepum(sid763@uxbridge.irccloud.com)
2021-10-27 13:15:27 +0200niko(~niko@libera/staff/niko)
2021-10-27 13:15:27 +0200sm[i]_(~user@li229-222.members.linode.com)
2021-10-27 13:15:27 +0200davl(~davl@207.154.228.18)
2021-10-27 13:15:27 +0200Megant(megant@user/megant)
2021-10-27 13:15:27 +0200cjay(cjay@nerdbox.nerd2nerd.org)
2021-10-27 13:15:27 +0200p3n(~p3n@217.198.124.246)
2021-10-27 13:15:27 +0200a1paca(~a1paca@user/a1paca)
2021-10-27 13:15:27 +0200dminuoso(~dminuoso@user/dminuoso)
2021-10-27 13:15:27 +0200tput(~tim@S0106a84e3fe54613.ed.shawcable.net)
2021-10-27 13:15:27 +0200tlax(tlax@kapsi.fi)
2021-10-27 13:15:27 +0200aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
2021-10-27 13:16:12 +0200trcc(~trcc@users-1190.st.net.au.dk)
2021-10-27 13:17:24 +0200emanuele6(~emanuele6@user/emanuele6) (Ping timeout: 244 seconds)
2021-10-27 13:18:33 +0200achapman(~ajc@vmx14030.hosting24.com.au) (Quit: WeeChat 1.9.1)
2021-10-27 13:31:05 +0200lavaman(~lavaman@98.38.249.169)
2021-10-27 13:35:48 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2021-10-27 13:37:58 +0200ksqsf(~user@211.86.152.198)
2021-10-27 13:38:01 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-27 13:38:01 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-27 13:38:01 +0200wroathe(~wroathe@user/wroathe)
2021-10-27 13:40:59 +0200connrs(~connrs@user/connrs) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-27 13:42:00 +0200connrs(~connrs@user/connrs)
2021-10-27 13:42:21 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 258 seconds)
2021-10-27 13:42:23 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-10-27 13:42:55 +0200phma_(~phma@host-67-44-208-16.hnremote.net)
2021-10-27 13:43:45 +0200themc47(~mc47@xmonad/TheMC47)
2021-10-27 13:43:53 +0200Gestotterd(~Stotteren@pool-108-20-79-41.bstnma.fios.verizon.net)
2021-10-27 13:43:59 +0200tcard_(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp)
2021-10-27 13:44:02 +0200maxime_(~maxime@2a01cb0883359800bfca837605fff927.ipv6.abo.wanadoo.fr)
2021-10-27 13:44:04 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-10-27 13:44:04 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-10-27 13:44:08 +0200allbery_bgeekosaur
2021-10-27 13:44:28 +0200ncopa0(~ncopa@gbr2-dev1.alpinelinux.org)
2021-10-27 13:44:49 +0200ub(~Thunderbi@91.141.66.139.wireless.dyn.drei.com)
2021-10-27 13:44:54 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-10-27 13:45:10 +0200gregberns___(sid315709@id-315709.helmsley.irccloud.com)
2021-10-27 13:45:10 +0200parseval_(sid239098@id-239098.helmsley.irccloud.com)
2021-10-27 13:45:11 +0200b20n_(sid115913@id-115913.uxbridge.irccloud.com)
2021-10-27 13:45:11 +0200alanz_(sid110616@id-110616.uxbridge.irccloud.com)
2021-10-27 13:45:12 +0200philpax__(sid516926@id-516926.lymington.irccloud.com)
2021-10-27 13:45:12 +0200dsal_(sid13060@id-13060.lymington.irccloud.com)
2021-10-27 13:45:16 +0200christiaanb_(sid84827@id-84827.lymington.irccloud.com)
2021-10-27 13:45:16 +0200brettgilio7(~brettgili@x-node.gq)
2021-10-27 13:45:17 +0200kaychaks___(sid236345@id-236345.helmsley.irccloud.com)
2021-10-27 13:45:20 +0200dwt__(~dwt_@c-98-200-58-177.hsd1.tx.comcast.net)
2021-10-27 13:45:20 +0200taeaad_(~taeaad@user/taeaad)
2021-10-27 13:45:24 +0200sndr(~sander@user/sander)
2021-10-27 13:45:33 +0200Andrew_(~andrew@user/andrewyu)
2021-10-27 13:45:37 +0200pieguy128_(~pieguy128@bras-base-mtrlpq5031w-grc-48-67-70-102-17.dsl.bell.ca)
2021-10-27 13:45:42 +0200neightchan(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-10-27 13:45:43 +0200int-e_(~noone@int-e.eu)
2021-10-27 13:45:50 +0200int-e(~noone@int-e.eu) (Killed (NickServ (GHOST command used by int-e_)))
2021-10-27 13:45:58 +0200int-e_int-e
2021-10-27 13:46:59 +0200obfusk_(~quassel@a82-161-150-56.adsl.xs4all.nl)
2021-10-27 13:47:02 +0200fjmorazan_(~quassel@user/fjmorazan)
2021-10-27 13:47:17 +0200nschoe_(~quassel@178.251.84.79)
2021-10-27 13:47:31 +0200mjrosenb_(~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net)
2021-10-27 13:47:46 +0200byorgey_(~byorgey@155.138.238.211)
2021-10-27 13:47:54 +0200ppseafield[m](~elementpp@2001:470:69fc:105::1:250a)
2021-10-27 13:48:01 +0200gdd1(~gdd@129.199.146.230)
2021-10-27 13:48:03 +0200AWizzArd_(~code@gehrels.uberspace.de)
2021-10-27 13:48:08 +0200kjak_(~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
2021-10-27 13:48:14 +0200kritzefitz_(~kritzefit@212.86.56.80)
2021-10-27 13:48:17 +0200hrdl_(~hrdl@mail.hrdl.eu)
2021-10-27 13:48:18 +0200finstern1s(~X@23.226.237.192)
2021-10-27 13:48:18 +0200ringo__(~ringo@157.230.117.128)
2021-10-27 13:48:24 +0200eco_(~ubuntu@ec2-54-201-230-197.us-west-2.compute.amazonaws.com)
2021-10-27 13:49:11 +0200kmein_(~weechat@user/kmein)
2021-10-27 13:49:12 +0200robbert(~robbert@robbertvanderhelm.nl)
2021-10-27 13:49:40 +0200robbert(~robbert@robbertvanderhelm.nl) (Client Quit)
2021-10-27 13:49:51 +0200byorgey(~byorgey@155.138.238.211) (Killed (NickServ (GHOST command used by byorgey_)))
2021-10-27 13:49:55 +0200robbert(~robbert@robbertvanderhelm.nl)
2021-10-27 13:49:57 +0200byorgey_byorgey
2021-10-27 13:51:00 +0200orhan89_(~orhan89@151.91.188.35.bc.googleusercontent.com)
2021-10-27 13:51:10 +0200acowley(~acowley@c-68-83-22-43.hsd1.nj.comcast.net)
2021-10-27 13:51:12 +0200stefan-__(~cri@42dots.de)
2021-10-27 13:51:26 +0200robbert-vdh(~robbert@robbertvanderhelm.nl) (Killed (silver.libera.chat (Nickname regained by services)))
2021-10-27 13:51:26 +0200robbertrobbert-vdh
2021-10-27 13:52:11 +0200kritzefitz(~kritzefit@212.86.56.80) (Killed (silver.libera.chat (Nickname regained by services)))
2021-10-27 13:52:11 +0200kritzefitz_kritzefitz
2021-10-27 13:52:27 +0200ubert(~Thunderbi@91.141.66.139.wireless.dyn.drei.com) (*.net *.split)
2021-10-27 13:52:27 +0200michalz(~michalz@185.246.204.125) (*.net *.split)
2021-10-27 13:52:27 +0200mc47(~mc47@xmonad/TheMC47) (*.net *.split)
2021-10-27 13:52:27 +0200nschoe(~quassel@178.251.84.79) (*.net *.split)
2021-10-27 13:52:27 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (*.net *.split)
2021-10-27 13:52:27 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (*.net *.split)
2021-10-27 13:52:27 +0200phma(~phma@host-67-44-208-16.hnremote.net) (*.net *.split)
2021-10-27 13:52:27 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (*.net *.split)
2021-10-27 13:52:27 +0200tcard(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (*.net *.split)
2021-10-27 13:52:27 +0200juhp(~juhp@128.106.188.220) (*.net *.split)
2021-10-27 13:52:27 +0200gdd(~gdd@129.199.146.230) (*.net *.split)
2021-10-27 13:52:27 +0200Stotteren(~Stotteren@pool-108-20-79-41.bstnma.fios.verizon.net) (*.net *.split)
2021-10-27 13:52:27 +0200Ranhir(~Ranhir@157.97.53.139) (*.net *.split)
2021-10-27 13:52:27 +0200fjmorazan(~quassel@user/fjmorazan) (*.net *.split)
2021-10-27 13:52:27 +0200dwt_(~dwt_@c-98-200-58-177.hsd1.tx.comcast.net) (*.net *.split)
2021-10-27 13:52:27 +0200stefan-_(~cri@42dots.de) (*.net *.split)
2021-10-27 13:52:27 +0200mjrosenb(~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net) (*.net *.split)
2021-10-27 13:52:27 +0200natechan(~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (*.net *.split)
2021-10-27 13:52:27 +0200brettgilio(~brettgili@x-node.gq) (*.net *.split)
2021-10-27 13:52:27 +0200synthmeat(~synthmeat@user/synthmeat) (*.net *.split)
2021-10-27 13:52:27 +0200superbil(~superbil@1-34-176-171.hinet-ip.hinet.net) (*.net *.split)
2021-10-27 13:52:27 +0200acowley_(~acowley@c-68-83-22-43.hsd1.nj.comcast.net) (*.net *.split)
2021-10-27 13:52:28 +0200tolt(~weechat-h@li219-154.members.linode.com) (*.net *.split)
2021-10-27 13:52:28 +0200eco(~ubuntu@ec2-54-201-230-197.us-west-2.compute.amazonaws.com) (*.net *.split)
2021-10-27 13:52:28 +0200ncopa(~ncopa@alpine/developer/ncopa) (*.net *.split)
2021-10-27 13:52:28 +0200APic(apic@apic.name) (*.net *.split)
2021-10-27 13:52:28 +0200AndrewYu(~andrew@user/andrewyu) (*.net *.split)
2021-10-27 13:52:28 +0200hiredman(~hiredman@frontier1.downey.family) (*.net *.split)
2021-10-27 13:52:28 +0200sander(~sander@user/sander) (*.net *.split)
2021-10-27 13:52:28 +0200kjak(~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (*.net *.split)
2021-10-27 13:52:28 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl) (*.net *.split)
2021-10-27 13:52:28 +0200obfusk(~quassel@a82-161-150-56.adsl.xs4all.nl) (*.net *.split)
2021-10-27 13:52:28 +0200Xnuk(~xnuk@45.76.202.58) (*.net *.split)
2021-10-27 13:52:28 +0200kmein(~weechat@user/kmein) (*.net *.split)
2021-10-27 13:52:28 +0200hrdl(~hrdl@mail.hrdl.eu) (*.net *.split)
2021-10-27 13:52:28 +0200ringo_(~ringo@157.230.117.128) (*.net *.split)
2021-10-27 13:52:28 +0200pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-48-67-70-102-17.dsl.bell.ca) (*.net *.split)
2021-10-27 13:52:28 +0200AWizzArd(~code@user/awizzard) (*.net *.split)
2021-10-27 13:52:28 +0200finsternis(~X@23.226.237.192) (*.net *.split)
2021-10-27 13:52:28 +0200kaychaks__(sid236345@helmsley.irccloud.com) (*.net *.split)
2021-10-27 13:52:28 +0200gregberns__(sid315709@helmsley.irccloud.com) (*.net *.split)
2021-10-27 13:52:28 +0200parseval(sid239098@helmsley.irccloud.com) (*.net *.split)
2021-10-27 13:52:28 +0200christiaanb(sid84827@lymington.irccloud.com) (*.net *.split)
2021-10-27 13:52:28 +0200dsal(sid13060@lymington.irccloud.com) (*.net *.split)
2021-10-27 13:52:28 +0200b20n(sid115913@uxbridge.irccloud.com) (*.net *.split)
2021-10-27 13:52:28 +0200taeaad(~taeaad@user/taeaad) (*.net *.split)
2021-10-27 13:52:28 +0200philpax_(sid516926@lymington.irccloud.com) (*.net *.split)
2021-10-27 13:52:28 +0200alanz(sid110616@uxbridge.irccloud.com) (*.net *.split)
2021-10-27 13:52:28 +0200typedfern_(~Typedfern@171.red-83-51-60.dynamicip.rima-tde.net) (*.net *.split)
2021-10-27 13:52:28 +0200jjhoo(~jahakala@user/jjhoo) (*.net *.split)
2021-10-27 13:52:28 +0200dmwit(~dmwit@pool-173-73-185-183.washdc.fios.verizon.net) (*.net *.split)
2021-10-27 13:52:28 +0200hpc(~juzz@ip98-169-35-13.dc.dc.cox.net) (*.net *.split)
2021-10-27 13:52:28 +0200orhan89(~orhan89@151.91.188.35.bc.googleusercontent.com) (*.net *.split)
2021-10-27 13:52:28 +0200brettgilio7brettgilio
2021-10-27 13:52:28 +0200sndrsander
2021-10-27 13:52:28 +0200ncopa0ncopa
2021-10-27 13:52:28 +0200gregberns___gregberns__
2021-10-27 13:52:28 +0200parseval_parseval
2021-10-27 13:52:28 +0200ububert
2021-10-27 13:52:29 +0200dsal_dsal
2021-10-27 13:52:29 +0200b20n_b20n
2021-10-27 13:52:29 +0200alanz_alanz
2021-10-27 13:52:29 +0200kaychaks___kaychaks__
2021-10-27 13:52:29 +0200christiaanb_christiaanb
2021-10-27 13:52:31 +0200philpax__philpax_
2021-10-27 13:52:32 +0200TheCoffeMaker_(~TheCoffeM@125-121-245-190.fibertel.com.ar)
2021-10-27 13:53:04 +0200dmwit(~dmwit@pool-173-73-185-183.washdc.fios.verizon.net)
2021-10-27 13:53:09 +0200jjhoo(jahakala@user/jjhoo)
2021-10-27 13:53:13 +0200hpc(~juzz@ip98-169-35-13.dc.dc.cox.net)
2021-10-27 13:53:14 +0200tolt(~weechat-h@li219-154.members.linode.com)
2021-10-27 13:53:19 +0200hiredman(~hiredman@frontier1.downey.family)
2021-10-27 13:53:24 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-10-27 13:53:41 +0200kritzefitzkritzefitz_
2021-10-27 13:53:53 +0200kritzefitz_kritzefitz[m]
2021-10-27 13:54:01 +0200kritzefitz[m]kritzefitz
2021-10-27 13:54:27 +0200Xnuk(~xnuk@vultr.xnu.kr)
2021-10-27 13:58:12 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-10-27 13:58:18 +0200MQ-17J(~MQ-17J@8.6.144.240)
2021-10-27 13:58:38 +0200APic(apic@apic.name)
2021-10-27 13:58:55 +0200superbil(~superbil@1-34-176-171.hinet-ip.hinet.net)
2021-10-27 13:59:04 +0200synthmeat(~synthmeat@user/synthmeat)
2021-10-27 13:59:25 +0200Ranhir(~Ranhir@157.97.53.139)
2021-10-27 13:59:37 +0200typedfern_(~Typedfern@171.red-83-51-60.dynamicip.rima-tde.net)
2021-10-27 14:00:20 +0200maxime_(~maxime@2a01cb0883359800bfca837605fff927.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds)
2021-10-27 14:00:48 +0200ubert1(~Thunderbi@91.141.66.139.wireless.dyn.drei.com)
2021-10-27 14:01:00 +0200jstolarek(~jstolarek@137.220.120.162) (Ping timeout: 260 seconds)
2021-10-27 14:01:21 +0200burnsidesLlama(~burnsides@dhcp168-028.wadham.ox.ac.uk)
2021-10-27 14:03:34 +0200mmhat(~mmh@55d4b27c.access.ecotel.net)
2021-10-27 14:03:35 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-10-27 14:06:05 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2021-10-27 14:06:40 +0200fendor_(~fendor@178.165.200.199.wireless.dyn.drei.com) (Remote host closed the connection)
2021-10-27 14:07:54 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-10-27 14:11:27 +0200shriekingnoise(~shrieking@186.137.144.80)
2021-10-27 14:20:24 +0200michalz(~michalz@185.246.204.97)
2021-10-27 14:22:13 +0200Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2021-10-27 14:23:20 +0200Farzad(~FarzadBek@178.131.26.34)
2021-10-27 14:23:36 +0200Pickchea(~private@user/pickchea)
2021-10-27 14:24:10 +0200guniberas(~guniberas@42.191.188.121)
2021-10-27 14:40:19 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-10-27 14:46:18 +0200bongobrown(~bongobrow@cpe-76-185-215-2.satx.res.rr.com)
2021-10-27 14:49:37 +0200kmein_kmein
2021-10-27 14:55:58 +0200ubert1(~Thunderbi@91.141.66.139.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
2021-10-27 14:56:29 +0200NieDzejkob(~quassel@212.87.13.106) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-10-27 14:56:31 +0200trcc(~trcc@users-1190.st.net.au.dk) (Ping timeout: 260 seconds)
2021-10-27 14:57:07 +0200bongobrown(~bongobrow@cpe-76-185-215-2.satx.res.rr.com) (Quit: Leaving)
2021-10-27 14:57:15 +0200kritzefitz(~kritzefit@212.86.56.80) (Changing host)
2021-10-27 14:57:15 +0200kritzefitz(~kritzefit@debian/kritzefitz)
2021-10-27 14:59:52 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55)
2021-10-27 15:03:25 +0200CiaoSen(~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2021-10-27 15:04:16 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Ping timeout: 245 seconds)
2021-10-27 15:09:10 +0200Pickchea(~private@user/pickchea) (Ping timeout: 260 seconds)
2021-10-27 15:12:51 +0200fendor(~fendor@178.165.200.199.wireless.dyn.drei.com)
2021-10-27 15:21:34 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net)
2021-10-27 15:27:36 +0200oxide(~lambda@user/oxide) (Ping timeout: 245 seconds)
2021-10-27 15:28:16 +0200acidjnk_new(~acidjnk@p200300d0c7238d51605dadc8a3f75380.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-10-27 15:29:19 +0200hrdl_hrdl
2021-10-27 15:29:25 +0200oxide(~lambda@user/oxide)
2021-10-27 15:29:35 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 260 seconds)
2021-10-27 15:36:33 +0200maxime_(~maxime@2a01cb0883359800dd400544f01795c9.ipv6.abo.wanadoo.fr)
2021-10-27 15:38:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-27 15:42:28 +0200yrlnry(~mjd@pool-74-109-22-90.phlapa.fios.verizon.net)
2021-10-27 15:43:45 +0200tromp(~textual@dhcp-077-249-230-040.chello.nl)
2021-10-27 15:49:26 +0200Henson(~kvirc@107-179-133-201.cpe.teksavvy.com)
2021-10-27 15:49:54 +0200Pickchea(~private@user/pickchea)
2021-10-27 15:56:09 +0200agoraphobic(~agoraphob@ip11-173.bon.riksnet.se) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2021-10-27 15:57:54 +0200agoraphobic(~agoraphob@ip11-173.bon.riksnet.se)
2021-10-27 15:59:29 +0200MQ-17J(~MQ-17J@8.6.144.240) (Ping timeout: 268 seconds)
2021-10-27 16:00:04 +0200Andrew_AndrewYu
2021-10-27 16:00:58 +0200lavaman(~lavaman@98.38.249.169)
2021-10-27 16:07:24 +0200ub(~Thunderbi@91.141.46.110.wireless.dyn.drei.com)
2021-10-27 16:07:45 +0200vpan(~0@212.117.1.172)
2021-10-27 16:08:11 +0200ubert(~Thunderbi@91.141.66.139.wireless.dyn.drei.com) (Ping timeout: 264 seconds)
2021-10-27 16:08:11 +0200ububert
2021-10-27 16:09:42 +0200phma_phma
2021-10-27 16:10:06 +0200burnsidesLlama(~burnsides@dhcp168-028.wadham.ox.ac.uk) (Remote host closed the connection)
2021-10-27 16:10:06 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-10-27 16:10:16 +0200burnsidesLlama(~burnsides@dhcp168-028.wadham.ox.ac.uk)
2021-10-27 16:10:26 +0200burnsidesLlama(~burnsides@dhcp168-028.wadham.ox.ac.uk) (Remote host closed the connection)
2021-10-27 16:10:34 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Ping timeout: 260 seconds)
2021-10-27 16:15:52 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-27 16:16:31 +0200Henson(~kvirc@107-179-133-201.cpe.teksavvy.com) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
2021-10-27 16:20:18 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-27 16:24:15 +0200Inst_(~Inst@2600:1006:b01a:69bf:f8cc:5081:41af:e624)
2021-10-27 16:25:40 +0200Inst__(~Inst@2601:6c4:4080:3f80:6dd4:3be6:70ce:10d9)
2021-10-27 16:25:40 +0200Inst_(~Inst@2600:1006:b01a:69bf:f8cc:5081:41af:e624) (Read error: Network is unreachable)
2021-10-27 16:27:59 +0200Inst(~Inst@2601:6c4:4080:3f80:c4ab:4275:2f29:1458) (Ping timeout: 264 seconds)
2021-10-27 16:36:27 +0200emanuele6(~emanuele6@net-2-36-98-113.cust.vodafonedsl.it)
2021-10-27 16:36:28 +0200emanuele6(~emanuele6@net-2-36-98-113.cust.vodafonedsl.it) (Changing host)
2021-10-27 16:36:28 +0200emanuele6(~emanuele6@user/emanuele6)
2021-10-27 16:42:06 +0200burnsidesLlama(~burnsides@dhcp168-028.wadham.ox.ac.uk)
2021-10-27 16:42:26 +0200ksqsf(~user@211.86.152.198) (Remote host closed the connection)
2021-10-27 16:42:52 +0200mei(~mei@user/mei) (Read error: Connection reset by peer)
2021-10-27 16:44:36 +0200pottsy(~pottsy@2400:4050:b560:3700:7603:23f2:b945:e694)
2021-10-27 16:45:13 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-27 16:45:16 +0200bontaq(~user@ool-45779fe5.dyn.optonline.net)
2021-10-27 16:46:53 +0200burnsidesLlama(~burnsides@dhcp168-028.wadham.ox.ac.uk) (Ping timeout: 264 seconds)
2021-10-27 16:49:28 +0200chele(~chele@user/chele) (Ping timeout: 260 seconds)
2021-10-27 16:50:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-10-27 16:53:50 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection)
2021-10-27 16:54:22 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net)
2021-10-27 16:54:26 +0200Farzad(~FarzadBek@178.131.26.34) (Quit: Leaving)
2021-10-27 16:56:56 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net)
2021-10-27 16:58:50 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 260 seconds)
2021-10-27 17:00:19 +0200pottsy(~pottsy@2400:4050:b560:3700:7603:23f2:b945:e694) (Quit: Leaving)
2021-10-27 17:00:30 +0200pottsy(~pottsy@2400:4050:b560:3700:7603:23f2:b945:e694)
2021-10-27 17:00:49 +0200Sgeo(~Sgeo@user/sgeo)
2021-10-27 17:00:54 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2021-10-27 17:01:18 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55)
2021-10-27 17:02:11 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds)
2021-10-27 17:02:37 +0200fef(~thedawn@user/thedawn)
2021-10-27 17:03:54 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-27 17:04:23 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2021-10-27 17:05:31 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Ping timeout: 245 seconds)
2021-10-27 17:05:53 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55)
2021-10-27 17:15:55 +0200bitmapper(uid464869@id-464869.lymington.irccloud.com)
2021-10-27 17:16:57 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com)
2021-10-27 17:21:33 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-10-27 17:23:32 +0200pavonia(~user@user/siracusa)
2021-10-27 17:23:45 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 268 seconds)
2021-10-27 17:24:02 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Remote host closed the connection)
2021-10-27 17:24:27 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-27 17:25:37 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-27 17:31:19 +0200chele(~chele@user/chele)
2021-10-27 17:34:37 +0200jumper149(~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
2021-10-27 17:35:28 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-10-27 17:38:24 +0200lortabac(~lortabac@atoulouse-256-1-14-70.w92-136.abo.wanadoo.fr) (Quit: WeeChat 2.8)
2021-10-27 17:38:27 +0200Guest91(~Guest91@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2021-10-27 17:39:05 +0200CiaoSen(~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2021-10-27 17:41:27 +0200pottsy(~pottsy@2400:4050:b560:3700:7603:23f2:b945:e694) (Quit: Leaving)
2021-10-27 17:43:06 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-10-27 17:46:31 +0200themc47mc47
2021-10-27 17:47:15 +0200Guest73(~Guest73@24-116-245-6.cpe.sparklight.net)
2021-10-27 17:49:04 +0200 <Guest73> Having some trouble running wai server (I think the problem is there, I'm trying to get a servant API up). To reproduce:
2021-10-27 17:49:38 +0200 <Guest73> stack new my-project servant; cd my-project; stack build; stack exec my-project-exe
2021-10-27 17:49:42 +0200 <Guest73> freezes there. help?
2021-10-27 17:49:47 +0200echoSMILE(~echoSMILE@user/echosmile) (Quit: Client closed)
2021-10-27 17:51:00 +0200 <c_wraith> how is "freezes" distinct from "works correctly"?
2021-10-27 17:51:18 +0200 <c_wraith> It is supposed to block there
2021-10-27 17:51:40 +0200 <Guest73> shouldn't it report that it's running on {port} or something? if I browse to localhost:8080 I get a blank page
2021-10-27 17:52:17 +0200 <c_wraith> a blank page or an error page?
2021-10-27 17:52:32 +0200 <c_wraith> because if there wasn't a server running on localhost at port 8080, you'd get an error page
2021-10-27 17:53:15 +0200 <Guest73> blank when i use firefox. 404 when i use chromium
2021-10-27 17:53:16 +0200 <c_wraith> that is, your browser would tell you it can't connect
2021-10-27 17:53:24 +0200 <c_wraith> 404 means there is a server running
2021-10-27 17:54:03 +0200 <c_wraith> not running would be "can't find the server at localhost:8080"
2021-10-27 17:54:25 +0200 <Guest73> ok, pebkac for sure
2021-10-27 17:54:27 +0200 <c_wraith> now, it's possible something is still broken.
2021-10-27 17:54:40 +0200evertedsphere(uid434122@id-434122.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-10-27 17:54:45 +0200 <c_wraith> It could be the case that something *else* is running on localhost:8080
2021-10-27 17:55:01 +0200 <Guest73> no i'm good, was just confused, thanks. localhost:8080/users returns expected results
2021-10-27 17:55:07 +0200 <c_wraith> ah, good
2021-10-27 17:55:20 +0200bongobrown(~bongobrow@cpe-76-185-215-2.satx.res.rr.com)
2021-10-27 17:56:51 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Remote host closed the connection)
2021-10-27 17:57:11 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.3)
2021-10-27 17:57:29 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-10-27 17:59:52 +0200bongobrown(~bongobrow@cpe-76-185-215-2.satx.res.rr.com) (Remote host closed the connection)
2021-10-27 18:00:02 +0200werneta_(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2021-10-27 18:00:05 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-27 18:00:30 +0200lbseale(~lbseale@user/ep1ctetus)
2021-10-27 18:01:07 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2021-10-27 18:01:26 +0200Guest73(~Guest73@24-116-245-6.cpe.sparklight.net) (Quit: Client closed)
2021-10-27 18:02:11 +0200chele(~chele@user/chele) (Ping timeout: 245 seconds)
2021-10-27 18:02:43 +0200burnsidesLlama(~burnsides@dhcp168-028.wadham.ox.ac.uk)
2021-10-27 18:05:46 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2021-10-27 18:05:59 +0200thyriaen(~thyriaen@dynamic-077-013-059-156.77.13.pool.telefonica.de)
2021-10-27 18:10:51 +0200 <dsal> Is it possible to compose FromRow instances in PostgreSQL-simple? I might try it and see what happens.
2021-10-27 18:11:21 +0200nschoe_(~quassel@178.251.84.79) (Ping timeout: 245 seconds)
2021-10-27 18:16:55 +0200hippoid(~idris@184.105.6.88)
2021-10-27 18:17:42 +0200vpan(~0@212.117.1.172) (Quit: Leaving.)
2021-10-27 18:18:32 +0200Guest91(~Guest91@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Client closed)
2021-10-27 18:19:06 +0200 <hippoid> :t (>>=) (Just (Just 1)) id
2021-10-27 18:19:07 +0200 <lambdabot> Num b => Maybe b
2021-10-27 18:19:17 +0200 <hippoid> :t (>>=)
2021-10-27 18:19:18 +0200 <lambdabot> Monad m => m a -> (a -> m b) -> m b
2021-10-27 18:20:03 +0200 <hippoid> Why am I able to pass `id`, when (>>=) requires a (a-> m b) for the 2nd arg, and `id` is (a->a)?
2021-10-27 18:20:28 +0200 <hippoid> I thought I'd need a (a -> m b) for the 2nd arg of >>=
2021-10-27 18:21:03 +0200 <c_wraith> hippoid: a can be m b
2021-10-27 18:21:12 +0200 <c_wraith> hippoid: then id :: m b -> m b
2021-10-27 18:21:45 +0200 <hippoid> ah right, something about universal quantification?
2021-10-27 18:21:59 +0200 <c_wraith> yes. and unification in general
2021-10-27 18:22:45 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-10-27 18:23:01 +0200 <c_wraith> When you look at the types of id and (>>=), the a in each type is a different type variable. that's the universal quantification part
2021-10-27 18:23:21 +0200 <c_wraith> So when you unify the types, those variables are different
2021-10-27 18:23:54 +0200 <c_wraith> So you can say "the a from id is the same as the m b from from (>>=)" to unify those types
2021-10-27 18:24:21 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2021-10-27 18:24:30 +0200 <hippoid> I try to learn more unification, but I don't find any resources where the unification constraints are solved in something other than writing out a full program to solve it. I'd rather solve the unification constraints with paper at first, to get a better intuition about it.
2021-10-27 18:24:45 +0200 <hippoid> Do you recommend any resources that are like that?
2021-10-27 18:25:44 +0200 <yrlnry> Does lambdabot have a help function? I tried `:h` `:help` :?` but got no response.
2021-10-27 18:26:27 +0200 <geekosaur> not much of one
2021-10-27 18:26:30 +0200 <geekosaur> @help
2021-10-27 18:26:30 +0200 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
2021-10-27 18:26:33 +0200 <geekosaur> @list
2021-10-27 18:26:34 +0200 <lambdabot> What module? Try @listmodules for some ideas.
2021-10-27 18:27:02 +0200 <yrlnry> Thanks.
2021-10-27 18:30:25 +0200dsrt^(~dsrt@wsip-68-227-92-38.mc.at.cox.net) (Ping timeout: 260 seconds)
2021-10-27 18:31:30 +0200 <geekosaur> this only does a subset of the commands plus one I added back when I was running one, but it's also the only reference I'm aware of for the admin commands. http://users.ece.cmu.edu/~allbery/lambdabot/COMMANDS.more
2021-10-27 18:32:06 +0200fef(~thedawn@user/thedawn) (Remote host closed the connection)
2021-10-27 18:32:41 +0200fef(~thedawn@user/thedawn)
2021-10-27 18:35:30 +0200dsrt^(~dsrt@wsip-68-227-92-38.mc.at.cox.net)
2021-10-27 18:35:47 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 264 seconds)
2021-10-27 18:40:12 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55)
2021-10-27 18:40:44 +0200vicfred(~vicfred@user/vicfred)
2021-10-27 18:42:16 +0200anotherbruce[m](~anotherbr@2001:470:69fc:105::1:2548)
2021-10-27 18:44:00 +0200econo(uid147250@user/econo)
2021-10-27 18:47:32 +0200echoSMILE(~echoSMILE@user/echosmile)
2021-10-27 18:48:05 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 264 seconds)
2021-10-27 18:51:19 +0200guniberas(~guniberas@42.191.188.121) (Ping timeout: 268 seconds)
2021-10-27 18:52:31 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
2021-10-27 18:59:36 +0200maxime_(~maxime@2a01cb0883359800dd400544f01795c9.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2021-10-27 19:00:37 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
2021-10-27 19:02:47 +0200aegon(~mike@174.127.249.180)
2021-10-27 19:05:10 +0200jstolarek(~jstolarek@137.220.120.162)
2021-10-27 19:05:46 +0200mbuf(~Shakthi@122.178.244.237) (Quit: Leaving)
2021-10-27 19:25:01 +0200Null_A(~null_a@2601:645:8700:2290:25a5:cf0c:746a:f835)
2021-10-27 19:30:20 +0200statusbot(~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Remote host closed the connection)
2021-10-27 19:30:34 +0200statusbot(~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com)
2021-10-27 19:39:19 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Remote host closed the connection)
2021-10-27 19:44:29 +0200kupi(uid212005@id-212005.hampstead.irccloud.com)
2021-10-27 19:46:47 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55)
2021-10-27 19:47:51 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-27 19:48:00 +0200jstolarek(~jstolarek@137.220.120.162) (Ping timeout: 260 seconds)
2021-10-27 19:53:13 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-10-27 19:56:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-27 19:59:24 +0200ystael(~ystael@user/ystael) (Read error: Connection reset by peer)
2021-10-27 20:01:12 +0200echoSMILE7(~echoSMILE@user/echosmile)
2021-10-27 20:01:44 +0200echoSMILE7echosmile7000
2021-10-27 20:01:44 +0200fef(~thedawn@user/thedawn) (Quit: Leaving)
2021-10-27 20:02:13 +0200ystael(~ystael@user/ystael)
2021-10-27 20:02:40 +0200echoSMILE(~echoSMILE@user/echosmile) (Ping timeout: 256 seconds)
2021-10-27 20:02:40 +0200hippoid(~idris@184.105.6.88) (Quit: Lost terminal)
2021-10-27 20:04:18 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 268 seconds)
2021-10-27 20:05:58 +0200zincy_(~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e)
2021-10-27 20:07:11 +0200justache(~justache@user/justache) (Quit: The Lounge - https://thelounge.chat)
2021-10-27 20:07:18 +0200zincy_89(~zincy_@2a00:23c8:970c:4801:45df:961b:bdc0:266e)
2021-10-27 20:08:02 +0200justache(~justache@user/justache)
2021-10-27 20:11:56 +0200ystael(~ystael@user/ystael) (Read error: Connection reset by peer)
2021-10-27 20:14:47 +0200echosmile7000(~echoSMILE@user/echosmile) (Quit: Client closed)
2021-10-27 20:15:39 +0200vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2021-10-27 20:21:36 +0200vicfred(~vicfred@user/vicfred)
2021-10-27 20:25:15 +0200alx741(~alx741@181.196.69.72)
2021-10-27 20:25:57 +0200 <zincy_> ski: I am back, sorry it took a while, I think your explanation makes sense thanks!
2021-10-27 20:26:23 +0200max22-(~maxime@2a01cb0883359800f0a95b292418059d.ipv6.abo.wanadoo.fr)
2021-10-27 20:26:24 +0200echoSMILE(~echoSMILE@user/echosmile)
2021-10-27 20:28:12 +0200max22-(~maxime@2a01cb0883359800f0a95b292418059d.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2021-10-27 20:30:41 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-10-27 20:31:08 +0200td_(~td@muedsl-82-207-238-060.citykom.de) (Ping timeout: 260 seconds)
2021-10-27 20:32:46 +0200td_(~td@94.134.91.76)
2021-10-27 20:34:08 +0200max22-(~maxime@2a01cb0883359800761b1c69d9198b7f.ipv6.abo.wanadoo.fr)
2021-10-27 20:34:45 +0200unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
2021-10-27 20:36:40 +0200 <unit73e> looks like HLS doesn't like Paths_* with GHC 9.0.1 for some reason
2021-10-27 20:36:57 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Remote host closed the connection)
2021-10-27 20:36:58 +0200 <unit73e> I'm using the latest releases
2021-10-27 20:38:06 +0200 <unit73e> I'm going to complete the text example and share here to see if it's just me. It will take a while though.
2021-10-27 20:39:27 +0200 <unit73e> also hello
2021-10-27 20:40:59 +0200 <shapr> hi unit73e !
2021-10-27 20:41:25 +0200 <shapr> unit73e: you may get a response from the devs on #haskell-language-server
2021-10-27 20:41:34 +0200 <shapr> high latency, but probably at some point :-)
2021-10-27 20:41:42 +0200 <shapr> or you could report a bug on the github repo
2021-10-27 20:42:06 +0200 <unit73e> shapr, thanks. I'll do that. My bet is that it's not very compatible with 9.x yet
2021-10-27 20:42:44 +0200 <unit73e> or I'm being a noob lol
2021-10-27 20:43:47 +0200boxscape_(~boxscape_@i577BCBDC.versanet.de)
2021-10-27 20:46:23 +0200 <boxscape_> I don't need this for anything at the moment but I'm curious - is there a combinator you could replace <*> with in `gcd <*> minimum <$> maximum` that would evaluate minimum and maximum in parallel?
2021-10-27 20:46:25 +0200 <boxscape_> (in this particular case you could implement a function that computes the minimum and maximum in one pass, but other cases might not allow this)
2021-10-27 20:47:22 +0200 <boxscape_> (I suppose maybe you would have to use something other than <$> as well)
2021-10-27 20:48:47 +0200 <awpr> this looks like the Applicative instance of https://hackage.haskell.org/package/foldl-1.4.12/docs/Control-Foldl.html
2021-10-27 20:49:07 +0200 <boxscape_> Ah, nice, thank you
2021-10-27 20:49:23 +0200 <awpr> generally "I want the Applicative operators to mean parallel/concurrent/simultaneous operation" means "I want something that's intentionally not also a Monad"
2021-10-27 20:49:31 +0200 <boxscape_> right, that makes sense
2021-10-27 20:49:39 +0200 <awpr> unless you're Haxl, which just ignores that law
2021-10-27 20:49:45 +0200 <awpr> (last I heard)
2021-10-27 20:56:05 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55) (Remote host closed the connection)
2021-10-27 20:56:36 +0200 <remexre> 2 unrelated questions
2021-10-27 20:56:53 +0200 <remexre> - are lawful monad instances unique?
2021-10-27 20:57:04 +0200mei(~mei@user/mei)
2021-10-27 20:57:39 +0200Guest30(~Guest30@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2021-10-27 20:57:43 +0200Guest30(~Guest30@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Client Quit)
2021-10-27 20:57:47 +0200 <monochrom> No.
2021-10-27 20:58:12 +0200Guest21(~Guest21@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2021-10-27 20:59:57 +0200Inst_(~Inst@2601:6c4:4080:3f80:9ce5:6f05:3959:43f5)
2021-10-27 20:59:57 +0200 <remexre> is there a noteworthy counterexample?
2021-10-27 21:01:10 +0200 <remexre> second question, what logging library do people recommend for an application that's mostly ResourceT (ReaderT r IO), so I'm only really logging in IO. Ideally it'd have structured logging (via Generic?), at least three log levels, and be configurable
2021-10-27 21:01:59 +0200 <monochrom> I think that something like tardis shows that S->(a,S) can be a monad in two ways. (And then tardis goes on to combine them into one monster monad.)
2021-10-27 21:02:44 +0200 <monochrom> OTOH I know a lengthy proof of why, e.g., "data P a = MkP a a" is a monad in a unique way.
2021-10-27 21:03:07 +0200 <monochrom> So, uniqueness happens for some types but not some others.
2021-10-27 21:03:11 +0200 <remexre> what's the way that isn't the normal state monad? for s->(a, s)?
2021-10-27 21:03:16 +0200 <remexre> or is that only for concrete S
2021-10-27 21:03:22 +0200 <maerwald> remexre: roll your own logger
2021-10-27 21:03:28 +0200 <maerwald> it takes only a couple of lines
2021-10-27 21:03:39 +0200 <remexre> maerwald: fair, ok
2021-10-27 21:03:51 +0200Inst__(~Inst@2601:6c4:4080:3f80:6dd4:3be6:70ce:10d9) (Ping timeout: 245 seconds)
2021-10-27 21:03:58 +0200 <remexre> oh wait tardis is a package not a username lol
2021-10-27 21:04:06 +0200 <remexre> oh neat
2021-10-27 21:04:12 +0200 <maerwald> even if you shove it into ReaderT or use LabelOptics, it's still only a couple of lines
2021-10-27 21:04:44 +0200 <maerwald> logging is, imo, application specific
2021-10-27 21:05:03 +0200 <maerwald> no point fighting libraries
2021-10-27 21:05:12 +0200 <remexre> LabelOptics == the Optics.Label module?
2021-10-27 21:05:46 +0200 <maerwald> yeah
2021-10-27 21:06:40 +0200 <maerwald> it's a neat way to separate your application state elegantly
2021-10-27 21:06:45 +0200 <remexre> huh, should I be using optics-core, etc; if I'm using microlens now?
2021-10-27 21:06:59 +0200 <remexre> yeah not having to namespace my record fields would be very nice :)
2021-10-27 21:07:16 +0200kuribas(~user@ptr-25vy0i9jhzblfidtsev.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-10-27 21:07:18 +0200 <monochrom> Oh yeah actually logging, or simply the writer monad, may show two ways of being a monad.
2021-10-27 21:07:23 +0200 <remexre> been waiting for ghc2021 for the record changes, but if this works, might as well use it
2021-10-27 21:07:38 +0200 <remexre> monochrom: oh, take-rightmost versus join-left-and-right?
2021-10-27 21:07:48 +0200 <remexre> or is that unlawful
2021-10-27 21:07:49 +0200 <maerwald> yeah, never used Write for logging... I print to screen or write to log files
2021-10-27 21:08:03 +0200 <boxscape_> I did find a couple of the features in RIOs logging library quite nice, like displaying the line/column of the logging call (via a HasCallStack constraint) when you're in verbose mode
2021-10-27 21:08:11 +0200 <monochrom> join right and left
2021-10-27 21:08:45 +0200 <boxscape_> (admittedly still fairly easy to write but I wouldn't have thought on it without using a logging library)
2021-10-27 21:08:48 +0200 <boxscape_> s/on/of
2021-10-27 21:09:10 +0200 <monochrom> W a w1 >>= k = case unW (k a) of W b w2 -> W b (w2 <> w1) -- so, the other order
2021-10-27 21:09:33 +0200 <remexre> ah yeah
2021-10-27 21:09:51 +0200ss4(~wootehfoo@user/wootehfoot)
2021-10-27 21:09:52 +0200 <maerwald> I forgot... doesn't Writer leak memory?
2021-10-27 21:09:54 +0200 <remexre> yeah I'll probably do HasCallStack too; never used rio, but from the readme it sounds potentially nice
2021-10-27 21:10:09 +0200 <remexre> yeah, I think the standard advice is to always use State to impl Writer
2021-10-27 21:11:00 +0200 <monochrom> Some ways of using Writer leaks memory. But some other ways don't. I'm a scientist and when I see both I attribute to the difference, not the commonality.
2021-10-27 21:11:26 +0200 <monochrom> But programmers are pastors not scientists.
2021-10-27 21:11:46 +0200 <zincy_> Programmers should be scientists
2021-10-27 21:12:04 +0200 <maerwald> There's no such separation of programmer vs scientist.
2021-10-27 21:12:11 +0200 <monochrom> "pastors" means people who write weekly blogs on their religious beliefs.
2021-10-27 21:12:30 +0200 <zincy_> I feel like at the heart of every emotional opinion in software there is a deep truth which can be explained rationally
2021-10-27 21:12:46 +0200 <geekosaur> not always
2021-10-27 21:12:49 +0200 <monochrom> zincy_: Politicians should be honest, rational, and moral people, too. Bwahahahaha.
2021-10-27 21:13:01 +0200 <geekosaur> programming has its share of flat-earthers
2021-10-27 21:13:10 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds)
2021-10-27 21:13:11 +0200 <zincy_> hahaha
2021-10-27 21:13:14 +0200 <maerwald> The thing is... programming isn't just about technology. It's also about art.
2021-10-27 21:14:16 +0200 <zincy_> What I mean to say isnt that every programmer opinion is valid but its either logically falsifiable or nonsense and can be just discarded
2021-10-27 21:14:29 +0200 <zincy_> I guess I just negated myself oops
2021-10-27 21:14:31 +0200 <maerwald> Well, it isn't that easy.
2021-10-27 21:14:41 +0200 <maerwald> Because once *art* is involved, opinion becomes more complicated.
2021-10-27 21:14:50 +0200 <unit73e> imo programming itself doesn't really make you a scientist, engineer or flat-earther imo, it depends on what you do
2021-10-27 21:14:59 +0200 <unit73e> I like doing simple programs correctly
2021-10-27 21:15:05 +0200 <zincy_> I believe a lot more of the *art* is logic/science than people realise
2021-10-27 21:15:11 +0200 <unit73e> some like adding features and making things pretty
2021-10-27 21:15:16 +0200 <zincy_> Thats what I am trying to get across
2021-10-27 21:15:18 +0200 <maerwald> zincy_: I don't understand that sentence
2021-10-27 21:15:57 +0200 <maerwald> unit73e: sounds like you *believe* in the unix principle. It has mostly been lost today.
2021-10-27 21:16:47 +0200 <maerwald> The latest addition to the anti-unix fleet has been nix. Now apparently, you can't do anything without it (like... installing GHCJS).
2021-10-27 21:16:52 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:197f:30be:cf5f:af55)
2021-10-27 21:17:01 +0200boxscape_(~boxscape_@i577BCBDC.versanet.de) (Quit: Connection closed)
2021-10-27 21:17:01 +0200 <zincy_> A lot of seemingly subjective statements programmers make can be ruled out as wrong even though they *feel* subjective
2021-10-27 21:17:07 +0200 <unit73e> maerwald, yeah I guess it's becoming rare but I see it resurecting often. One example, IDEs are being replaced with modular editors. Not perfect but better than nothing.
2021-10-27 21:17:29 +0200 <maerwald> well, I'm not sure how I feel about LSP
2021-10-27 21:17:43 +0200 <geekosaur> so they're reinventing emacs (probably poorly)?
2021-10-27 21:19:05 +0200 <unit73e> yup
2021-10-27 21:19:05 +0200 <unit73e> that's what vscode and friends are
2021-10-27 21:19:05 +0200 <unit73e> and atom
2021-10-27 21:19:05 +0200 <maerwald> I mean... now we have client-server architecture everywhere and my editor consumes large chunks of json that gets then dumped into my home folder and that I have to look at pretty often, because the server crashes or my client forgot what to do
2021-10-27 21:19:05 +0200 <unit73e> I use neovim but emacs is nice
2021-10-27 21:19:05 +0200 <geekosaur> atom I can surely say does so poorly; I waited a few versions for it to stabilize, installed it, ran it, leaving it open overnight nearly killed my system
2021-10-27 21:19:05 +0200Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2021-10-27 21:19:05 +0200 <geekosaur> uninstalled it and didn't look back
2021-10-27 21:19:05 +0200Feuermagier(~Feuermagi@user/feuermagier)
2021-10-27 21:19:08 +0200 <geekosaur> I may try vscode at some point but am betting it's not much better
2021-10-27 21:19:20 +0200 <unit73e> vscode is better but it's kind of weird in some ways
2021-10-27 21:19:41 +0200 <maerwald> vscode was bearable with the vim plugin, but it had a lot of shortcomings and bugs
2021-10-27 21:20:39 +0200Guest21(~Guest21@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Client closed)
2021-10-27 21:22:30 +0200 <maerwald> it feels more like a social media platform to me... there's constantly popups and stuff trying to get my attention
2021-10-27 21:22:56 +0200 <unit73e> that's one thing I don't like about vscode
2021-10-27 21:23:00 +0200 <geekosaur> this is making me want to stay with emacs
2021-10-27 21:23:14 +0200 <unit73e> vscode feels like IDE light
2021-10-27 21:23:22 +0200 <unit73e> too much distractions
2021-10-27 21:23:28 +0200zincy_(~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection)
2021-10-27 21:23:28 +0200zincy_89(~zincy_@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Quit: Client closed)
2021-10-27 21:23:38 +0200 <maerwald> those give you dopamine kicks and increase screen time
2021-10-27 21:23:53 +0200 <unit73e> but it's the best GUI only editor I've used so far
2021-10-27 21:24:02 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net)
2021-10-27 21:24:03 +0200 <unit73e> that's something
2021-10-27 21:24:06 +0200 <maerwald> not a coincidence that MS spearheaded all this popup nonsense
2021-10-27 21:24:12 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2021-10-27 21:24:32 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection)
2021-10-27 21:24:50 +0200 <unit73e> I feel like it was some Microsoft Joe that was sick and tired of Visual Studio that made vscode
2021-10-27 21:25:06 +0200 <maerwald> https://github.com/microsoft/vscode/issues/14840
2021-10-27 21:25:30 +0200 <maerwald> "I am CONSTANTLY hitting escape to get rid of them so I can see my code."
2021-10-27 21:25:32 +0200 <maerwald> xD
2021-10-27 21:26:05 +0200 <monochrom> s/Joe/Bob/ # right? RIGHT? >:)
2021-10-27 21:26:29 +0200 <unit73e> lol Bob is better yes
2021-10-27 21:26:36 +0200 <monochrom> or Paperclip
2021-10-27 21:27:10 +0200zincy_(~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e)
2021-10-27 21:27:29 +0200 <maerwald> but vscode has a nice plugin where you can save your settings into a github gist
2021-10-27 21:30:47 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net)
2021-10-27 21:32:10 +0200 <sm> vscode is great (even as a lifelong emacser)
2021-10-27 21:32:16 +0200 <sm> the power to weight ratio is high!
2021-10-27 21:36:21 +0200 <jneira[m]> i missed the total power to customize emacs last time i had to fight with the vscode api
2021-10-27 21:38:10 +0200 <maerwald> if I was new to programming today, I totally would pick vscode
2021-10-27 21:38:14 +0200zincy_(~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection)
2021-10-27 21:38:29 +0200zincy_(~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e)
2021-10-27 21:38:37 +0200 <maerwald> the only reason I stuck to vim was that I had a phase where I enjoyed wasting days and days configuring it
2021-10-27 21:39:24 +0200 <geekosaur> I did most of my emacs configuration in the mid-80s :þ
2021-10-27 21:40:01 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-10-27 21:40:02 +0200 <geekosaur> I think the only change I've had to make since then is (require 'cl) instead of the old common lisp compatibility stuff
2021-10-27 21:40:24 +0200 <geekosaur> well, and adding haskell-mode :)
2021-10-27 21:42:53 +0200 <zincy_> mid-80s wow
2021-10-27 21:43:45 +0200 <maerwald> there was great music back then
2021-10-27 21:43:53 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 264 seconds)
2021-10-27 21:43:58 +0200 <maerwald> and software was still fast
2021-10-27 21:44:29 +0200 <geekosaur> actually I have that backwards, common lisp compat is now standard and I had to remove (require 'cl)
2021-10-27 21:44:58 +0200 <monochrom> https://www.gnu.org/fun/jokes/ed-msg.en.html
2021-10-27 21:45:21 +0200AWizzArd_AWizzArd
2021-10-27 21:45:32 +0200 <monochrom> Note how emacs took up 6e37 bytes.
2021-10-27 21:46:37 +0200danso(~danso@23-233-111-52.cpe.pppoe.ca) (Quit: WeeChat 3.2)
2021-10-27 21:47:01 +0200 <zincy_> Im sure I read somewhere that Bryan O Sullivan still uses Ed
2021-10-27 21:47:09 +0200 <monochrom> (Note how the whole world could not possibly have that much disk space back then :) )
2021-10-27 21:47:58 +0200 <sm> I got legimitately use ed for work yesterday
2021-10-27 21:48:30 +0200 <sm> I needed to insert the contents of a file after a certain line in another file
2021-10-27 21:49:02 +0200geekosaurused to script ed in buildscripts. (didn't get to use fancy build systems, they wouldn't even try to build on the pmaxen)
2021-10-27 21:49:03 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-10-27 21:49:08 +0200pbrisbin(~patrick@pool-173-49-152-45.phlapa.fios.verizon.net) (Quit: WeeChat 3.3)
2021-10-27 21:49:24 +0200pbrisbin(~patrick@pool-173-49-152-45.phlapa.fios.verizon.net)
2021-10-27 21:49:28 +0200 <sm> correction, I needed to insert a bash heredoc after a certain line
2021-10-27 21:49:46 +0200 <monochrom> Nice, maybe I should teach ed in my unix course too.
2021-10-27 21:49:48 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com)
2021-10-27 21:50:09 +0200 <zincy_> you're teaching a course just on unix?
2021-10-27 21:50:15 +0200pbrisbin(~patrick@pool-173-49-152-45.phlapa.fios.verizon.net) (Client Quit)
2021-10-27 21:51:08 +0200 <monochrom> Don't worry, it would be pitched as another program you could use in a shell script, for inserting a file into the middle of another file, like you said.
2021-10-27 21:51:51 +0200 <monochrom> I teach a c-and-unix course in summers.
2021-10-27 21:52:41 +0200JimL(~quassel@89-162-2-132.fiber.signal.no)
2021-10-27 21:53:01 +0200 <zincy_> oh cool
2021-10-27 21:53:07 +0200JimL(~quassel@89-162-2-132.fiber.signal.no) (Client Quit)
2021-10-27 21:53:26 +0200JimL(~quassel@89-162-2-132.fiber.signal.no)
2021-10-27 21:55:46 +0200 <maerwald> "how to configure systemd"
2021-10-27 21:56:39 +0200 <monochrom> I think something smug like "you don't configure it, you program it" is in order :)
2021-10-27 21:56:46 +0200thyriaen(~thyriaen@dynamic-077-013-059-156.77.13.pool.telefonica.de) (Remote host closed the connection)
2021-10-27 21:56:56 +0200bongobrown(~bongobrow@cpe-76-185-215-2.satx.res.rr.com)
2021-10-27 21:57:29 +0200 <monochrom> Aaannnddd.... let's have a sequel to the "what's interpreter vs compiler" discussion....
2021-10-27 21:57:36 +0200lavaman(~lavaman@98.38.249.169)
2021-10-27 21:57:42 +0200 <monochrom> What's configuration vs programming? >:)
2021-10-27 21:58:39 +0200 <trcc> I have a function that in success cases returns a stablePointer, but in failure cases I have to return a nullPtr. However, stablePtr and nullPtr do not seem to match very well, i.e. expected type: IO (StablePtr (IORef (FMIT.FMIComponent a))) Actual type: IO (Ptr a0)
2021-10-27 21:58:45 +0200 <trcc> am I being to explicit about my type or?
2021-10-27 21:58:52 +0200 <maerwald> configuration is what I don't get paid for
2021-10-27 21:59:38 +0200 <geekosaur> https://github.com/CleverRaven/Cataclysm-DDA/blob/master/data/json/portal_storm_effect_on_conditio…
2021-10-27 22:01:11 +0200 <monochrom> ooohhh... using the amount of {}s to define "programming" :)
2021-10-27 22:02:35 +0200 <maerwald> "software engineer" is just a marketing term
2021-10-27 22:02:47 +0200dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2021-10-27 22:02:49 +0200 <maerwald> it looks better on my CV
2021-10-27 22:03:22 +0200 <maerwald> what if I wrote "I put libraries together, of which I don't understand 95%"
2021-10-27 22:03:46 +0200 <monochrom> trcc: So perhaps you should always return Ptr. In the success case, use castStablePtrToPtr.
2021-10-27 22:03:58 +0200 <jneira[m]> put the program in the configuration and bang, money again
2021-10-27 22:03:58 +0200 <sm> software technician
2021-10-27 22:07:07 +0200ubert(~Thunderbi@91.141.46.110.wireless.dyn.drei.com) (Quit: ubert)
2021-10-27 22:07:10 +0200juhp(~juhp@128.106.188.220)
2021-10-27 22:07:25 +0200ubert(~Thunderbi@91.141.46.110.wireless.dyn.drei.com)
2021-10-27 22:09:07 +0200 <trcc> monochrom: I am vorried about Ptr because it shall not be garbage collected, therefore StablePtr
2021-10-27 22:09:40 +0200oxide(~lambda@user/oxide) (Quit: oxide)
2021-10-27 22:11:13 +0200 <monochrom> Pretty sure GC isn't actually told about the types.
2021-10-27 22:11:53 +0200JimL(~quassel@89-162-2-132.fiber.signal.no) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-10-27 22:14:48 +0200JimL(~quassel@89-162-2-132.fiber.signal.no)
2021-10-27 22:15:00 +0200alx741(~alx741@181.196.69.72) (Ping timeout: 260 seconds)
2021-10-27 22:15:06 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-10-27 22:15:21 +0200lavaman(~lavaman@98.38.249.169)
2021-10-27 22:15:21 +0200 <monochrom> Also pretty sure Ptr obtained from malloc is not GCed or moved either.
2021-10-27 22:15:28 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-10-27 22:15:58 +0200 <monochrom> And Ptr obtained from alloca, in the duration when the alloca call hasn't terminated.
2021-10-27 22:17:09 +0200acidjnk_new(~acidjnk@p200300d0c7238d76b9ac87bdf676c186.dip0.t-ipconnect.de)
2021-10-27 22:17:29 +0200 <monochrom> Generally anything that says "you need to call freeFoo or write a finalizer to free".
2021-10-27 22:18:19 +0200 <trcc> monochrom: thanks, but it is because of the docs in StablePtr that reads: "A stable pointer is a reference to a Haskell expression that is guaranteed not to be affected by garbage collection, i.e., it will neither be deallocated nor will the value of the stable pointer itself change during garbage collection (ordinary references may be relocated during garbage collection). Consequently, stable pointers can be passed to fore
2021-10-27 22:18:19 +0200 <trcc> ign code, which can treat it as an opaque reference to a Haskell value."
2021-10-27 22:18:26 +0200 <trcc> and I am exactly passing it to foreign code
2021-10-27 22:19:52 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2021-10-27 22:20:01 +0200 <trcc> anywas, found a castPtrToStablePtr
2021-10-27 22:22:16 +0200JimL(~quassel@89-162-2-132.fiber.signal.no) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-10-27 22:23:37 +0200burnsidesLlama(~burnsides@dhcp168-028.wadham.ox.ac.uk) (Remote host closed the connection)
2021-10-27 22:24:32 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-10-27 22:24:41 +0200JimL(~quassel@89-162-2-132.fiber.signal.no)
2021-10-27 22:26:41 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-27 22:27:37 +0200alx741(~alx741@186.178.109.79)
2021-10-27 22:35:55 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-10-27 22:40:33 +0200 <dsal> I have a simple enum sum type and a function that takes one of those and some arbitrary `a`. Is there a way I can constrain the `a` to be of a type associated with a value from that sum?
2021-10-27 22:40:59 +0200betelgeuse(~betelgeus@94-225-47-8.access.telenet.be) (Quit: The Lounge - https://thelounge.chat)
2021-10-27 22:41:13 +0200 <dsal> I feel like there's some kind of datakinds magic. Basically, I want to be able to call `f True a` but not `f False a`
2021-10-27 22:41:19 +0200ss4(~wootehfoo@user/wootehfoot) (Ping timeout: 258 seconds)
2021-10-27 22:43:53 +0200unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Ping timeout: 246 seconds)
2021-10-27 22:46:00 +0200lavaman(~lavaman@98.38.249.169)
2021-10-27 22:48:47 +0200mei(~mei@user/mei) (Read error: Connection reset by peer)
2021-10-27 22:50:37 +0200 <AWizzArd> Linear: when I have foo :: Int 1%-> Double and inside foo I want to call `bar` and pass it that Int argument, does then `bar` also have to accept a linear argument. Does this linearity get passed on/inherited?
2021-10-27 22:50:40 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2021-10-27 22:50:50 +0200Cajun(~Cajun@user/cajun) (Quit: Client closed)
2021-10-27 22:51:02 +0200Cajun(~Cajun@user/cajun)
2021-10-27 22:55:33 +0200 <geekosaur> I would be surprised if passing a parameter was a gtet out of jail free card for linearity
2021-10-27 22:56:42 +0200jstolarek(~jstolarek@137.220.120.162)
2021-10-27 22:59:41 +0200burnsidesLlama(~burnsides@dhcp168-028.wadham.ox.ac.uk)
2021-10-27 23:00:02 +0200alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-10-27 23:00:23 +0200alzgh(~alzgh@user/alzgh)
2021-10-27 23:00:28 +0200 <AWizzArd> geekosaur: I would also assume that this constraint will get passed on.
2021-10-27 23:01:12 +0200 <AWizzArd> geekosaur: But what about `dup`? Or is it called `dup2`? It seems that I can do: let (x', x'') = dup x
2021-10-27 23:01:24 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-27 23:01:37 +0200 <AWizzArd> Now x is consumed and I can't use it anymore. But I have x' and x'' and can/must use both of them.
2021-10-27 23:02:12 +0200 <AWizzArd> So this seems to be a way out of linearity for free. I may be missing something here tho.
2021-10-27 23:03:32 +0200zincy_(~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e) (Remote host closed the connection)
2021-10-27 23:04:00 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 260 seconds)
2021-10-27 23:05:10 +0200burnsidesLlama(~burnsides@dhcp168-028.wadham.ox.ac.uk) (Ping timeout: 260 seconds)
2021-10-27 23:05:23 +0200sedeki(~textual@user/sedeki)
2021-10-27 23:05:27 +0200burnsidesLlama(~burnsides@dhcp168-028.wadham.ox.ac.uk)
2021-10-27 23:08:22 +0200lavaman(~lavaman@98.38.249.169)
2021-10-27 23:08:45 +0200zincy_(~zincy@2a00:23c8:970c:4801:45df:961b:bdc0:266e)
2021-10-27 23:13:11 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-10-27 23:13:57 +0200hendursaga(~weechat@user/hendursaga)
2021-10-27 23:13:59 +0200 <aegon> i'm getting a Thread Terminated and i don't see a reason for it, how can i get more info out of ghc about why its being terminated
2021-10-27 23:18:01 +0200xff0x(~xff0x@2001:1a81:5218:9100:aa26:25c9:f09a:101d) (Ping timeout: 245 seconds)
2021-10-27 23:18:54 +0200 <aegon> derp i was killin it by messing up timeout logic :X
2021-10-27 23:18:55 +0200xff0x(~xff0x@2001:1a81:5218:9100:9942:dd03:d29b:2938)
2021-10-27 23:20:31 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds)
2021-10-27 23:21:06 +0200fendor(~fendor@178.165.200.199.wireless.dyn.drei.com) (Remote host closed the connection)
2021-10-27 23:21:31 +0200alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-10-27 23:21:52 +0200alzgh(~alzgh@user/alzgh)
2021-10-27 23:24:15 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2021-10-27 23:25:31 +0200 <dolio> AWizzArd: What is the type of dup?
2021-10-27 23:25:34 +0200unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
2021-10-27 23:26:12 +0200 <unit73e> Looks like HLS works with Paths_* if I open a file without it first lol. Weird but I guess it's a workaround.
2021-10-27 23:26:41 +0200 <AWizzArd> https://hackage.haskell.org/package/linear-base-0.1.0/docs/Prelude-Linear.html#v:dup2
2021-10-27 23:26:53 +0200 <AWizzArd> dup2 :: a %1 -> (a, a)
2021-10-27 23:28:37 +0200 <dolio> No, that's not the type. :)
2021-10-27 23:28:47 +0200 <dolio> Dupable a => a %1 -> (a, a)
2021-10-27 23:30:23 +0200d0ku(~d0ku@178.43.15.137.ipv4.supernova.orange.pl) (Ping timeout: 264 seconds)
2021-10-27 23:32:42 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-10-27 23:33:01 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-27 23:33:45 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-27 23:33:50 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net)
2021-10-27 23:34:40 +0200 <AWizzArd> dolio: true.
2021-10-27 23:34:56 +0200sedeki(~textual@user/sedeki) (Quit: Textual IRC Client: www.textualapp.com)
2021-10-27 23:35:20 +0200 <AWizzArd> You see, no ghci support here. One more proof that I need Haskell to support me (:
2021-10-27 23:35:59 +0200 <dolio> Some types can be duplicated, say becasue they can be represented in a stable way in memory or something.
2021-10-27 23:36:31 +0200 <dolio> But it's not free, and you can't do it to everything.
2021-10-27 23:37:43 +0200Skyfire(~pyon@user/pyon) (Quit: WeeChat 3.3)
2021-10-27 23:39:35 +0200 <dolio> The linear arrow itself is an example of something that might not be able to be duplicated, because linear functions might be a reification of ephemeral control flow points in the program, like continuations.
2021-10-27 23:40:21 +0200 <dolio> If you duplicate/discard those control flow points, you get the non-deterministic results of, e.g. call/cc.
2021-10-27 23:41:39 +0200 <dolio> So in that sense, it only makes sense to be able to duplicate linear functions that are represented by code.
2021-10-27 23:46:54 +0200echoSMILE(~echoSMILE@user/echosmile) ()
2021-10-27 23:51:39 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Remote host closed the connection)
2021-10-27 23:52:11 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net)
2021-10-27 23:54:16 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-10-27 23:57:05 +0200trcc(~trcc@2-104-60-169-cable.dk.customer.tdc.net) (Ping timeout: 260 seconds)
2021-10-27 23:57:08 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2021-10-27 23:58:27 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-10-27 23:59:37 +0200Guest|12(~Guest|12@89.187.239.178)