2021/03/23

2021-03-23 00:00:23 +0100 <wz1000> its still allowed
2021-03-23 00:00:41 +0100 <Axman6> I was sure there was a change that prevented it but can't remember what it was
2021-03-23 00:01:21 +0100 <wz1000> try writing unsafeCoerce with any imports and SafeHaskell
2021-03-23 00:01:35 +0100romesrf(~romesrf@44.190.189.46.rev.vodafone.pt) (Client Quit)
2021-03-23 00:01:38 +0100 <wz1000> it is possible
2021-03-23 00:02:31 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-23 00:02:57 +0100stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net) (Ping timeout: 264 seconds)
2021-03-23 00:03:32 +0100 <Axman6> bbhoss: are you implementing any other electoral systems? the one we use here is quite interesting, and lends itself quite nicely to using Rational, since you end up with fractional votes
2021-03-23 00:04:08 +0100roconnor(~roconnor@host-45-58-230-226.dyn.295.ca) (Ping timeout: 260 seconds)
2021-03-23 00:04:09 +0100titusg(~user@152.229.6.51.dyn.plus.net) (Ping timeout: 264 seconds)
2021-03-23 00:04:09 +0100 <bbhoss> Axman6: I wasn't planning on it but they are a lot of fun to work through. what is the system?
2021-03-23 00:04:12 +0100stree(~stree@68.36.8.116)
2021-03-23 00:04:41 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
2021-03-23 00:05:29 +0100jacks2(~bc8134e3@217.29.117.252)
2021-03-23 00:05:30 +0100 <Axman6> the actual implementation that's used is open source and available at https://www.elections.act.gov.au/elections_and_voting/electronic_voting_and_counting - it's in C, which scares me. The system, is the Hare-Clark system
2021-03-23 00:05:54 +0100 <Axman6> hmm,according to that page it's written in Ada... but I remember looking at it and could have sworn it was C
2021-03-23 00:06:12 +0100Cerato(~Cerberus@185.207.164.90) (Remote host closed the connection)
2021-03-23 00:07:44 +0100chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2021-03-23 00:09:33 +0100 <bbhoss> I shudder to think what the actual implementation is in here in the US. we are rushing to try to do the first ranked choice elections here in NYC, apparently the software isn't "certified" yet. the smaller ones they've just done by hand apparently
2021-03-23 00:09:36 +0100stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net)
2021-03-23 00:11:14 +0100cabpa_(~cabpa@180.190.165.139) (Remote host closed the connection)
2021-03-23 00:11:18 +0100 <bbhoss> oh it's apparently available on github, +1 to that
2021-03-23 00:11:35 +0100 <bbhoss> https://github.com/BrightSpots/rcv
2021-03-23 00:11:40 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2021-03-23 00:11:41 +0100cabpa_(~cabpa@180.190.165.139)
2021-03-23 00:14:03 +0100stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net) (Ping timeout: 246 seconds)
2021-03-23 00:14:23 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-23 00:14:27 +0100 <bbhoss> of course it's just one huge while loop
2021-03-23 00:15:26 +0100 <Axman6> ha
2021-03-23 00:17:42 +0100 <ski> @wiki Obfuscation -- wz1000
2021-03-23 00:17:42 +0100 <lambdabot> https://wiki.haskell.org/Obfuscation__--_wz1000
2021-03-23 00:17:46 +0100 <ski> er
2021-03-23 00:17:48 +0100 <ski> @wiki Obfuscation
2021-03-23 00:17:48 +0100 <lambdabot> https://wiki.haskell.org/Obfuscation
2021-03-23 00:20:52 +0100jb55(~jb55@gateway/tor-sasl/jb55) (Ping timeout: 268 seconds)
2021-03-23 00:26:34 +0100jess(jess@freenode/staff/jess) (Quit: K-Lined)
2021-03-23 00:27:36 +0100j(jess@freenode/staff/jess)
2021-03-23 00:30:24 +0100solidus-river(~mike@174.127.249.180)
2021-03-23 00:31:09 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-03-23 00:32:25 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-23 00:33:25 +0100jb55(~jb55@gateway/tor-sasl/jb55)
2021-03-23 00:33:30 +0100mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh) (Remote host closed the connection)
2021-03-23 00:34:06 +0100mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh)
2021-03-23 00:37:58 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred)
2021-03-23 00:40:11 +0100jacks2(~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/ (Ping timeout))
2021-03-23 00:42:55 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-23 00:43:26 +0100Tario(~Tario@201.192.165.173)
2021-03-23 00:43:45 +0100cabpa_(~cabpa@180.190.165.139) (Ping timeout: 264 seconds)
2021-03-23 00:44:02 +0100stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net)
2021-03-23 00:44:57 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-23 00:47:09 +0100dsrt^(dsrt@ip98-184-89-2.mc.at.cox.net) ()
2021-03-23 00:48:08 +0100stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net) (Ping timeout: 240 seconds)
2021-03-23 00:48:33 +0100is_null_(~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 264 seconds)
2021-03-23 00:49:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-03-23 00:49:20 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds)
2021-03-23 00:49:29 +0100solarus(~solarus@2a03:b0c0:2:d0::48:7001)
2021-03-23 00:52:07 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.1)
2021-03-23 00:52:33 +0100myShoggoth(~myShoggot@75.164.81.55) (Ping timeout: 245 seconds)
2021-03-23 00:54:44 +0100todda7(~torstein@2a02:587:1b19:7e00:c6c7:4f08:2883:aa95)
2021-03-23 00:55:05 +0100forp(57e3c46d@87.227.196.109)
2021-03-23 00:55:18 +0100is_null(~jpic@pdpc/supporter/professional/is-null)
2021-03-23 00:55:41 +0100nrh^(nrh@ip98-184-89-2.mc.at.cox.net)
2021-03-23 00:56:59 +0100Nik05(~Nik05@unaffiliated/nik05) (Quit: ZNC 1.8.2 - https://znc.in)
2021-03-23 00:57:20 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-03-23 00:58:09 +0100z0k(~user@115.186.169.1) (Ping timeout: 264 seconds)
2021-03-23 00:59:35 +0100Nik05(~Nik05@unaffiliated/nik05)
2021-03-23 00:59:43 +0100usr25(~usr25@unaffiliated/usr25) (Quit: Leaving)
2021-03-23 01:02:45 +0100 <forp> Monads are used in FP as a workaround to producing side-effects. Would you say then monads are useful outside FP?
2021-03-23 01:03:09 +0100 <Axman6> monads are not a workaround for anything
2021-03-23 01:03:29 +0100 <Axman6> if you program in any language, you use monads every day, you just don't call them what they are
2021-03-23 01:03:46 +0100 <Axman6> because of this, the answer to your question is categorically yes
2021-03-23 01:03:46 +0100 <forp> Axman6, can you give an example
2021-03-23 01:04:06 +0100 <pjb> Well, there are implicit monads, (or not, depending on the formal semantics), but you could also have explicit monads.
2021-03-23 01:04:23 +0100 <Axman6> every time you interact with the outside world in a program, every time you deal with pointers which may be null, every time you write a for loop over the items in an array
2021-03-23 01:05:06 +0100 <forp> None of that is a monad.
2021-03-23 01:05:16 +0100 <forp> I think you may be yourself looking through Haskell tinted glasses
2021-03-23 01:05:18 +0100 <Axman6> all of those are monads
2021-03-23 01:06:13 +0100 <Axman6> the premise of your question shows you aren't very familiar with what monads are, so why would you think I'm not?
2021-03-23 01:06:15 +0100 <addem[m]> I never fully got what a monad was. I think they're something like, any type with a bind and a return. So to put it reductively it's one kind of a signature for a module (possibly speaking OCaml here since I know that language slightly more).
2021-03-23 01:06:16 +0100 <addem[m]> But what the hell do I know, amirite?
2021-03-23 01:06:21 +0100 <forp> They really aren't. Just because you need a monad for this in Haskell isn't a proof that everyone does
2021-03-23 01:06:27 +0100 <forp> A monad is an API in haskell
2021-03-23 01:06:30 +0100 <forp> Not the implementation
2021-03-23 01:07:13 +0100 <Axman6> suit yourself
2021-03-23 01:07:32 +0100 <Axman6> the monad type class does not define what a monad is though
2021-03-23 01:07:35 +0100nighmiis all-suited
2021-03-23 01:07:46 +0100 <forp> Axman6, it defines an interface.
2021-03-23 01:08:27 +0100 <forp> Axman6, I just don't think when I, say, to write_file('file.txt', 'Hello') I'm doing anything that fits the definition of a monad
2021-03-23 01:08:47 +0100 <Axman6> there are many things which are monads which we can't imeplement an instance for Monad in Haskell, it's a much more general concept than the Haskell concept
2021-03-23 01:09:31 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 272 seconds)
2021-03-23 01:10:48 +0100 <Axman6> forp: have you ever used a ? operator in any OO language? foo.bar?baz.quux?id?
2021-03-23 01:11:34 +0100 <forp> Axman6, null coalescing?
2021-03-23 01:11:38 +0100 <Axman6> yes
2021-03-23 01:12:08 +0100 <Axman6> it implements exactly the behaviour of the Maybe monad
2021-03-23 01:12:22 +0100 <forp> It does, but does it do it through a monad
2021-03-23 01:12:35 +0100mouseghost(~draco@wikipedia/desperek) (Quit: mew wew)
2021-03-23 01:12:48 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
2021-03-23 01:12:59 +0100 <nighmi> "through" may not be the best preposition here
2021-03-23 01:13:13 +0100 <forp> forp, essentially I wonder if creating Monad types is worth it outside FP.
2021-03-23 01:13:28 +0100 <forp> forp, one "monadic" construction I can think of is Promises
2021-03-23 01:13:29 +0100 <Axman6> have you ever wruitten code which did out = []; for(x in anArray) { for(b in anotherArray) { out.pushBack(someSomethingWith(a,b)); }}?
2021-03-23 01:13:34 +0100 <forp> Axman6*
2021-03-23 01:13:53 +0100 <Axman6> that's the list monad
2021-03-23 01:14:26 +0100 <forp> Okay thanks
2021-03-23 01:15:29 +0100 <Axman6> forp: you might find this useful: https://codon.com/refactoring-ruby-with-monads
2021-03-23 01:15:35 +0100Tario(~Tario@201.192.165.173) (Remote host closed the connection)
2021-03-23 01:15:51 +0100 <forp> Thanks Axman6
2021-03-23 01:16:13 +0100 <Axman6> which is one of my favourite resourtces for helping people "get" what it is to be monadic, without using HAskell
2021-03-23 01:16:56 +0100stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net)
2021-03-23 01:18:20 +0100javran(~javran@108-201-186-97.lightspeed.sntcca.sbcglobal.net)
2021-03-23 01:21:15 +0100stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net) (Ping timeout: 246 seconds)
2021-03-23 01:21:38 +0100average(uid473595@gateway/web/irccloud.com/x-dptrohonzedrpdag) (Quit: Connection closed for inactivity)
2021-03-23 01:22:56 +0100 <javran> Hi folks, I have a simple instance of Contravariant: https://github.com/Javran/unicode-general-category/blob/master/src/Data/Char/GeneralCategory/Predi… I'm wondering if this is easy to do with Generics (I have little to none experience regarding Generics)
2021-03-23 01:23:16 +0100 <forp> Axman6, this is a good talk I didn't expect
2021-03-23 01:24:06 +0100Tario(~Tario@200.119.184.39)
2021-03-23 01:24:44 +0100acidjnk_new(~acidjnk@p200300d0c72b9578819a903e74dd056f.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2021-03-23 01:25:04 +0100 <Axman6> javran: unless you need to do it for lots of types it's probably not worth the effort - I'm guessing Contravariant can't be automatically derived using another mechanism easily either :\
2021-03-23 01:25:39 +0100heatsink(~heatsink@2600:1700:bef1:5e10:90f:37ea:5699:98fc) (Remote host closed the connection)
2021-03-23 01:25:52 +0100 <dmwit> Huh, Contravariant is in base now. Neat.
2021-03-23 01:26:07 +0100 <dmwit> Looks like it already has instances for the relevant Generic stuff, too.
2021-03-23 01:27:06 +0100 <javran> dmwit: yes, that's when I started to wonder - I tried `contramap f p = to (contramap f (from p))`, which didn't work.
2021-03-23 01:27:23 +0100 <Axman6> shouldn't be too hard to add support for deriving it like Functor right?
2021-03-23 01:27:31 +0100 <javran> I probably won't bother to actually do it for such a simple case, just wondering.
2021-03-23 01:27:42 +0100 <Axman6> it makes me sad that doesn't work :(
2021-03-23 01:27:53 +0100 <monochrom> Axman6, forp: "for(a in anArray) { for(b in anotherArray)" would just need the list Applicative; for full use of the list Monad, make "anotherArray" a function of a.
2021-03-23 01:27:56 +0100 <Axman6> that instance should totally be in Generic though
2021-03-23 01:28:13 +0100 <Axman6> monochrom: shhh :)
2021-03-23 01:28:22 +0100 <monochrom> OK!
2021-03-23 01:28:46 +0100mp___(mp@hell.cx)
2021-03-23 01:28:58 +0100nighmi(~felix@port-83-236-34-206.dynamic.as20676.net) (Quit: WeeChat 3.0.1)
2021-03-23 01:29:08 +0100solidus-river(~mike@174.127.249.180) (Quit: leaving)
2021-03-23 01:29:27 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-23 01:29:45 +0100ski. o O ( "Escaping Hell with Monads" by Philip Nilsson in 2017-05-08 at <https://philipnilsson.github.io/Badness10k/escaping-hell-with-monads/> )
2021-03-23 01:29:53 +0100fissureman(~quassel@c-73-201-159-163.hsd1.dc.comcast.net) (Ping timeout: 260 seconds)
2021-03-23 01:31:11 +0100 <monochrom> Heh badness 10000 = TeX overflow
2021-03-23 01:32:26 +0100dcoutts__(~duncan@94.186.125.91.dyn.plus.net)
2021-03-23 01:33:42 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2021-03-23 01:34:28 +0100conal(~conal@192.145.118.79) (Quit: Computer has gone to sleep.)
2021-03-23 01:35:01 +0100 <Axman6> javran: what's this project for anyway?
2021-03-23 01:35:50 +0100jjess
2021-03-23 01:36:04 +0100 <javran> Axman6: a byproduct as my adventure towards a Java parser using Alex/Happy :)
2021-03-23 01:36:40 +0100 <javran> it's basically just Data.Char.generalCategory but with Unicode 13.0.0 database
2021-03-23 01:36:46 +0100conal(~conal@192.145.118.79)
2021-03-23 01:36:59 +0100 <javran> (since Java SE 15+ Spec calls for Unicode 13)
2021-03-23 01:37:20 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 240 seconds)
2021-03-23 01:37:33 +0100 <Axman6> fun :) you could combine this with dibblego's javaclass package: https://hackage.haskell.org/package/javaclass-0.0.1/docs/Language-Java-Class-ClassFile.html
2021-03-23 01:38:46 +0100 <javran> Thanks for the link, I'll take a note of that
2021-03-23 01:38:48 +0100Tario(~Tario@200.119.184.39) (Read error: Connection reset by peer)
2021-03-23 01:39:02 +0100 <Axman6> javran: also, do you reckon this might be useful for Data.Char?
2021-03-23 01:39:19 +0100 <Axman6> javran: that package is pure craziness (Sorry Tony)
2021-03-23 01:39:51 +0100 <dibblego> yeah it was a crazy time
2021-03-23 01:40:19 +0100 <Axman6> sure was
2021-03-23 01:40:22 +0100 <javran> I'm not sure what other use could it have though - just to untie Unicode depedency from any specific GHC version
2021-03-23 01:40:38 +0100 <dibblego> I'd do it differently today, but not a lot
2021-03-23 01:41:04 +0100 <javran> as base ships with its own Unicode database, which is manually updated and outdated a bit these days
2021-03-23 01:41:07 +0100puffnfresh_(~puffnfres@45.76.124.5) (Ping timeout: 265 seconds)
2021-03-23 01:41:23 +0100 <Axman6> yeah I wondered how out of date it was
2021-03-23 01:41:45 +0100 <javran> The file is libraries/base/cbits/WCsubst.c
2021-03-23 01:41:54 +0100 <javran> (In GHC repo)
2021-03-23 01:41:55 +0100puffnfresh(~puffnfres@45.76.124.5)
2021-03-23 01:43:09 +0100 <javran> speak of which I'm not sure how performant GHC version is doing - for now it's not supercritical so I just binary-search a unboxed Array, wondering why is this bit in C
2021-03-23 01:44:07 +0100 <Axman6> I've been meaning for a few weeks to rewrite bits of https://github.com/BobSteagall/utf_utils in Haskell for the text-utf8 package
2021-03-23 01:44:48 +0100Tario(~Tario@201.192.165.173)
2021-03-23 01:45:34 +0100heatsink(~heatsink@2600:1700:bef1:5e10:90f:37ea:5699:98fc)
2021-03-23 01:46:20 +0100 <Axman6> I have a PR that I didn't quite finish off for navigating utf8 encoded data that was 100x faster than take and drop using stream fusion using SIMDish ideas, but never finished off the last part
2021-03-23 01:46:20 +0100rajivr(uid269651@gateway/web/irccloud.com/x-qhxglwtyogwwwcfv)
2021-03-23 01:50:20 +0100Raito_Bezarius(~Raito@unaffiliated/raito-bezarius/x-8764578) (Remote host closed the connection)
2021-03-23 01:50:41 +0100Raito_Bezarius(~Raito@unaffiliated/raito-bezarius/x-8764578)
2021-03-23 01:50:43 +0100stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net)
2021-03-23 01:52:04 +0100 <dmwit> oh
2021-03-23 01:52:10 +0100 <dmwit> Yet Another String (tm)
2021-03-23 01:52:55 +0100 <dmwit> At some point all these add is frequent interconversions. To really be an efficiency win your whole infrastructure has to agree on a single choice.
2021-03-23 01:54:38 +0100forp(57e3c46d@87.227.196.109) (Quit: Connection closed)
2021-03-23 01:54:54 +0100 <dmwit> What happened with backpack? Where is the string-adapter pack?
2021-03-23 01:55:11 +0100stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net) (Ping timeout: 256 seconds)
2021-03-23 01:57:43 +0100 <Axman6> well text-utf8 was intended to be a replacement for text eventually once it proved itself. what I really want is text-utf8 with a concise structure to give O(1) indexing - newhoggy's got a package that could allow that pretty easily
2021-03-23 01:58:42 +0100 <Axman6> and the space overhead would be like something like 0.25% or something crazy like that
2021-03-23 01:59:58 +0100 <Axman6> uh, succinct, not concise
2021-03-23 02:00:03 +0100 <dmwit> I figured.
2021-03-23 02:01:18 +0100Axman6thinks concise would be a good name for a library of succinct data structures
2021-03-23 02:01:43 +0100Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2021-03-23 02:04:35 +0100slack1256(~slack1256@dvc-186-186-101-190.movil.vtr.net)
2021-03-23 02:05:57 +0100dragestil(~quassel@fsf/member/dragestil) (Ping timeout: 264 seconds)
2021-03-23 02:07:01 +0100slack1256(~slack1256@dvc-186-186-101-190.movil.vtr.net) (Remote host closed the connection)
2021-03-23 02:08:11 +0100dragestil(~quassel@fsf/member/dragestil)
2021-03-23 02:10:26 +0100bobweb(ac3a11c2@172.58.17.194)
2021-03-23 02:11:41 +0100 <bobweb> Hi. I have this problem: https://paste.tomsmeding.com/enFWKfUv. Please help me to define an Applicative instance for a product datatype. Thank you.
2021-03-23 02:12:11 +0100stree(~stree@68.36.8.116) (Ping timeout: 256 seconds)
2021-03-23 02:13:39 +0100__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2021-03-23 02:14:36 +0100conal(~conal@192.145.118.79) (Quit: Computer has gone to sleep.)
2021-03-23 02:14:51 +0100 <monochrom> IIRC you need to start with "instance Monoid a => Applicative (Const a b)". You need the "Monoid a" assumption. Then you will find that the rest is a breeze.
2021-03-23 02:15:17 +0100 <monochrom> IOW you will find that a's mempty and mappend very useful.
2021-03-23 02:15:58 +0100conal(~conal@192.145.118.79)
2021-03-23 02:16:13 +0100 <c_wraith> the problem is the definition of pure - I think you just lost track of what you were doing
2021-03-23 02:16:30 +0100 <bobweb> OK, now that I've posted I've seen some clue in the text along the lines of what you mention. Thank you. If not, I'll be back...
2021-03-23 02:16:47 +0100 <bobweb> yes, noob-itis...
2021-03-23 02:17:12 +0100 <c_wraith> But yeah, listen to monochrom. This needs Monoid, not just Semigroup
2021-03-23 02:17:27 +0100 <bobweb> OK.
2021-03-23 02:21:18 +0100stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net)
2021-03-23 02:22:58 +0100 <bobweb> monochrom: and c_wraith: Thank you, it works now.
2021-03-23 02:23:05 +0100 <monochrom> :)
2021-03-23 02:23:48 +0100bobweb(ac3a11c2@172.58.17.194) (Quit: Connection closed)
2021-03-23 02:25:26 +0100stree(~stree@68.36.8.116)
2021-03-23 02:26:24 +0100conal(~conal@192.145.118.79) (Quit: Computer has gone to sleep.)
2021-03-23 02:28:38 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-23 02:30:31 +0100m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Quit: WeeChat 2.9)
2021-03-23 02:32:06 +0100conal(~conal@192.145.118.79)
2021-03-23 02:32:57 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 264 seconds)
2021-03-23 02:33:43 +0100Tario(~Tario@200.119.184.61)
2021-03-23 02:33:59 +0100heatsink(~heatsink@2600:1700:bef1:5e10:90f:37ea:5699:98fc) (Remote host closed the connection)
2021-03-23 02:35:21 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
2021-03-23 02:39:53 +0100drbean(~drbean@TC210-63-209-42.static.apol.com.tw)
2021-03-23 02:40:00 +0100heatsink(~heatsink@2600:1700:bef1:5e10:90f:37ea:5699:98fc)
2021-03-23 02:43:09 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 264 seconds)
2021-03-23 02:43:11 +0100Tario(~Tario@200.119.184.61) (Read error: Connection reset by peer)
2021-03-23 02:44:09 +0100Tario(~Tario@201.192.165.173)
2021-03-23 02:45:01 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-23 02:47:38 +0100jacks2(~bc8134e3@217.29.117.252)
2021-03-23 02:50:37 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-23 02:50:58 +0100gnumonic(~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net)
2021-03-23 02:53:57 +0100 <gnumonic> Hello. I'm writing some TH and I was wondering if there was a way to express the "{}" in TH (I dunno what it's called. Field wildcard?) that you'd use if you wanted to match on a constructor while ignoring its fields (eg "SomeConstr {} -> y"
2021-03-23 02:55:15 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 256 seconds)
2021-03-23 02:56:14 +0100codygman__(~user@47.186.207.161)
2021-03-23 02:58:52 +0100 <glguy> recP name []
2021-03-23 02:59:13 +0100stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net) (Ping timeout: 256 seconds)
2021-03-23 03:01:05 +0100 <gnumonic> Thanks! I think that'll work. For some reason I thought I had to use ConP.
2021-03-23 03:03:26 +0100myShoggoth(~myShoggot@75.164.81.55)
2021-03-23 03:04:20 +0100myShoggoth(~myShoggot@75.164.81.55) (Client Quit)
2021-03-23 03:08:42 +0100DataComputist(~lumeng@50.43.26.251)
2021-03-23 03:08:42 +0100stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net)
2021-03-23 03:09:47 +0100metaweta(a6461f1c@166.70.31.28) (Quit: Connection closed)
2021-03-23 03:10:08 +0100Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 240 seconds)
2021-03-23 03:11:23 +0100jacks2(~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/)
2021-03-23 03:11:46 +0100Lowl3v3l(~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) (Quit: Leaving.)
2021-03-23 03:12:59 +0100xsperry(~as@unaffiliated/xsperry) ()
2021-03-23 03:13:35 +0100DataComputist(~lumeng@50.43.26.251) (Read error: No route to host)
2021-03-23 03:13:45 +0100stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net) (Ping timeout: 264 seconds)
2021-03-23 03:13:49 +0100DataComputist(~lumeng@50.43.26.251)
2021-03-23 03:14:40 +0100stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net)
2021-03-23 03:14:52 +0100ntkr(uid491148@gateway/web/irccloud.com/x-onytzymuldscxwyh)
2021-03-23 03:15:58 +0100stevenxl(~stevenlei@c-73-45-168-220.hsd1.il.comcast.net) (Client Quit)
2021-03-23 03:19:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-03-23 03:19:43 +0100dhil(~dhil@80.208.56.181) (Ping timeout: 265 seconds)
2021-03-23 03:19:43 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-23 03:19:54 +0100Tario(~Tario@201.192.165.173)
2021-03-23 03:21:59 +0100xff0x_(~xff0x@2001:1a81:5377:7c00:cfc9:4ce8:81dd:681d)
2021-03-23 03:24:07 +0100urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2021-03-23 03:24:48 +0100xff0x(~xff0x@port-92-193-144-80.dynamic.as20676.net) (Ping timeout: 260 seconds)
2021-03-23 03:27:25 +0100tinhatcat(~tsranso@108-91-101-161.lightspeed.gnvlsc.sbcglobal.net)
2021-03-23 03:27:33 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 245 seconds)
2021-03-23 03:28:16 +0100raym(~ray@115.187.32.14)
2021-03-23 03:29:29 +0100Garbanzo(~Garbanzo@2602:304:6eac:dc10::2e)
2021-03-23 03:29:45 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-23 03:32:02 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-03-23 03:32:16 +0100xsperry(~as@cpe-188-129-52-227.dynamic.amis.hr)
2021-03-23 03:32:16 +0100xsperry(~as@cpe-188-129-52-227.dynamic.amis.hr) (Changing host)
2021-03-23 03:32:16 +0100xsperry(~as@unaffiliated/xsperry)
2021-03-23 03:33:32 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-03-23 03:34:24 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2021-03-23 03:36:07 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2021-03-23 03:37:14 +0100tabemann(~travisb@2600:1700:7990:24e0:101f:ae79:c83b:6c90) (Remote host closed the connection)
2021-03-23 03:37:16 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-23 03:37:29 +0100tabemann(~travisb@2600:1700:7990:24e0:b0d9:c8e5:6265:88f4)
2021-03-23 03:41:52 +0100ryxai(~textual@pool-71-183-41-241.nycmny.fios.verizon.net)
2021-03-23 03:43:28 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net)
2021-03-23 03:48:02 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net) (Ping timeout: 264 seconds)
2021-03-23 03:48:45 +0100emmanuel_erc(~user@cpe-74-71-106-64.nyc.res.rr.com)
2021-03-23 03:49:00 +0100kam1(~kam1@37.129.96.190)
2021-03-23 03:49:14 +0100z0k(~user@115.186.169.1)
2021-03-23 03:49:20 +0100is_null(~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 240 seconds)
2021-03-23 03:49:53 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-23 03:50:07 +0100dleffler1(~dleffler@178.239.168.171) (Remote host closed the connection)
2021-03-23 03:50:08 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr)
2021-03-23 03:58:21 +0100qih(~dietpi@219-89-183-60-fibre.sparkbb.co.nz)
2021-03-23 03:59:45 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net)
2021-03-23 03:59:55 +0100 <qih> Hi, I am using https://www.stephendiehl.com/posts/vim_2016.html to configure a Vim for Haskell, but I've run into an issue with 'stack install hlint ghc-mod', the system reports that I have the incorrect version of GHC to do this. I installed the current GHC using Stack. What is the issue?
2021-03-23 04:00:53 +0100guest323(~user@49.5.6.87)
2021-03-23 04:03:54 +0100 <qih> This is the pastebin re the issue => https://pastebin.com/tzm75a4j
2021-03-23 04:04:23 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net) (Ping timeout: 256 seconds)
2021-03-23 04:04:41 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-23 04:05:03 +0100 <Axman6> so accoring to hackage, ghc-mod is deprecated
2021-03-23 04:05:07 +0100 <Axman6> according*
2021-03-23 04:05:47 +0100 <dmwit> Anyway, the issue is probably that you need to specify an older resolver when installing hlint+ghc-mod.
2021-03-23 04:05:50 +0100 <Axman6> can't you use HLS with vim?
2021-03-23 04:05:52 +0100Guest90956(~marienz@37.120.211.188)
2021-03-23 04:06:55 +0100 <dmwit> Yeah, LSP is probably the way to go now.
2021-03-23 04:07:42 +0100 <qih> Axman6: You can, am just reading on the 'Coc' setup, or https://github.com/haskell/haskell-language-server
2021-03-23 04:07:52 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net)
2021-03-23 04:08:03 +0100 <qih> Thanks for the advice.
2021-03-23 04:08:44 +0100 <guest323> if f = fix F, F f n = f (pred n), and F f n = F f (pred n), are equal?
2021-03-23 04:09:29 +0100 <Axman6> assuming F isn't actually a data constructor?
2021-03-23 04:09:57 +0100 <Axman6> those don't look equal to me though
2021-03-23 04:09:59 +0100 <guest323> F is just a function
2021-03-23 04:10:15 +0100tinhatcat(~tsranso@108-91-101-161.lightspeed.gnvlsc.sbcglobal.net) (Quit: Leaving)
2021-03-23 04:10:43 +0100 <Axman6> might help to make that clear by not using uppercase names, since that's not a valid name for a non-constructor function
2021-03-23 04:11:02 +0100 <Axman6> and is pred here, this one?
2021-03-23 04:11:03 +0100 <Axman6> :t pred
2021-03-23 04:11:05 +0100 <lambdabot> Enum a => a -> a
2021-03-23 04:11:39 +0100 <guest323> if f = fix g, g f n = f (pred n), and f n = g f (pred n), are equal? ok?
2021-03-23 04:12:33 +0100 <Axman6> I think you could prove that one way or the other pretty easily by evaluating it
2021-03-23 04:13:04 +0100v01d4lph4(~v01d4lph4@223.233.89.82)
2021-03-23 04:14:56 +0100thc202(~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds)
2021-03-23 04:15:14 +0100 <dmwit> guest323: I don't think so. What reasoning did you use to get there?
2021-03-23 04:16:07 +0100 <dmwit> Ah, I'm wrong. Yes, f n = g f (pred n) = f (pred (pred n)).
2021-03-23 04:17:03 +0100 <dmwit> But I think it's possible you've made a mistake anyway. Because that doesn't look like a natural equation to arrive at to me. Here's the sequence that looks natural to me:
2021-03-23 04:17:19 +0100 <heck-to-the-gnom> Could someone explain the haskell logo to me? I can make out the h,a,s, and sort of the k, maaaybe an e, but the two Ls?
2021-03-23 04:17:43 +0100v01d4lph4(~v01d4lph4@223.233.89.82) (Ping timeout: 265 seconds)
2021-03-23 04:18:04 +0100 <Axman6> it's a combination of a lambda and the >>= operator
2021-03-23 04:18:13 +0100 <infinisil> I don't think it's meant to say haskell
2021-03-23 04:18:47 +0100 <heck-to-the-gnom> huh, I must be reaching for straws with the h,a,s,k,e,l,l stuff then
2021-03-23 04:18:51 +0100 <dmwit> guest323: https://gist.github.com/dmwit/dbeea223d0de082906b3d50d2c28d790
2021-03-23 04:19:31 +0100xff0x_(~xff0x@2001:1a81:5377:7c00:cfc9:4ce8:81dd:681d) (Ping timeout: 272 seconds)
2021-03-23 04:19:53 +0100 <guest323> it's interesting, that h,a,s,k,e,l,l could be a,s,k,h,e,l,l
2021-03-23 04:20:12 +0100xff0x_(~xff0x@2001:1a81:5377:7c00:1d9b:fbcc:ac5f:34bc)
2021-03-23 04:20:31 +0100 <dmwit> guest323: From there you can go `f n = f (pred n) = f (pred (pred n))` and then undo the definition of `g` to get `f (pred (pred n)) = g f (pred n)`. But it's pretty convoluted, and a simpler explanation of the equation you wrote is that you made a small mistake when expanding the definition of fix.
2021-03-23 04:21:57 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2021-03-23 04:23:12 +0100Wuzzy(~Wuzzy@p57a2ecf2.dip0.t-ipconnect.de) (Quit: Wuzzy)
2021-03-23 04:23:12 +0100tanner__(uid491848@gateway/web/irccloud.com/x-rtafqkufgdjftxay) (Quit: Connection closed for inactivity)
2021-03-23 04:23:35 +0100 <dmwit> (Or, well, there's other ways to get there, too, of course. I'd be interested to see what reasoning you used. I'm much more excited about checking a *proof* than checking a potentially-provable *equality*.)
2021-03-23 04:25:15 +0100 <guest323> dmwit: I just stuck in that call fixed-point in callCC create a loop, https://paste.ubuntu.com/p/mMsXX7dcVt/
2021-03-23 04:26:48 +0100 <guest323> dmwit: f n = fix g n = g (fix g) n = fix g (pred n) = f (pred n) why you wouldn't change fix g to f, so f n= fix g n = g f n
2021-03-23 04:27:37 +0100 <guest323> f n = f (pred n) = g f (pred n)
2021-03-23 04:27:37 +0100 <dmwit> Yep, that's allowed and correct.
2021-03-23 04:27:56 +0100 <qih> I originally install 'Stack' using Snaps, then installed a GHCi using Stack. Installing the Haskell-Language-Server has pulled in Cabal and another version of the GHCi it seems, is this normal? Or am I mis-reading 2 x GHCis?
2021-03-23 04:28:12 +0100 <dmwit> -Yep +Yes
2021-03-23 04:29:24 +0100 <dmwit> qih: I don't know for sure, but it wouldn't surprise me at all. Stack likes to be in control of your GHC installs, and will happily install multiple if you ask for things from resolvers that have different GHC versions in them.
2021-03-23 04:29:40 +0100 <guest323> dmwit: https://www.vex.net/~trebla/haskell/cont-monad.xhtml
2021-03-23 04:30:11 +0100 <qih> Oh right. It seems to work fine is I use 'stack ghci' with no errors, so I will run with that.
2021-03-23 04:30:19 +0100 <qih> s/is/if
2021-03-23 04:30:21 +0100 <guest323> dmwit: Setjmp, why it jump back
2021-03-23 04:31:29 +0100alx741(~alx741@186.178.108.164) (Quit: alx741)
2021-03-23 04:32:42 +0100v01d4lph4(~v01d4lph4@223.233.89.82)
2021-03-23 04:33:16 +0100 <dmwit> mu
2021-03-23 04:33:51 +0100stree(~stree@68.36.8.116) (Ping timeout: 256 seconds)
2021-03-23 04:34:28 +0100forgottenone(~forgotten@176.42.23.95)
2021-03-23 04:34:47 +0100 <dmwit> It doesn't jump back. setjmp causes the name `l` to refer to all the code after it, so if you invoke `l`, you invoke all the code after the setjmp.
2021-03-23 04:35:24 +0100 <dmwit> It is always going forward. But going forward may run the same code again.
2021-03-23 04:35:31 +0100 <guest323> dmwit: how that would be possible?
2021-03-23 04:35:41 +0100 <guest323> dmwit: capture all the code after it
2021-03-23 04:35:45 +0100 <dmwit> Well... you have the source code right there. ^_^
2021-03-23 04:36:34 +0100 <guest323> dmwit: I don't understand it, setjmp is just a callCC code, and the next line `modify (+1)` is not related to callCC at all
2021-03-23 04:36:42 +0100 <dmwit> (I do not think I can write English text that is as clear, concise, and unambiguous as the Haskell code is.)
2021-03-23 04:36:56 +0100 <dmwit> Oh, but the next line *is* related to callCC.
2021-03-23 04:37:08 +0100 <guest323> dmwit: what?
2021-03-23 04:37:15 +0100 <guest323> dmwit: why do you think it's related?
2021-03-23 04:37:23 +0100 <dmwit> Because callCC gives you access to the current continuation at the moment it's called. And at the moment setjmp is invoked, modify (+1) is inside the current continuation.
2021-03-23 04:38:23 +0100 <dmwit> Specifically: the current continuation is `modify (+1) >> get >>= \s -> if s == 5 then return s else l`.
2021-03-23 04:38:24 +0100 <guest323> dmwit: callCC return a Cont r a, but modify (+1) is not the continution which apply on callCC
2021-03-23 04:38:47 +0100 <dmwit> modify (+1) is not the continuation. But it is part of the continuation (see above).
2021-03-23 04:40:34 +0100 <dmwit> Precision: the current continuation is `\l -> modify (+1) >> get >>= \s -> if s == 5 then return s else l`.
2021-03-23 04:41:21 +0100 <guest323> dmwit: what fixed-point is doing here?
2021-03-23 04:41:36 +0100 <dmwit> It is shoving the whole modify chain into the `else` branch.
2021-03-23 04:42:01 +0100 <dmwit> modify;get;if s == 5 then return s else (modify;get;if s == 5 then return s else (...))
2021-03-23 04:42:34 +0100 <guest323> dmwit: look at the code, I still don't understand why callCC capture the code after it as continuation
2021-03-23 04:42:50 +0100 <guest323> the code after it, they're not passing to it
2021-03-23 04:42:52 +0100 <dmwit> Me neither. But perhaps some day I will internalize MonadCont.
2021-03-23 04:42:53 +0100 <guest323> or apply on it
2021-03-23 04:43:15 +0100 <dmwit> The code after it *is* being passed to it, by the (>>=) operation for ContT.
2021-03-23 04:43:57 +0100 <guest323> I know the intuition, but I just don't undertand why and how
2021-03-23 04:44:15 +0100 <dmwit> m >>= k = ContT $ \ c -> runContT m (\ x -> runContT (k x) c)
2021-03-23 04:44:19 +0100 <guest323> dmwit: I dream to use functions to express this
2021-03-23 04:44:37 +0100 <dmwit> In this line, `k` is the code after the `setjmp`. It is being passed as an argument to `m`.
2021-03-23 04:44:37 +0100 <guest323> so it would be general in all the languages
2021-03-23 04:44:55 +0100 <dmwit> That dream should be achievable.
2021-03-23 04:45:23 +0100 <guest323> dmwit: but it can't be done without understanding
2021-03-23 04:45:31 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-23 04:45:33 +0100 <dmwit> Possibly.
2021-03-23 04:46:18 +0100theDon(~td@94.134.91.6) (Ping timeout: 245 seconds)
2021-03-23 04:46:26 +0100 <guest323> first, implement fix in other languages without lazy-eval strategy is possibal?
2021-03-23 04:46:28 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-03-23 04:46:43 +0100stree(~stree@68.36.8.116)
2021-03-23 04:47:10 +0100mrchampion(~mrchampio@38.18.109.23) (Remote host closed the connection)
2021-03-23 04:47:26 +0100 <guest323> callCC can be written by function
2021-03-23 04:48:05 +0100 <guest323> do notation and >>= can be defined by function
2021-03-23 04:48:13 +0100theDon(~td@muedsl-82-207-238-243.citykom.de)
2021-03-23 04:48:52 +0100 <guest323> data types and functions just are just wrapped and unwrapped
2021-03-23 04:49:50 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
2021-03-23 04:50:54 +0100jol_(jol@jol.dev) (Remote host closed the connection)
2021-03-23 04:50:57 +0100 <dmwit> Hm. fix may be tricky in some languages. Usually fix' :: ((a -> b) -> (a -> b)) -> (a -> b) -- the specialization of fix to function type -- is relatively easy.
2021-03-23 04:51:38 +0100 <dmwit> You can often get something *like* fix by using fix' on a `() -> a` function type instead of the flat `a` value type.
2021-03-23 04:52:10 +0100 <dmwit> (This trick -- using `() -> a` as a substitute for a lazy `a` -- is pretty generally useful.)
2021-03-23 04:53:43 +0100 <shachaf> For a non-strict a, at least.
2021-03-23 04:55:08 +0100dmwitnods
2021-03-23 04:56:21 +0100molehillish(~molehilli@2600:8800:8d06:1800:c1f2:e355:53f0:4ab8) (Remote host closed the connection)
2021-03-23 04:56:52 +0100theDon(~td@muedsl-82-207-238-243.citykom.de) (Ping timeout: 265 seconds)
2021-03-23 04:57:02 +0100molehillish(~molehilli@2600:8800:8d06:1800:c1f2:e355:53f0:4ab8)
2021-03-23 04:57:54 +0100jluttine_(~jluttine@85-23-95-149.bb.dnainternet.fi) (Ping timeout: 246 seconds)
2021-03-23 04:58:31 +0100kiweun(~kiweun@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-03-23 04:58:33 +0100theDon(~td@muedsl-82-207-238-243.citykom.de)
2021-03-23 04:59:21 +0100DataComputist(~lumeng@50.43.26.251) (Ping timeout: 264 seconds)
2021-03-23 04:59:27 +0100FinnElija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-03-23 04:59:27 +0100finn_elijaGuest27356
2021-03-23 04:59:27 +0100FinnElijafinn_elija
2021-03-23 05:00:28 +0100Rudd0(~Rudd0@185.189.115.103)
2021-03-23 05:01:13 +0100molehillish(~molehilli@2600:8800:8d06:1800:c1f2:e355:53f0:4ab8) (Ping timeout: 244 seconds)
2021-03-23 05:03:09 +0100plutoniix(~q@184.82.202.5)
2021-03-23 05:03:16 +0100ddellacosta(~ddellacos@83.143.246.107)
2021-03-23 05:03:18 +0100Guest27356(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-03-23 05:03:18 +0100ddellacosta(~ddellacos@83.143.246.107) (Remote host closed the connection)
2021-03-23 05:04:56 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-23 05:04:57 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-23 05:05:20 +0100Tario(~Tario@201.192.165.173)
2021-03-23 05:06:30 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-23 05:09:33 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-23 05:09:39 +0100qih(~dietpi@219-89-183-60-fibre.sparkbb.co.nz) (Read error: Connection reset by peer)
2021-03-23 05:09:50 +0100Tario(~Tario@201.192.165.173)
2021-03-23 05:11:26 +0100DataComputist(~lumeng@50.43.26.251)
2021-03-23 05:13:25 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-03-23 05:13:25 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-23 05:13:53 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-03-23 05:13:53 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-23 05:14:11 +0100Tario(~Tario@201.192.165.173)
2021-03-23 05:15:38 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-23 05:18:06 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds)
2021-03-23 05:18:33 +0100MidAutumnHotaru1(~MidAutumn@unaffiliated/midautumnhotaru) (Ping timeout: 264 seconds)
2021-03-23 05:18:37 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 256 seconds)
2021-03-23 05:18:44 +0100remal(~remal@d24-57-234-201.home.cgocable.net) ()
2021-03-23 05:19:35 +0100codygman__(~user@47.186.207.161) (Ping timeout: 265 seconds)
2021-03-23 05:19:42 +0100xff0x_(~xff0x@2001:1a81:5377:7c00:1d9b:fbcc:ac5f:34bc) (Ping timeout: 260 seconds)
2021-03-23 05:19:54 +0100 <sim590> how can I import package in ghci?
2021-03-23 05:19:59 +0100 <sim590> something with -package somehting?
2021-03-23 05:20:27 +0100xff0x_(~xff0x@2001:1a81:5377:7c00:1d05:c585:2fef:d379)
2021-03-23 05:20:44 +0100toorevitimirp(~tooreviti@117.182.183.55)
2021-03-23 05:20:45 +0100 <Axman6> I don't think you can do it once you've started a ghci session, you need to start ghci with -package foo (if I'm wrong I would like to know the answer too!)
2021-03-23 05:21:01 +0100 <guest323> sim590: cabal?
2021-03-23 05:21:11 +0100azure1(~azure@103.154.230.130) (Read error: Connection reset by peer)
2021-03-23 05:21:54 +0100 <sim590> I don't have the package. I want to do it quick in front of someone. Can I install the package to use it live like cabal install <package>?
2021-03-23 05:22:07 +0100 <dmwit> Axman6: You can :set -package from within ghci. But it has to already be installed of course.
2021-03-23 05:22:31 +0100azure1(~azure@103.154.230.130)
2021-03-23 05:23:12 +0100 <sim590> Yeah. It's just when I have a project.cabal file, downloads when I build are only local to the project, right?
2021-03-23 05:23:22 +0100 <dmwit> sim590: I think the modern way is `cabal install --libs foo --package-env default && ghci -package-env default`.
2021-03-23 05:23:28 +0100 <monochrom> https://cabal.readthedocs.io/en/3.4/cabal-commands.html#cabal-v2-run and scroll a bit down for "also supports running script files". This is the fastest way including least learning.
2021-03-23 05:23:38 +0100Sathiana(~kath@185-113-98-38.cust.bredband2.com)
2021-03-23 05:24:00 +0100 <sclv> You can also cabal repl and pass it packages
2021-03-23 05:24:24 +0100 <sclv> and it’ll launch the repl with packages in scope
2021-03-23 05:24:27 +0100 <dmwit> Wait, how?
2021-03-23 05:24:34 +0100 <dmwit> I feel like I've tried and failed to do that in the past.
2021-03-23 05:25:03 +0100 <sclv> cabal repl —build-depends containers
2021-03-23 05:25:07 +0100 <sclv> Iirc
2021-03-23 05:25:17 +0100 <sim590> Weird. It says http://ix.io/2TOK when I'm trying to cabal install --libs random
2021-03-23 05:25:18 +0100 <monochrom> "cabal v2-repl --build-depends "vector >= 0.12 && < 0.13"" from https://cabal.readthedocs.io/en/3.4/cabal-commands.html#cabal-v2-repl
2021-03-23 05:25:18 +0100Sathiana(~kath@185-113-98-38.cust.bredband2.com) (Client Quit)
2021-03-23 05:25:48 +0100Sathiana(~kath@185-113-98-38.cust.bredband2.com)
2021-03-23 05:25:54 +0100 <monochrom> s/--libs/--lib/
2021-03-23 05:26:12 +0100 <sim590> Oh OK. Thanks!
2021-03-23 05:27:31 +0100 <dmwit> sclv: ooooh, I was trying `--constraint`.
2021-03-23 05:27:48 +0100 <dmwit> Well this is great.
2021-03-23 05:27:53 +0100 <sim590> Weird. It just said "up to date" when I installed it, but earlier, it said it couldn't load the package. Anyway, now it's there. weird.
2021-03-23 05:28:05 +0100unyu(~pyon@unaffiliated/pyon) (Quit: test)
2021-03-23 05:29:51 +0100 <monochrom> The other thing I learned recently is that if you don't want those chatty messages "downloading... building... up to date... using environment file..." you can use -v0. This can be important if you're feeding stdout to another program that gets confused by those messages.
2021-03-23 05:30:05 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-23 05:33:32 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-03-23 05:34:34 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
2021-03-23 05:39:02 +0100DataComputist(~lumeng@50.43.26.251) (Ping timeout: 264 seconds)
2021-03-23 05:44:52 +0100DataComputist(~lumeng@50.43.26.251)
2021-03-23 05:47:18 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-23 05:49:13 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 256 seconds)
2021-03-23 05:49:33 +0100frozenErebus(~frozenEre@94.128.81.87)
2021-03-23 05:50:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-03-23 05:52:06 +0100kam1(~kam1@37.129.96.190) (Read error: Connection reset by peer)
2021-03-23 05:52:22 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
2021-03-23 05:58:40 +0100kam1(~kam1@37.129.96.190)
2021-03-23 05:58:41 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net) (Remote host closed the connection)
2021-03-23 05:59:10 +0100kam1(~kam1@37.129.96.190) (Read error: Connection reset by peer)
2021-03-23 06:06:32 +0100lupulin(~lupulo@163.117.64.56)
2021-03-23 06:06:42 +0100lupulo(~lupulo@163.117.64.56) (Read error: Connection reset by peer)
2021-03-23 06:07:18 +0100DataComputist(~lumeng@50.43.26.251) (Quit: Leaving...)
2021-03-23 06:07:33 +0100chibi(~chibi@75-26-238-119.lightspeed.glvwil.sbcglobal.net)
2021-03-23 06:09:26 +0100 <chibi> Hello. Is it normal for V2 from the linear package to take up a lot of time/RAM?
2021-03-23 06:09:41 +0100DataComputist(~lumeng@50.43.26.251)
2021-03-23 06:10:18 +0100 <chibi> I have 4 calls to V2 in a ~350 line application and it took up 25% of all time and ~40% of all my RAM
2021-03-23 06:10:59 +0100 <chibi> ...which was only for about 16 seconds, I tried running it longer but it ends up causing an OOM crash after like 40 seconds and I have to reboot :P
2021-03-23 06:14:09 +0100pieguy128_(~pieguy128@bras-base-mtrlpq5031w-grc-47-67-70-101-46.dsl.bell.ca)
2021-03-23 06:14:13 +0100mozzarella(~sam@unaffiliated/sam113101) (Ping timeout: 245 seconds)
2021-03-23 06:14:20 +0100mozzarel1(~sam@unaffiliated/sam113101)
2021-03-23 06:14:34 +0100mozzarel1mozzarella
2021-03-23 06:14:41 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-47-67-70-101-46.dsl.bell.ca) (Ping timeout: 265 seconds)
2021-03-23 06:15:20 +0100Kaivo(~Kaivo@104-200-86-99.mc.derytele.com) (Ping timeout: 256 seconds)
2021-03-23 06:15:32 +0100kam1(~kam1@37.129.96.190)
2021-03-23 06:16:02 +0100Kaivo(~Kaivo@104-200-86-99.mc.derytele.com)
2021-03-23 06:16:26 +0100ryxai(~textual@pool-71-183-41-241.nycmny.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-23 06:18:05 +0100 <dmwit> What an odd question. I don't think I have ever written a program for which V2 took up a lot of time/RAM, so no, it's definitely not normal.
2021-03-23 06:18:20 +0100 <dmwit> But then using V2 in the first place is not normal, because I don't think I have ever written a program that used it.
2021-03-23 06:19:07 +0100 <dmwit> In the grand scheme of things, programming at all probably is not normal.
2021-03-23 06:25:05 +0100 <chibi> Heh, that's true. I'm using the SDL graphics library, and one of it's data types is a Rectangle type that uses V2, so that's why I'm using it. Profile log says that's all fmap's fault so...
2021-03-23 06:25:22 +0100 <edwardk> chibi: what are you doing with those V2s is perhaps more the question
2021-03-23 06:25:22 +0100 <chibi> Maybe V2 just has an innefficient fmap implementation?
2021-03-23 06:25:40 +0100 <edwardk> fmap f (V2 a b) = V2 (f a) (f b)
2021-03-23 06:25:48 +0100 <edwardk> and V2 is strict in both args
2021-03-23 06:26:28 +0100dmwitwonders if edwardk's crystal ball is showing him more than dmwit's is
2021-03-23 06:26:52 +0100 <chibi> Lemme just share the two functions I'm calling it from
2021-03-23 06:26:53 +0100 <edwardk> you might be fmapping with some big scary computation but most things folks wind up fmapping over that type for sdl purposes are little things like swapping out CInts for Ints and the like
2021-03-23 06:26:55 +0100 <dmwit> chibi: More directly: if you want help, you're probably gonna have to do some minimizing and share some code.
2021-03-23 06:27:20 +0100 <edwardk> V2 is rather deliberately quite boring
2021-03-23 06:27:51 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-23 06:28:18 +0100 <edwardk> to the point that when linear switches over to run on top the new distributive it'll be able to be generated almost entirely automatically
2021-03-23 06:28:19 +0100 <edwardk> https://github.com/ekmett/distributive/blob/main/distributive/src/Data/Rep/Internal.hs#L1966
2021-03-23 06:28:28 +0100kam1(~kam1@37.129.96.190) (Read error: Connection reset by peer)
2021-03-23 06:28:59 +0100 <chibi> https://p.sicp.me/bA6iE.hs
2021-03-23 06:29:05 +0100 <chibi> This code's hacky all over mind
2021-03-23 06:29:16 +0100 <chibi> So apologies for that to start with
2021-03-23 06:29:42 +0100 <chibi> 3>
2021-03-23 06:30:26 +0100 <edwardk> nothing there looks too slow. there's a few things i'd change like ent^.entPos^._1 to ent^.entPos._1
2021-03-23 06:30:57 +0100 <chibi> The one thing that might be ig here is multiplying and rouning those floating point values *160, would that be enough to cause those functions to eat up resources like that?
2021-03-23 06:31:06 +0100 <edwardk> and you could proably use an iso between (a,a) and V2 a to get both halves of the Pos at a time
2021-03-23 06:31:30 +0100 <edwardk> but none of that should be super slow
2021-03-23 06:31:36 +0100electricityZZZZ(~electrici@135-180-3-82.static.sonic.net) (Ping timeout: 265 seconds)
2021-03-23 06:32:20 +0100 <dmwit> ...or just store a V2 in Static in the first place
2021-03-23 06:32:20 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds)
2021-03-23 06:32:27 +0100kam1(~kam1@37.129.96.190)
2021-03-23 06:32:27 +0100 <edwardk> or that, yes
2021-03-23 06:32:58 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
2021-03-23 06:33:13 +0100 <dmwit> How confident are you that this code is the bad code?
2021-03-23 06:33:16 +0100v01d4lph_(~v01d4lph4@223.233.79.215)
2021-03-23 06:34:02 +0100 <edwardk> this code doesn't seem to do much to be remotely concerned about
2021-03-23 06:34:17 +0100 <dmwit> kinda why I ask, yeah
2021-03-23 06:34:20 +0100frankdmartinez(~frankdmar@62.182.99.65)
2021-03-23 06:35:21 +0100v01d4lph4(~v01d4lph4@223.233.89.82) (Ping timeout: 264 seconds)
2021-03-23 06:35:36 +0100 <chibi> Intersting, I guess I'll have to fiddle with that a bunch more to see what exactly is causing the OOM crashing. I find it weird too, but thats what the output of +RTS -p is saying
2021-03-23 06:35:54 +0100 <edwardk> i mean the worst thing you do is walk and grab halves of entpos/size separately rather than together, but thats only a factor of 2-4x on something that should do almost nothing
2021-03-23 06:36:05 +0100 <chibi> 3>...or just store a V2 in Static in the first place
2021-03-23 06:36:13 +0100 <chibi> That's what a good programmer would do :)
2021-03-23 06:36:23 +0100 <edwardk> you could store a whole rectangle in there even
2021-03-23 06:36:24 +0100 <edwardk> ;)
2021-03-23 06:37:41 +0100 <dmwit> At this rate if you hang out a bit longer I think we can just delete all of your code.
2021-03-23 06:37:47 +0100 <edwardk> anyways V2 isn't doing any appreciable work here
2021-03-23 06:38:22 +0100 <chibi> Then maybe this code snippet is getting called too often?
2021-03-23 06:38:26 +0100 <chibi> COST CENTRE MODULE SRC %time %alloc
2021-03-23 06:38:29 +0100 <chibi> fmap Linear.V2 src/Linear/V2.hs:159:3-34 31.3 43.7
2021-03-23 06:38:30 +0100 <edwardk> i've found that deleting all my code especially before i release it is a great way to cut maintenance burden
2021-03-23 06:38:58 +0100 <edwardk> chibi: keep in mind you aren't the only customer of V2. SDL is using it internally a bunch too
2021-03-23 06:39:42 +0100z0k(~user@115.186.169.1) (Ping timeout: 256 seconds)
2021-03-23 06:40:23 +0100 <chibi> Yeah, that's true as well. Time for the scientific method it seems.
2021-03-23 06:40:30 +0100 <chibi> Thanks for the help.
2021-03-23 06:40:33 +0100 <edwardk> https://github.com/ekmett/linear/blob/master/src/Linear/V2.hs#L162 is the fmap in question
2021-03-23 06:40:42 +0100 <edwardk> it literally can't do anything less than it does
2021-03-23 06:41:37 +0100 <edwardk> it is probably however being charged all the costs for all the f's that are being fmapped over it though
2021-03-23 06:42:02 +0100Garbanzo(~Garbanzo@2602:304:6eac:dc10::2e) (Ping timeout: 264 seconds)
2021-03-23 06:42:06 +0100 <chibi> Yeah, it's definitely not the fmap itself.
2021-03-23 06:43:10 +0100 <edwardk> one reason wy fmap is probably showing up at the cost center is that V2 is strict in its args, and fmap is constructing the result V2, forcing the args as it goes. so its viewed as the thing that forces the results, not just something passing an unevaluated thunk into a structure to hit some later victim.
2021-03-23 06:43:44 +0100 <edwardk> so all the work of every f being mapped anywhere by any user of V2 is being charged to that one cost center
2021-03-23 06:43:48 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-03-23 06:44:05 +0100 <edwardk> unsurprisingly this might yield a large number
2021-03-23 06:44:35 +0100molehillish(~molehilli@2600:8800:8d06:1800:c1f2:e355:53f0:4ab8)
2021-03-23 06:44:48 +0100v01d4lph_(~v01d4lph4@223.233.79.215) (Ping timeout: 256 seconds)
2021-03-23 06:46:14 +0100v01d4lph4(~v01d4lph4@171.76.7.228)
2021-03-23 06:46:54 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds)
2021-03-23 06:47:36 +0100 <chibi> Ahh okay, so that's just how strictness ends up looking to the profiler
2021-03-23 06:47:42 +0100slack1256(~slack1256@dvc-186-186-101-190.movil.vtr.net)
2021-03-23 06:49:02 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-03-23 06:50:54 +0100raym(~ray@115.187.32.14) (Remote host closed the connection)
2021-03-23 06:54:17 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-nolohoourjcznqbc) (Quit: Connection closed for inactivity)
2021-03-23 06:54:31 +0100knupfer(~Thunderbi@i59F7FF9C.versanet.de)
2021-03-23 06:54:57 +0100stree(~stree@68.36.8.116) (Ping timeout: 256 seconds)
2021-03-23 06:55:28 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-23 06:56:33 +0100kam1(~kam1@37.129.96.190) (Read error: Connection reset by peer)
2021-03-23 07:00:38 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2021-03-23 07:01:44 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 240 seconds)
2021-03-23 07:02:13 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2021-03-23 07:07:06 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2021-03-23 07:07:30 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-23 07:08:04 +0100stree(~stree@68.36.8.116)
2021-03-23 07:09:34 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2021-03-23 07:12:14 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-23 07:12:17 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
2021-03-23 07:16:26 +0100slack1256(~slack1256@dvc-186-186-101-190.movil.vtr.net) (Remote host closed the connection)
2021-03-23 07:17:08 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-03-23 07:23:17 +0100average(uid473595@gateway/web/irccloud.com/x-npstzxdmagpahzvl)
2021-03-23 07:24:08 +0100s00pcan(~chris@075-133-056-178.res.spectrum.com) (Remote host closed the connection)
2021-03-23 07:26:25 +0100jluttine_(~jluttine@85-23-66-6.bb.dnainternet.fi)
2021-03-23 07:27:25 +0100graf_blutwurst(~user@2001:171b:226e:adc0:78b0:5183:4ef7:68f)
2021-03-23 07:27:52 +0100knupfer(~Thunderbi@i59F7FF9C.versanet.de) (Ping timeout: 256 seconds)
2021-03-23 07:29:48 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-23 07:34:13 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds)
2021-03-23 07:35:08 +0100_flow_(~none@salem.informatik.uni-erlangen.de)
2021-03-23 07:35:11 +0100waleee-cl(uid373333@gateway/web/irccloud.com/x-hdzjfjotgayyuqwv) (Quit: Connection closed for inactivity)
2021-03-23 07:40:10 +0100idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-03-23 07:40:48 +0100ddellacosta(~ddellacos@86.106.143.245)
2021-03-23 07:41:13 +0100frankdmartinez(~frankdmar@62.182.99.65) (Quit: frankdmartinez)
2021-03-23 07:41:30 +0100is_null(~jpic@pdpc/supporter/professional/is-null)
2021-03-23 07:44:16 +0100minoru_shiraeesh(~shiraeesh@46.34.206.238) (Ping timeout: 276 seconds)
2021-03-23 07:44:31 +0100linarcx(~user@151.241.50.25)
2021-03-23 07:44:42 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2021-03-23 07:45:26 +0100ddellacosta(~ddellacos@86.106.143.245) (Ping timeout: 256 seconds)
2021-03-23 07:45:45 +0100molehillish(~molehilli@2600:8800:8d06:1800:c1f2:e355:53f0:4ab8) (Remote host closed the connection)
2021-03-23 07:46:17 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-23 07:46:28 +0100molehillish(~molehilli@2600:8800:8d06:1800:a4ec:e3c6:6b54:caa8)
2021-03-23 07:51:19 +0100marinelli(~marinelli@gateway/tor-sasl/marinelli) (Quit: marinelli)
2021-03-23 07:52:21 +0100kiweun(~kiweun@2607:fea8:2a62:9600:ed16:1da2:9478:b2b4)
2021-03-23 07:52:32 +0100linarcx(~user@151.241.50.25) (Ping timeout: 260 seconds)
2021-03-23 07:54:47 +0100malumore(~malumore@151.62.117.161)
2021-03-23 07:55:31 +0100molehillish(~molehilli@2600:8800:8d06:1800:a4ec:e3c6:6b54:caa8) (Remote host closed the connection)
2021-03-23 07:57:02 +0100kiweun(~kiweun@2607:fea8:2a62:9600:ed16:1da2:9478:b2b4) (Ping timeout: 264 seconds)
2021-03-23 07:57:27 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-03-23 08:01:27 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-03-23 08:01:55 +0100hexfive(~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
2021-03-23 08:02:16 +0100thc202(~thc202@unaffiliated/thc202)
2021-03-23 08:02:21 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-03-23 08:04:33 +0100wonko7(~wonko7@62.115.229.50)
2021-03-23 08:06:21 +0100howdoi(uid224@gateway/web/irccloud.com/x-txtivmvabmjkksay) (Quit: Connection closed for inactivity)
2021-03-23 08:08:18 +0100raym(~ray@115.187.32.14)
2021-03-23 08:08:33 +0100v01d4lph4(~v01d4lph4@171.76.7.228) (Remote host closed the connection)
2021-03-23 08:09:16 +0100v01d4lph4(~v01d4lph4@171.76.7.228)
2021-03-23 08:09:26 +0100v01d4lph4(~v01d4lph4@171.76.7.228) (Remote host closed the connection)
2021-03-23 08:10:02 +0100v01d4lph4(~v01d4lph4@171.76.7.228)
2021-03-23 08:10:03 +0100v01d4lph4(~v01d4lph4@171.76.7.228) (Read error: Connection reset by peer)
2021-03-23 08:10:17 +0100v01d4lph4(~v01d4lph4@171.76.7.228)
2021-03-23 08:10:50 +0100v01d4lph4(~v01d4lph4@171.76.7.228) (Remote host closed the connection)
2021-03-23 08:11:12 +0100v01d4lph4(~v01d4lph4@171.76.7.228)
2021-03-23 08:11:16 +0100v01d4lph4(~v01d4lph4@171.76.7.228) (Remote host closed the connection)
2021-03-23 08:14:18 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-03-23 08:15:25 +0100ddellacosta(~ddellacos@86.106.143.193)
2021-03-23 08:17:09 +0100minoru_shiraeesh(~shiraeesh@46.34.206.238)
2021-03-23 08:17:17 +0100michalz(~user@185.246.204.47)
2021-03-23 08:18:35 +0100apeyroux(~alex@78.20.138.88.rev.sfr.net)
2021-03-23 08:20:26 +0100ddellacosta(~ddellacos@86.106.143.193) (Ping timeout: 264 seconds)
2021-03-23 08:20:28 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-03-23 08:23:21 +0100Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer)
2021-03-23 08:23:31 +0100coot(~coot@37.30.58.223.nat.umts.dynamic.t-mobile.pl)
2021-03-23 08:23:36 +0100Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-03-23 08:24:32 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
2021-03-23 08:26:23 +0100cheers-(~user@unaffiliated/cheers) (Quit: cheers-)
2021-03-23 08:28:26 +0100slack1256(~slack1256@dvc-186-186-101-190.movil.vtr.net)
2021-03-23 08:28:48 +0100Vadrigar(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-23 08:28:55 +0100 <slack1256> Has someone used the haskell language server for developing GHC itself?
2021-03-23 08:29:10 +0100 <slack1256> I think there will be problems as ghc is not cabal based.
2021-03-23 08:29:25 +0100 <Uniaika> yeah it's a tad weird
2021-03-23 08:29:41 +0100 <Uniaika> but you better ask on #haskell-language-server
2021-03-23 08:29:47 +0100 <slack1256> Got it.
2021-03-23 08:30:32 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:8dad:96e9:564f:ba6c) (Ping timeout: 240 seconds)
2021-03-23 08:34:15 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-03-23 08:34:44 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-03-23 08:35:19 +0100ddere(uid110888@gateway/web/irccloud.com/x-osvdowtbmzcjquma) (Quit: Connection closed for inactivity)
2021-03-23 08:36:03 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds)
2021-03-23 08:38:21 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-03-23 08:40:45 +0100frozenErebus(~frozenEre@94.128.81.87) (Ping timeout: 264 seconds)
2021-03-23 08:41:02 +0100idhugo_(~idhugo@80-62-117-136-mobile.dk.customer.tdc.net)
2021-03-23 08:41:28 +0100mananamenos(~mananamen@62.red-88-11-67.dynamicip.rima-tde.net)
2021-03-23 08:43:20 +0100v01d4lph4(~v01d4lph4@106.212.133.35)
2021-03-23 08:43:52 +0100idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 260 seconds)
2021-03-23 08:45:36 +0100borne(~fritjof@200116b8640b5f00a6d9c1e30b1bd3ca.dip.versatel-1u1.de)
2021-03-23 08:45:43 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection)
2021-03-23 08:46:05 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-03-23 08:49:44 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving)
2021-03-23 08:51:41 +0100Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer)
2021-03-23 08:52:46 +0100Sornaensis(~Sornaensi@79.142.232.102.static.router4.bolignet.dk)
2021-03-23 08:54:03 +0100chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de)
2021-03-23 08:54:08 +0100Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-03-23 08:55:20 +0100Sorny(~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 240 seconds)
2021-03-23 08:55:53 +0100ddellacosta(~ddellacos@86.106.143.219)
2021-03-23 08:56:31 +0100cheers(user@unaffiliated/cheers)
2021-03-23 08:57:08 +0100azure1(~azure@103.154.230.130) (Ping timeout: 245 seconds)
2021-03-23 08:57:44 +0100cheers(user@unaffiliated/cheers) (Client Quit)
2021-03-23 08:58:22 +0100cheers(user@unaffiliated/cheers)
2021-03-23 08:59:47 +0100Franciman(~francesco@host-79-53-62-46.retail.telecomitalia.it)
2021-03-23 09:00:47 +0100ddellacosta(~ddellacos@86.106.143.219) (Ping timeout: 260 seconds)
2021-03-23 09:04:08 +0100cfricke(~cfricke@unaffiliated/cfricke)
2021-03-23 09:07:00 +0100aqd(~aqd@84.20.147.33)
2021-03-23 09:08:42 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 244 seconds)
2021-03-23 09:11:04 +0100Varis(~Tadas@unaffiliated/varis)
2021-03-23 09:11:27 +0100aggin(~ecm@103.88.87.99)
2021-03-23 09:11:39 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2021-03-23 09:13:56 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
2021-03-23 09:14:13 +0100jespada(~jespada@90.254.243.187) (Ping timeout: 245 seconds)
2021-03-23 09:16:25 +0100stree(~stree@68.36.8.116) (Ping timeout: 265 seconds)
2021-03-23 09:16:51 +0100jespada(~jespada@90.254.243.187)
2021-03-23 09:18:33 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:1f70:74b2:f5a9:8e18) (Ping timeout: 265 seconds)
2021-03-23 09:19:50 +0100jakalx(~jakalx@base.jakalx.net) ("Disconnected: Replaced by new connection")
2021-03-23 09:19:59 +0100aggin(~ecm@103.88.87.99) (Quit: WeeChat 3.0.1)
2021-03-23 09:20:28 +0100jakalx(~jakalx@base.jakalx.net)
2021-03-23 09:21:37 +0100malumore(~malumore@151.62.117.161) (Ping timeout: 272 seconds)
2021-03-23 09:23:18 +0100 <tomsmeding> "23:32:15 * | hpc . o O ( a haskell program that tells you what ghc version it was built with, using only compilation bugs )"
2021-03-23 09:23:25 +0100 <tomsmeding> hpc: you were kidding, but https://codegolf.stackexchange.com/questions/139243/determine-your-languages-version
2021-03-23 09:23:44 +0100 <tomsmeding> okay it's not all compiler bugs
2021-03-23 09:24:25 +0100ViCi(daniel@10PLM.ro)
2021-03-23 09:24:32 +0100azure1(~azure@103.154.230.130)
2021-03-23 09:24:37 +0100gawen(~gawen@movzbl.root.sx) (Quit: cya)
2021-03-23 09:25:00 +0100 <tomsmeding> shapr: I'm the worst when it comes to thinking of ideas for events/whatnot, which is why I am quick to applaud ideas from others :p
2021-03-23 09:25:01 +0100gawen(~gawen@movzbl.root.sx)
2021-03-23 09:26:36 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-03-23 09:29:11 +0100stree(~stree@68.36.8.116)
2021-03-23 09:30:02 +0100xff0x_(~xff0x@2001:1a81:5377:7c00:1d05:c585:2fef:d379) (Ping timeout: 264 seconds)
2021-03-23 09:30:03 +0100jakalx(~jakalx@base.jakalx.net) ("Error from remote client")
2021-03-23 09:30:05 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:a175:b70a:c656:5ff4)
2021-03-23 09:30:10 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-23 09:30:14 +0100 <loyon> is there a simple tool that would run `cabal build` everytime I make changes? I mean something light which works on the filesystem, not a full IDE integration.
2021-03-23 09:31:26 +0100 <opqdonut> wasn't ghcid supposed to be something like that
2021-03-23 09:31:53 +0100 <opqdonut> I've never used it tho
2021-03-23 09:31:55 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-23 09:32:10 +0100xff0x_(~xff0x@2001:1a81:5390:3000:45a9:729d:b2a5:971c)
2021-03-23 09:32:25 +0100 <tomsmeding> loyon: try ghcid, assuming you want it for error feedback
2021-03-23 09:32:30 +0100 <opqdonut> this might be interesting as well https://github.com/haskell/cabal/issues/5252
2021-03-23 09:33:49 +0100lisq(~quassel@lis.moe) (Quit: lisq)
2021-03-23 09:33:59 +0100lisq(~quassel@lis.moe)
2021-03-23 09:34:05 +0100jakalx(~jakalx@base.jakalx.net)
2021-03-23 09:35:14 +0100lisq(~quassel@lis.moe) (Client Quit)
2021-03-23 09:35:15 +0100 <loyon> thanks all I'll look into those! ghcid looks exactly like that indeed.
2021-03-23 09:35:25 +0100lisq(~quassel@lis.moe)
2021-03-23 09:36:57 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 260 seconds)
2021-03-23 09:37:09 +0100 <loyon> also, I just remember `entr` which is a pretty generic C tool that allow doing such things.
2021-03-23 09:39:30 +0100m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2021-03-23 09:39:46 +0100LKoen(~LKoen@194.250.88.92.rev.sfr.net)
2021-03-23 09:40:28 +0100 <olligobber> tomsmeding, I have that but python?
2021-03-23 09:40:29 +0100 <slack1256> I wrote a script using inotify once. I think `entr` uses that.
2021-03-23 09:40:52 +0100Sathiana(~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.1)
2021-03-23 09:41:21 +0100 <olligobber> `len("ㅤ ㅤ\x20a".split())'
2021-03-23 09:41:27 +0100Sathiana(~kath@185-113-98-38.cust.bredband2.com)
2021-03-23 09:42:18 +0100 <loyon> slack1256: yeah exactly, I used to do that too :-)
2021-03-23 09:42:38 +0100 <loyon> even did it in haskell at some point, that was more fun than with bash
2021-03-23 09:42:57 +0100 <loyon> but it seems `entr` is very flexible, for now working like a charm
2021-03-23 09:43:13 +0100heatsink(~heatsink@2600:1700:bef1:5e10:90f:37ea:5699:98fc) (Remote host closed the connection)
2021-03-23 09:43:50 +0100malumore(~malumore@151.62.117.161)
2021-03-23 09:46:09 +0100minoru_shiraeesh(~shiraeesh@46.34.206.238) (Ping timeout: 264 seconds)
2021-03-23 09:46:44 +0100Axman6(~Axman6@pdpc/supporter/student/Axman6) (Remote host closed the connection)
2021-03-23 09:46:59 +0100Axman6(~Axman6@pdpc/supporter/student/Axman6)
2021-03-23 09:48:29 +0100fendor(~fendor@178.165.131.158.wireless.dyn.drei.com)
2021-03-23 09:49:32 +0100minoru_shiraeesh(~shiraeesh@46.34.206.238)
2021-03-23 09:50:08 +0100forgottenone(~forgotten@176.42.23.95) (Quit: Konversation terminated!)
2021-03-23 09:50:36 +0100jakalx(~jakalx@base.jakalx.net) ("Error from remote client")
2021-03-23 09:51:37 +0100Sathiana(~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.1)
2021-03-23 09:51:53 +0100mouseghost(~draco@wikipedia/desperek)
2021-03-23 09:52:04 +0100Sathiana(~kath@185-113-98-38.cust.bredband2.com)
2021-03-23 09:55:04 +0100malumore(~malumore@151.62.117.161) (Remote host closed the connection)
2021-03-23 09:55:22 +0100malumore(~malumore@151.62.117.161)
2021-03-23 09:57:17 +0100acidjnk_new(~acidjnk@p200300d0c72b9578819a903e74dd056f.dip0.t-ipconnect.de)
2021-03-23 09:57:53 +0100Sathiana(~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.1)
2021-03-23 10:00:09 +0100meff[m](meffsunado@gateway/shell/matrix.org/x-txsqavrnddjxiriw) (Quit: Idle for 30+ days)
2021-03-23 10:00:19 +0100Sathiana(~kath@185-113-98-38.cust.bredband2.com)
2021-03-23 10:00:43 +0100jakalx(~jakalx@base.jakalx.net)
2021-03-23 10:02:00 +0100 <tomsmeding> olligobber: you have what, exactly?
2021-03-23 10:02:41 +0100 <olligobber> tomsmeding, a file that tells you what version you used
2021-03-23 10:03:11 +0100 <tomsmeding> ah yes, the CGSE topic I linked has a couple of python submissions as well
2021-03-23 10:03:23 +0100 <tomsmeding> note that I believe literally querying the version, if possible, is disallowed
2021-03-23 10:03:26 +0100 <tomsmeding> in that question
2021-03-23 10:03:40 +0100 <olligobber> but calling len and split on a string should be fine
2021-03-23 10:04:12 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-23 10:04:29 +0100ryxai(~textual@pool-71-183-41-241.nycmny.fios.verizon.net)
2021-03-23 10:04:34 +0100ddellacosta(~ddellacos@86.106.143.180)
2021-03-23 10:05:01 +0100slack1256(~slack1256@dvc-186-186-101-190.movil.vtr.net) (Remote host closed the connection)
2021-03-23 10:05:47 +0100drbean(~drbean@TC210-63-209-42.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-03-23 10:06:31 +0100xff0x_(~xff0x@2001:1a81:5390:3000:45a9:729d:b2a5:971c) (Quit: xff0x_)
2021-03-23 10:06:39 +0100xff0x(~xff0x@2001:1a81:5390:3000:45a9:729d:b2a5:971c)
2021-03-23 10:07:12 +0100kritzefitz(~kritzefit@p548c9398.dip0.t-ipconnect.de)
2021-03-23 10:07:27 +0100Guest90956(~marienz@37.120.211.188) (Remote host closed the connection)
2021-03-23 10:08:56 +0100ddellacosta(~ddellacos@86.106.143.180) (Ping timeout: 240 seconds)
2021-03-23 10:13:08 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-03-23 10:15:21 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:a175:b70a:c656:5ff4) (Remote host closed the connection)
2021-03-23 10:17:06 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:68c9:1c68:98e2:37ad)
2021-03-23 10:17:40 +0100 <olligobber> ok, posted my golf there: https://codegolf.stackexchange.com/questions/139243/determine-your-languages-version/221122#221122
2021-03-23 10:17:47 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr)
2021-03-23 10:18:07 +0100Major_Biscuit(~Major_Bis@wlan-145-94-219-47.wlan.tudelft.nl)
2021-03-23 10:23:52 +0100jakalx(~jakalx@base.jakalx.net) ("Error from remote client")
2021-03-23 10:25:52 +0100Lowl3v3l(~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de)
2021-03-23 10:26:05 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2021-03-23 10:28:56 +0100 <olligobber> wait I can shave off 4 bytes
2021-03-23 10:29:03 +0100sh9(~sh9@softbank060116136158.bbtec.net) (Quit: WeeChat 2.8)
2021-03-23 10:32:18 +0100jneira(501e65b6@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.182) (Ping timeout: 265 seconds)
2021-03-23 10:33:45 +0100 <fendor> if a type implements an additional type class, does that warrant a major version bump?
2021-03-23 10:34:07 +0100 <merijn> fendor: If it's not an orphan, I'd say no
2021-03-23 10:34:43 +0100 <merijn> fendor: But consult the PVP flowchart? :p
2021-03-23 10:34:47 +0100 <merijn> fendor: https://pvp.haskell.org/
2021-03-23 10:35:15 +0100Unhammer(~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection)
2021-03-23 10:35:21 +0100 <fendor> merijn, that's a good flowchart, so far I always only read the first page of that site
2021-03-23 10:35:22 +0100 <fendor> thanks!
2021-03-23 10:35:48 +0100ddellacosta(~ddellacos@86.106.143.154)
2021-03-23 10:36:12 +0100Unhammer(~Unhammer@gateway/tor-sasl/unhammer)
2021-03-23 10:37:16 +0100frozenErebus(~frozenEre@94.128.81.87)
2021-03-23 10:38:35 +0100Sathiana(~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.1)
2021-03-23 10:38:58 +0100Sathiana(~kath@185-113-98-38.cust.bredband2.com)
2021-03-23 10:40:50 +0100ddellacosta(~ddellacos@86.106.143.154) (Ping timeout: 264 seconds)
2021-03-23 10:41:55 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:68c9:1c68:98e2:37ad) (Ping timeout: 240 seconds)
2021-03-23 10:42:45 +0100frozenErebus(~frozenEre@94.128.81.87) (Ping timeout: 256 seconds)
2021-03-23 10:43:07 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2021-03-23 10:43:42 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9)
2021-03-23 10:48:07 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9) (Ping timeout: 260 seconds)
2021-03-23 10:50:18 +0100ryxai(~textual@pool-71-183-41-241.nycmny.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-23 10:51:40 +0100frankdmartinez(~frankdmar@62.182.99.65)
2021-03-23 10:51:54 +0100jakalx(~jakalx@base.jakalx.net)
2021-03-23 10:52:13 +0100ubert(~Thunderbi@p200300ecdf25d9f2e6b318fffe838f33.dip0.t-ipconnect.de)
2021-03-23 10:53:50 +0100z0k(~user@115.186.169.1)
2021-03-23 10:55:16 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:2475:6303:62e1:31c1)
2021-03-23 10:55:34 +0100frankdmartinez(~frankdmar@62.182.99.65) (Client Quit)
2021-03-23 10:56:58 +0100kritzefitz(~kritzefit@p548c9398.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2021-03-23 10:57:01 +0100Guest38849zzz
2021-03-23 10:57:17 +0100kritzefitz(~kritzefit@2003:5b:203b:200::10:49)
2021-03-23 10:59:07 +0100Guest93685(~textual@2603-7000-3040-0000-5567-17e6-5142-189b.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-23 10:59:42 +0100 <zzz> hello my people. I did "import Primes" at the top of the file and "cabal install primes --lib". I'm getting "could not find module 'Primes'". what am I missing?
2021-03-23 11:00:48 +0100 <merijn> zzz: The fact that "cabal install primes" isn't really the way to make packages available to your program/code
2021-03-23 11:01:20 +0100 <zzz> where can i educate myself on the true ways of haskell?
2021-03-23 11:01:25 +0100 <merijn> zzz: What you'd really wanna do is make a minimal .cabal file and add primes as build-depends in it. You can run "cabal init --interactive" to generate one
2021-03-23 11:01:55 +0100 <merijn> zzz: See also: https://cabal.readthedocs.io/en/latest/getting-started.html
2021-03-23 11:02:28 +0100 <zzz> much appreciated
2021-03-23 11:04:14 +0100 <merijn> zzz: Basically, because global package installs usually turn into a mess of conflicting things on different projects, cabal doesn't have a global notion of "installed", but selectively makes a set of package available to projects, so projects can never conflict (think of it at kinda automatic and dynamic virtualenvs if you're familiar with those)
2021-03-23 11:05:01 +0100Guest53001(~soulseeke@90.214.167.201) (Read error: Connection reset by peer)
2021-03-23 11:06:07 +0100 <zzz> what have i done exactly by running "cabal install package --lib" ?
2021-03-23 11:08:14 +0100 <merijn> zzz: I fibbed, because there *is* sort of a global install thing, but it's not really finished/usable yet. So "install --lib" does a kinda half-baked global install, but the usability of *using* it isn't really finished/done :)
2021-03-23 11:09:46 +0100 <zzz> understood
2021-03-23 11:12:04 +0100ddellacosta(~ddellacos@86.106.143.89)
2021-03-23 11:14:45 +0100 <merijn> zzz: For a quick way to get a ghci session with a package you can also do "cabal repl --build-depends=primes" to get a ghci with that packages available
2021-03-23 11:15:16 +0100 <merijn> But in general you'll want to use a .cabal file for non-trivial packages/code anyway
2021-03-23 11:15:28 +0100apeyroux(~alex@78.20.138.88.rev.sfr.net) (Ping timeout: 245 seconds)
2021-03-23 11:16:45 +0100ddellacosta(~ddellacos@86.106.143.89) (Ping timeout: 264 seconds)
2021-03-23 11:17:14 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2021-03-23 11:18:30 +0100ukari(~ukari@unaffiliated/ukari)
2021-03-23 11:20:32 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2021-03-23 11:22:31 +0100jacks2(~bc8134e3@217.29.117.252)
2021-03-23 11:24:14 +0100PtxDK(~quassel@2a01:7c8:aac3:591:5054:ff:fe3d:cac6) (Quit: No Ping reply in 180 seconds.)
2021-03-23 11:24:39 +0100Alleria(~textual@zrcout.mskcc.org)
2021-03-23 11:25:01 +0100pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2021-03-23 11:25:02 +0100AlleriaGuest79447
2021-03-23 11:25:20 +0100PtxDK(~quassel@2a01:7c8:aac3:591:5054:ff:fe3d:cac6)
2021-03-23 11:28:08 +0100aarvar(~foewfoiew@2601:602:a080:fa0:75fb:cea1:4d26:9157) (Ping timeout: 240 seconds)
2021-03-23 11:30:37 +0100peanut_(~peanut@2a02:8388:a101:2600:9f7e:958d:f1dd:b94a)
2021-03-23 11:32:26 +0100frozenErebus(~frozenEre@94.128.81.87)
2021-03-23 11:34:42 +0100Nahra(~Nahra@unaffiliated/nahra)
2021-03-23 11:35:06 +0100rond_(594021ff@89-64-33-255.dynamic.chello.pl)
2021-03-23 11:35:36 +0100 <rond_> Hi! What is a 'literal'? I've stumbled upon this term with no definition
2021-03-23 11:35:51 +0100Benzi-Junior(~BenziJuni@dsl-149-67-143.hive.is)
2021-03-23 11:35:54 +0100 <shachaf> What's the context?
2021-03-23 11:36:17 +0100 <shachaf> It probably means somthing like a number or a string written out in source code (i.e. a literal value, rather than a variable referring to a value).
2021-03-23 11:36:31 +0100 <Uniaika> rond_: 1, or "string"
2021-03-23 11:36:37 +0100 <rond_> All literal constants are of primitive type.
2021-03-23 11:36:38 +0100 <rond_> Literals of algebraic type are expressed by giving an explicit application of a constructor.
2021-03-23 11:36:50 +0100 <rond_> Uniaika that's hardly a definition...
2021-03-23 11:36:59 +0100 <Uniaika> because I gave you an example ;)
2021-03-23 11:37:02 +0100 <rond_> what about [1,2,3] ?
2021-03-23 11:37:08 +0100stree(~stree@68.36.8.116) (Ping timeout: 245 seconds)
2021-03-23 11:37:12 +0100z0k(~user@115.186.169.1) (Ping timeout: 256 seconds)
2021-03-23 11:37:25 +0100 <Uniaika> yeah it's a list litteral
2021-03-23 11:37:34 +0100 <peanut_> https://hackage.haskell.org/package/ghc-8.10.2/docs/Literal.html
2021-03-23 11:37:59 +0100 <shachaf> What's the full context?
2021-03-23 11:38:02 +0100 <shachaf> Is this the STG paper?
2021-03-23 11:38:08 +0100 <rond_> yes
2021-03-23 11:38:22 +0100 <shachaf> It looks like page 20 says what literals are.
2021-03-23 11:38:24 +0100 <rond_> I didn't know that it would be known here :O
2021-03-23 11:38:58 +0100 <shachaf> Oh, no, I guess they use it in a more general way later on.
2021-03-23 11:39:00 +0100PtxDK_(~quassel@2a01:7c8:aac3:591:5054:ff:fe3d:cac6)
2021-03-23 11:39:02 +0100 <rond_> Exactly!
2021-03-23 11:39:03 +0100PtxDK(~quassel@2a01:7c8:aac3:591:5054:ff:fe3d:cac6) (Ping timeout: 272 seconds)
2021-03-23 11:39:04 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2021-03-23 11:39:08 +0100 <rond_> without a definition...
2021-03-23 11:39:38 +0100 <rond_> literal == data value    - do you think it's justified?
2021-03-23 11:39:44 +0100 <rond_> Since everything is immutable... ?
2021-03-23 11:39:45 +0100 <peanut_> [1,2,3] is a list of integer literals, I don't think the list is a literal itself
2021-03-23 11:39:50 +0100 <shachaf> OK, my reading is, when they say "literal", they mean something of a primitive type, like integers.
2021-03-23 11:40:09 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-03-23 11:40:14 +0100 <shachaf> And maybe other things if you add them to your language, but I don't think their simple language has that.
2021-03-23 11:40:29 +0100 <rond_> So "Literals of algebraic type are expressed by giving an explicit application of a constructor." basically refers to boxed IntegeR?
2021-03-23 11:40:41 +0100 <shachaf> That one sentence about literals of algebraic data types is saying that things like [1,2,3] -- or even "abc" -- don't count as literals.
2021-03-23 11:40:49 +0100 <shachaf> Or Integer, sure.
2021-03-23 11:41:19 +0100 <rond_> Why [1,2,3] doesn't fall into "expressed by giving an explicit application of a constructor." ?
2021-03-23 11:41:25 +0100 <shachaf> Because [1,2,3] is actually "Cons 1 (Cons 2 (Cons 3 Nil))", and only the values of primitive types are literals.
2021-03-23 11:41:29 +0100Kaiepi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-03-23 11:41:48 +0100 <shachaf> It does -- in context, that sentence is saying those things *don't* count as literals, I think.
2021-03-23 11:42:24 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer)
2021-03-23 11:42:28 +0100 <rond_> My understanding is "Literals of algebraic type are" means that we have 2 distinguishable types of literals
2021-03-23 11:43:33 +0100 <shachaf> This is my reading: All literal constants are of primitive type; [what you might, in another context, call "]literals of algebraic type["] are expressed by giving an explicit application of a constructor.
2021-03-23 11:43:40 +0100 <rond_> All literal constants are of primitive type.
2021-03-23 11:43:40 +0100 <rond_> Literals of algebraic type are expressed by giving an explicit application of a constructor.
2021-03-23 11:43:41 +0100 <rond_> Don't you read it as
2021-03-23 11:43:41 +0100 <rond_> "1. Literal constants are:...
2021-03-23 11:43:42 +0100 <rond_> 2. Literals of algebraic type are..."
2021-03-23 11:43:42 +0100 <rond_> so two definitions for two distinguishable concepts?
2021-03-23 11:43:59 +0100MilkywayPirate(~user@178.157.255.8)
2021-03-23 11:44:11 +0100 <shachaf> My guess is that this doesn't matter too much for understanding the paper, anyway.
2021-03-23 11:44:38 +0100kam1(~kam1@37.129.96.190)
2021-03-23 11:45:02 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9)
2021-03-23 11:45:02 +0100kam1(~kam1@37.129.96.190) (Read error: Connection reset by peer)
2021-03-23 11:45:43 +0100 <rond_> Data types are divided into:
2021-03-23 11:45:44 +0100 <rond_> I algebraic data types: introduced explicitly by data declarations.
2021-03-23 11:45:44 +0100 <rond_> I primitive data types: built into the system.
2021-03-23 11:45:45 +0100 <rond_> For the purpose of this paper:
2021-03-23 11:45:45 +0100 <rond_> primitive types == unboxed types
2021-03-23 11:45:46 +0100 <rond_> All literal constants are of primitive type.
2021-03-23 11:45:46 +0100 <rond_> Literals of algebraic type are expressed by giving an explicit application of a constructor.
2021-03-23 11:45:47 +0100 <rond_> All arithmetic built-in operations operate over primitive values (for example +#).
2021-03-23 11:45:47 +0100 <rond_> Definitions for functions operating over non-primitive (i.e. algebraic) values can be
2021-03-23 11:45:48 +0100 <rond_> expressed directly in the STG language, and hence do not need to be built in.
2021-03-23 11:45:48 +0100 <rond_> That's what I want to say. And in order to be precise, I'd like to make sure I understand the term "algebraic data types" correctly.
2021-03-23 11:47:16 +0100dhil(~dhil@80.208.56.181)
2021-03-23 11:47:24 +0100 <rond_> So the question is: "Literal of algebraic type" means "an instance of any algebraic data type" or "an instance of algebraic data type that is a boxed representation of a primitive data type"
2021-03-23 11:47:37 +0100aarvar(~foewfoiew@2601:602:a080:fa0:49ff:dc3d:e55f:8dd)
2021-03-23 11:49:27 +0100ddellacosta(~ddellacos@86.106.143.206)
2021-03-23 11:49:32 +0100stree(~stree@68.36.8.116)
2021-03-23 11:49:43 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-03-23 11:49:50 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9) (Ping timeout: 264 seconds)
2021-03-23 11:51:59 +0100 <rond_> shachaf do you know which one is true? Or do you stand by "it doesn't matter and move on" ?
2021-03-23 11:53:16 +0100 <shachaf> My guess is that the one sentence you're quoting is using "literal" in a colloquial sense rather than the sense defined in the paper.
2021-03-23 11:53:43 +0100 <rond_> What's the colloquial sense here?
2021-03-23 11:53:45 +0100 <shachaf> I think if you run into any specific case where the word "literal" is used, it'll be easy to figure it out in context if it's not that.
2021-03-23 11:53:57 +0100 <shachaf> So it's probably not a big deal.
2021-03-23 11:54:12 +0100ddellacosta(~ddellacos@86.106.143.206) (Ping timeout: 256 seconds)
2021-03-23 11:54:24 +0100 <shachaf> The colloquial sense is fuzzy, and might include "abc" or might not, etc. -- the idea is just that it's a constant value.
2021-03-23 11:55:34 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2021-03-23 11:56:24 +0100 <rond_> I see, however, in immutable language such as Haskell, everything has constant (when eventually computed), right?
2021-03-23 11:56:35 +0100 <rond_> has constant value*
2021-03-23 11:57:50 +0100 <rond_> anyway, for the purpose of what I'm trying to say I think it'll be sufficient to interpret 'algebraic literal' as 'boxed primitive'
2021-03-23 11:57:50 +0100 <peanut_> GHC uses string literals as well
2021-03-23 11:58:56 +0100 <rond_> shachaf out of curiosity, how did you end up reading the paper? I thought it's a rather unpopular one\
2021-03-23 11:59:23 +0100 <shachaf> "literal" is a syntactic property.
2021-03-23 11:59:41 +0100 <shachaf> There's a node in the syntax tree which is an integer value or something.
2021-03-23 12:00:02 +0100 <shachaf> I don't know, isn't this paper a classic?
2021-03-23 12:00:06 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
2021-03-23 12:00:11 +0100 <shachaf> It's been years since I last looked at it.
2021-03-23 12:01:08 +0100 <rond_> Do you have a spare minute to discuss one more thing about this paper?
2021-03-23 12:02:26 +0100 <rond_> expression:
2021-03-23 12:02:27 +0100 <rond_> (f x) + y
2021-03-23 12:02:27 +0100 <rond_> CPS form:
2021-03-23 12:02:28 +0100 <rond_> f x (\fx. + fx y (\r. k r))
2021-03-23 12:02:28 +0100 <rond_> A lazy version of CPS would require the suspended computation inside a thunk to be a
2021-03-23 12:02:29 +0100 <rond_> function taking a continuation as its argument. So the CPS form would really be
2021-03-23 12:02:29 +0100 <rond_> f x (\fx. force y (\yr. + fx yr (\r. k r)))
2021-03-23 12:02:43 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
2021-03-23 12:02:49 +0100xff0x(~xff0x@2001:1a81:5390:3000:45a9:729d:b2a5:971c) (Ping timeout: 244 seconds)
2021-03-23 12:03:06 +0100 <rond_> If my understanding is correct, than the word `force` in the last line is completely obsolete
2021-03-23 12:03:07 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2021-03-23 12:03:44 +0100xff0x(~xff0x@2001:1a81:5390:3000:995b:3aea:9e89:d26f)
2021-03-23 12:03:47 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-03-23 12:04:02 +0100 <rond_> I should've also provided the sentence:
2021-03-23 12:04:03 +0100 <rond_> "where force is the function which forces a thunk (its first argument) by applying it to force’s second argument (the continuation)."
2021-03-23 12:04:21 +0100minoru_shiraeesh(~shiraeesh@46.34.206.238) (Ping timeout: 256 seconds)
2021-03-23 12:04:49 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-23 12:05:25 +0100 <shachaf> Like I said, it's been a while.
2021-03-23 12:05:46 +0100 <shachaf> Why is force unnecessary?
2021-03-23 12:06:26 +0100Major_Biscuit(~Major_Bis@wlan-145-94-219-47.wlan.tudelft.nl) (Ping timeout: 244 seconds)
2021-03-23 12:06:37 +0100 <rond_> since y is a thunk that takes a continuation, just apply the continuation to it
2021-03-23 12:07:06 +0100 <rond_> which is `(\yr. + fx yr (\r. k r))`. "Take the value of 'yr' (so the value of a a thunk) and do something  with it.
2021-03-23 12:07:42 +0100 <rond_> I don't see any need for `force` here
2021-03-23 12:07:50 +0100 <rond_> it's all good expressed with continuations
2021-03-23 12:07:54 +0100 <shachaf> Do they define "force"? Or is this just given an analogy?
2021-03-23 12:07:58 +0100 <shachaf> as an analogy
2021-03-23 12:08:15 +0100curl(5ce955fb@gateway/web/cgi-irc/kiwiirc.com/ip.92.233.85.251)
2021-03-23 12:08:16 +0100 <rond_> "where force is the function which forces a thunk (its first argument) by applying it to force’s second argument (the continuation)."
2021-03-23 12:08:19 +0100 <shachaf> Based on the surrounding text, you might also ask why "fx" isn't forced.
2021-03-23 12:08:43 +0100 <rond_> Yeah, the asymetry is also troubling here
2021-03-23 12:08:55 +0100 <rond_> hence, with my current understanding, `force` is obsolete
2021-03-23 12:09:19 +0100 <curl> hi, i was researching polynomial rootfinding and i found this; https://byorgey.wordpress.com/2019/02/13/finding-roots-of-polynomials-in-haskell/
2021-03-23 12:09:31 +0100 <shachaf> My guess is that they're gesturing at the fact that forcing is explicit in STG.
2021-03-23 12:10:01 +0100 <shachaf> And not saying something really precise.
2021-03-23 12:10:11 +0100 <curl> the modern methods involve orthogonal polynomial pencils, such as the colleague matrix, the eigenvalues of which are the roots of the polynomial
2021-03-23 12:10:35 +0100 <curl> the haskell rootfinding implementations dont seem to have that, or at least, i cant see one that does
2021-03-23 12:10:57 +0100Raito_Bezarius(~Raito@unaffiliated/raito-bezarius/x-8764578) (Ping timeout: 260 seconds)
2021-03-23 12:11:01 +0100 <rond_> shachaf  Okay. So would you say that my interpretaion that, without a `force`, it would work perfectly well seems to be correct?
2021-03-23 12:11:33 +0100 <shachaf> It depends on how y is defined.
2021-03-23 12:12:00 +0100 <shachaf> I'm imagining something like y :: Int, force :: Int -> (Int# -> r) -> r
2021-03-23 12:12:07 +0100is_null(~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 260 seconds)
2021-03-23 12:12:09 +0100cabpa(~cabpa@180.190.165.139)
2021-03-23 12:12:21 +0100 <rond_> Oh, I see
2021-03-23 12:12:53 +0100 <rond_> I imagined y :: ( r -> r)
2021-03-23 12:13:22 +0100 <rond_> Because "A lazy version of CPS would require the suspended computation inside a thunk to be a
2021-03-23 12:13:22 +0100 <rond_> function taking a continuation as its argument"
2021-03-23 12:13:27 +0100 <rond_> But I like it your way too
2021-03-23 12:14:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-03-23 12:15:06 +0100 <hpc> tomsmeding: i like it
2021-03-23 12:15:28 +0100malumore(~malumore@151.62.117.161) (Ping timeout: 245 seconds)
2021-03-23 12:15:30 +0100fuzzy_id(~user@78.30.11.72)
2021-03-23 12:16:07 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-23 12:16:49 +0100 <fuzzy_id> When I want to abort an input in GHCi I sometimes do “Ctrl+c” exiting GHCi itself. Does someone know how to reconfigure this?
2021-03-23 12:17:28 +0100 <curl> matlab seems to use chebychev spectra for root finding, with papers citing a toolbox called chebfun as being essential to modern rootfinding
2021-03-23 12:18:44 +0100apeyroux(~alex@78.20.138.88.rev.sfr.net)
2021-03-23 12:18:59 +0100 <curl> in byorgeys wordpress doc he gives a call for help for better rootfinding in haskell, i think this chebychev linearization approach is the way to go, because it is the industry standard as used via matlab
2021-03-23 12:19:50 +0100 <curl> and all the modern papers to do with rootfinding use appraoches based on it to do with pencils
2021-03-23 12:20:41 +0100 <curl> which are pretty much exactly the companion matrix for some polynomial the eigenvalues of which are the zeros
2021-03-23 12:22:01 +0100 <peanut_> fuzzy_id what OS?
2021-03-23 12:22:35 +0100is_null(~jpic@pdpc/supporter/professional/is-null)
2021-03-23 12:22:36 +0100 <curl> there are some stability issues with the QR eigensolver, when combined with the pencil to find the roots, and the papers present stability anaysis with eg QZ, but basically for a normal toolkit, any eigensolver available will do
2021-03-23 12:23:26 +0100 <curl> i think whats missing in haskell is the companion matrix, but maybe i just cant find it
2021-03-23 12:23:39 +0100 <rond_> Thank you shachaf , I need to go. Wish you a great day!
2021-03-23 12:24:36 +0100rond_(594021ff@89-64-33-255.dynamic.chello.pl) (Quit: Connection closed)
2021-03-23 12:24:41 +0100thunderrd(~thunderrd@183.182.111.116) (*.net *.split)
2021-03-23 12:25:04 +0100Kaiepi(~Kaiepi@47.54.252.148)
2021-03-23 12:25:07 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-03-23 12:26:31 +0100thunderrd(~thunderrd@183.182.111.116)
2021-03-23 12:26:33 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-03-23 12:26:39 +0100Major_Biscuit(~Major_Bis@wlan-145-94-219-47.wlan.tudelft.nl)
2021-03-23 12:27:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-23 12:27:52 +0100apeyroux(~alex@78.20.138.88.rev.sfr.net) (Ping timeout: 260 seconds)
2021-03-23 12:28:06 +0100malumore(~malumore@151.62.117.161)
2021-03-23 12:29:11 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-23 12:31:26 +0100nf(~n@monade.li) (Quit: Fairfarren.)
2021-03-23 12:31:35 +0100nf(~n@monade.li)
2021-03-23 12:31:49 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2021-03-23 12:32:41 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-03-23 12:32:45 +0100 <L29Ah> is it possible to ask quickcheck what did it choose as arbitrary instances deeper than the tested value type?
2021-03-23 12:32:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-23 12:33:25 +0100curl(5ce955fb@gateway/web/cgi-irc/kiwiirc.com/ip.92.233.85.251) (Quit: Connection closed)
2021-03-23 12:33:52 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds)
2021-03-23 12:34:10 +0100 <fuzzypixelz> https://wiki.haskell.org/Bottom say that Bottom is a member of all types because if it were not, the compiler would solve the Halting Problem. That just flew over my head because even if we don't know if the computation will stop or not, we know its type because ... Haskell is statically typed?
2021-03-23 12:34:39 +0100 <fuzzypixelz> Obviously I'm wrong in some ridiculous way
2021-03-23 12:35:13 +0100Kaiepi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-03-23 12:36:05 +0100 <dminuoso> fuzzypixelz: It's just an odd way of phrasing: If bottom was not a member of every type, then `f :: Int -> Int` would only be legit, if `f` would be defined at every value.
2021-03-23 12:36:14 +0100 <opqdonut> fuzzypixelz: if the type Bool only had the values True and False (and not Bottom), the expression `fix not :: Bool` would be a type error
2021-03-23 12:36:32 +0100 <dminuoso> The implementation would need a general algorithm to decide, whether an arbitrary was indeed defined at every value
2021-03-23 12:36:36 +0100 <opqdonut> fuzzypixelz: there are languages like this, they are called total languages. one example is agda
2021-03-23 12:36:42 +0100 <dminuoso> And such an algorithm would solve the turing problem
2021-03-23 12:36:51 +0100 <dminuoso> Since Haskell is turing complete
2021-03-23 12:36:58 +0100 <opqdonut> agda doesn't solve the halting problem, instead it forces the programmer to _prove_ that their function halts
2021-03-23 12:37:14 +0100Kaiepi(~Kaiepi@47.54.252.148)
2021-03-23 12:38:21 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-03-23 12:38:23 +0100natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2021-03-23 12:38:32 +0100RusAlex(~Chel@unaffiliated/rusalex) (Ping timeout: 240 seconds)
2021-03-23 12:38:55 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-23 12:39:42 +0100kam1(~kam1@83.123.174.63)
2021-03-23 12:40:00 +0100kam1(~kam1@83.123.174.63) (Read error: Connection reset by peer)
2021-03-23 12:40:56 +0100natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-03-23 12:41:45 +0100frozenErebus(~frozenEre@94.128.81.87) (Ping timeout: 256 seconds)
2021-03-23 12:42:42 +0100RusAlex(~Chel@unaffiliated/rusalex)
2021-03-23 12:44:11 +0100frozenErebus(~frozenEre@94.128.81.87)
2021-03-23 12:44:43 +0100ClaudiusMaximus(~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net)
2021-03-23 12:44:54 +0100ClaudiusMaximus(~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net) (Changing host)
2021-03-23 12:44:54 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus)
2021-03-23 12:46:15 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-03-23 12:47:26 +0100xff0x(~xff0x@2001:1a81:5390:3000:995b:3aea:9e89:d26f) (Ping timeout: 240 seconds)
2021-03-23 12:48:33 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-03-23 12:48:36 +0100xff0x(~xff0x@2001:1a81:5390:3000:dc2a:4ff5:6535:8a68)
2021-03-23 12:49:05 +0100 <fuzzypixelz> I understand dminuoso's explanation, however, I fail to see how `fix not :: Bool` would be a type error
2021-03-23 12:49:30 +0100 <dminuoso> fuzzypixelz: Will `fix not` terminate?
2021-03-23 12:49:32 +0100 <dminuoso> Or rather
2021-03-23 12:49:37 +0100 <dminuoso> What's the value of `fix not`?
2021-03-23 12:49:39 +0100 <dminuoso> Is it True? False?
2021-03-23 12:50:11 +0100 <fuzzypixelz> not it won't terminate because it keeps negating its input forever
2021-03-23 12:50:20 +0100 <dminuoso> So is it True or False?
2021-03-23 12:50:20 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-23 12:50:46 +0100 <fuzzypixelz> it's neither?
2021-03-23 12:51:30 +0100 <dminuoso> But if the values of `Bool` are only True or False, that's a problem then.
2021-03-23 12:52:19 +0100 <fuzzypixelz> oh thank you that's much clearer now
2021-03-23 12:52:33 +0100 <ski> L29Ah : not really
2021-03-23 12:53:18 +0100L29Ahsprinkles his code with traceShowId's
2021-03-23 12:53:40 +0100 <dminuoso> fuzzypixelz: What we do, is call values that dont terminate (infinite recursion, errors) "bottom", usually denoted _|_, and say that this value _|_ is a member of every type.
2021-03-23 12:54:40 +0100 <jacks2> is it just a coincidence that _|_ looks like buttocks? :)
2021-03-23 12:55:05 +0100 <ski> any expression could possibly not terminate. we call the "result value" of such an expression "bottom". it's not an actual result, because it doesn't actually terminate, but conceptually, we can think of it as a thing, representing "not defined"
2021-03-23 12:55:07 +0100glguy(x@freenode/staff/haskell.developer.glguy) (Read error: Connection reset by peer)
2021-03-23 12:55:10 +0100 <ski> yes
2021-03-23 12:55:28 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-03-23 12:55:28 +0100 <dminuoso> Im not sure whether its a coincidence.
2021-03-23 12:56:01 +0100 <dminuoso> Perhaps its from lattice theory?
2021-03-23 12:56:14 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-23 12:56:24 +0100 <dminuoso> _|_ could be visually interpreted as like something sitting at the bottom
2021-03-23 12:56:32 +0100 <ski> ⌜⊥⌝ is the symbol that the ascii version `_|_' is meant to resemble, that symbol is just an upside-down ⌜⊤⌝, which is a stylized `T', for "top"
2021-03-23 12:56:49 +0100 <ski> and yes, the symbol comes from order theory, lattices
2021-03-23 12:56:59 +0100 <ski> (via domain theory, and denotational semantics)
2021-03-23 12:57:21 +0100glguy(x@freenode/staff/haskell.developer.glguy)
2021-03-23 12:58:44 +0100 <ski> @quote denotational semantics
2021-03-23 12:58:45 +0100 <lambdabot> No quotes for this person. This mission is too important for me to allow you to jeopardize it.
2021-03-23 12:58:48 +0100 <ski> @quote denotational.semantics
2021-03-23 12:58:48 +0100 <lambdabot> vincenz says: Binkley: the sex is all in the operational semantics, denotational semantics only deals with love
2021-03-23 12:59:01 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-23 12:59:04 +0100 <ski> @quote no.comprehensible
2021-03-23 12:59:04 +0100 <lambdabot> quicksilver says: C++ templates are a vile obscenity with no theoretical foundation and no comprehensible denotational semantics. Please do not compare them to haskell types or classes again.
2021-03-23 12:59:21 +0100 <fuzzy_id> @peanut: Linux
2021-03-23 12:59:21 +0100 <lambdabot> Unknown command, try @list
2021-03-23 12:59:47 +0100 <dminuoso> ski: Regarding that last bit, do you know the standard compliant non-const constexpr hack, where a constexpr in two subsequent uses evaluates to different expressions?
2021-03-23 12:59:49 +0100 <fuzzy_id> @peanut_: Linux
2021-03-23 12:59:50 +0100 <lambdabot> Unknown command, try @list
2021-03-23 13:00:18 +0100 <dminuoso> ski: C++ [...] is a vile obscenity with no theoretical foundation and no comprehensible denotational semantics. :-)
2021-03-23 13:01:05 +0100ddellacosta(~ddellacos@86.106.143.100)
2021-03-23 13:01:41 +0100 <merijn> It doesn't even have a well defined grammar :p
2021-03-23 13:01:41 +0100 <peanut_> fuzzy_id ctrl+c keeps ghci open for me, strange
2021-03-23 13:01:43 +0100 <ski> fuzzy_id : fwiw, it's not IRC custom to adorn nicknames with sigils (like `@'). if you want to address, or refer to, someone, simply mention their nickname. many IRC clients will highlight/alert their user if the nickname is mentioned at the very start of the message (commonly followed by a comma or a colon, and the bulk of the message). not as many, if it's mentioned later. putting a `@' at the front makes
2021-03-23 13:01:49 +0100 <ski> it come not at the start
2021-03-23 13:02:10 +0100 <ski> dminuoso : haven't seen it, but i'm not that surprised ..
2021-03-23 13:02:13 +0100 <peanut_> dminuoso yes
2021-03-23 13:03:01 +0100cabpa(~cabpa@180.190.165.139) (Remote host closed the connection)
2021-03-23 13:04:08 +0100urodna(~urodna@unaffiliated/urodna)
2021-03-23 13:04:35 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-03-23 13:05:16 +0100 <fuzzy_id> ski: Yeah, I used to know that. Sorry, bad social networking habits.
2021-03-23 13:05:24 +0100 <peanut_> fuzzy_id sending SIGINT to ghc keeps it open for me, can you try "kill -SIGINT $(pidof ghc)"
2021-03-23 13:05:42 +0100 <ski> (IRC is social networking)
2021-03-23 13:05:47 +0100ddellacosta(~ddellacos@86.106.143.100) (Ping timeout: 260 seconds)
2021-03-23 13:06:16 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-23 13:06:48 +0100 <fuzzy_id> peanut_: Ah yeah, just noticed that it's actually not a ghci thing, but rather something in `stack repl`.
2021-03-23 13:07:27 +0100 <peanut_> interesting
2021-03-23 13:07:32 +0100 <fuzzy_id> … with docker backend.
2021-03-23 13:08:00 +0100 <fuzzy_id> Not sure what that starts.
2021-03-23 13:11:29 +0100plutoniix(~q@184.82.202.5) (Quit: Leaving)
2021-03-23 13:14:50 +0100codygman`(~user@47.186.207.161)
2021-03-23 13:16:25 +0100Lycurgus(~niemand@98.4.116.165)
2021-03-23 13:16:35 +0100fuzzy_id(~user@78.30.11.72) (Ping timeout: 272 seconds)
2021-03-23 13:18:16 +0100roconnor(~roconnor@host-45-58-230-226.dyn.295.ca)
2021-03-23 13:18:59 +0100friyin(~friyin4@46.136.209.213)
2021-03-23 13:19:24 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Remote host closed the connection)
2021-03-23 13:23:21 +0100frozenErebus(~frozenEre@94.128.81.87) (Ping timeout: 264 seconds)
2021-03-23 13:23:31 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2021-03-23 13:26:05 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-23 13:26:38 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-23 13:26:58 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-23 13:27:16 +0100jespada(~jespada@90.254.243.187) (Ping timeout: 265 seconds)
2021-03-23 13:27:26 +0100DTZUZU(~DTZUZO@205.ip-149-56-132.net) (Read error: Connection reset by peer)
2021-03-23 13:27:44 +0100DTZUZU(~DTZUZO@205.ip-149-56-132.net)
2021-03-23 13:27:50 +0100jonathanx_(~jonathan@h-176-109.A357.priv.bahnhof.se)
2021-03-23 13:28:50 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Ping timeout: 264 seconds)
2021-03-23 13:29:29 +0100jespada(~jespada@90.254.243.187)
2021-03-23 13:30:32 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se) (Ping timeout: 240 seconds)
2021-03-23 13:30:56 +0100__monty__(~toonn@unaffiliated/toonn)
2021-03-23 13:32:08 +0100DTZUZU(~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 245 seconds)
2021-03-23 13:32:37 +0100hiroaki1(~hiroaki@2a02:8108:8c40:2bb8:7b72:cc15:1305:937f) (Ping timeout: 260 seconds)
2021-03-23 13:33:29 +0100hiroaki1(~hiroaki@2a02:8108:8c40:2bb8:7bda:a87f:4d01:e46e)
2021-03-23 13:34:13 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Quit: ლ(ಠ益ಠლ) .:. <Ashley> my porn is hidden in a folder called "BBC Micro Emulator")
2021-03-23 13:34:32 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-23 13:34:54 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 13:35:19 +0100ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net)
2021-03-23 13:35:30 +0100fuzzy_id(~user@78.30.11.72)
2021-03-23 13:38:41 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Read error: Connection reset by peer)
2021-03-23 13:39:16 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 13:39:33 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds)
2021-03-23 13:42:32 +0100DTZUZU_(~DTZUZO@205.ip-149-56-132.net)
2021-03-23 13:42:57 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 256 seconds)
2021-03-23 13:45:33 +0100mettekou(~mettekou@ptr-8a5yln8pzxqkpgqdqbx.18120a2.ip6.access.telenet.be)
2021-03-23 13:46:16 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9)
2021-03-23 13:46:38 +0100Lycurgus(~niemand@98.4.116.165) (Quit: Exeunt)
2021-03-23 13:47:11 +0100mananamenos(~mananamen@62.red-88-11-67.dynamicip.rima-tde.net) (Ping timeout: 244 seconds)
2021-03-23 13:47:42 +0100geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-03-23 13:48:49 +0100raym(~ray@115.187.32.14) (Quit: leaving)
2021-03-23 13:50:14 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2021-03-23 13:51:38 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9) (Ping timeout: 264 seconds)
2021-03-23 13:54:54 +0100thoros(~thoros@194-166-47-167.hdsl.highway.telekom.at)
2021-03-23 13:56:38 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2021-03-23 13:57:33 +0100stree(~stree@68.36.8.116) (Ping timeout: 245 seconds)
2021-03-23 13:57:45 +0100sh9(~sh9@softbank060116136158.bbtec.net)
2021-03-23 13:58:17 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-23 14:00:00 +0100idhugo_(~idhugo@80-62-117-136-mobile.dk.customer.tdc.net) (Ping timeout: 256 seconds)
2021-03-23 14:00:19 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-23 14:00:40 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-23 14:01:29 +0100aggin(~ecm@103.88.87.99)
2021-03-23 14:04:11 +0100gzj(~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
2021-03-23 14:04:21 +0100mananamenos(~mananamen@62.red-88-11-67.dynamicip.rima-tde.net)
2021-03-23 14:04:31 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-23 14:04:32 +0100epicte7us(~epictetus@66.151.209.212)
2021-03-23 14:05:12 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-23 14:05:36 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-23 14:07:53 +0100ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net) (Ping timeout: 256 seconds)
2021-03-23 14:08:11 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-23 14:08:33 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-23 14:08:46 +0100kuribas(~user@ptr-25vy0i8kwraq2x2hwlo.18120a2.ip6.access.telenet.be)
2021-03-23 14:09:10 +0100drbean(~drbean@TC210-63-209-171.static.apol.com.tw)
2021-03-23 14:09:13 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-23 14:09:35 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-23 14:09:57 +0100stree(~stree@68.36.8.116)
2021-03-23 14:11:13 +0100gzj(~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
2021-03-23 14:11:35 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-23 14:14:14 +0100aggin(~ecm@103.88.87.99) (Quit: WeeChat 3.0.1)
2021-03-23 14:14:52 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Read error: Connection reset by peer)
2021-03-23 14:15:18 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-23 14:15:20 +0100berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 240 seconds)
2021-03-23 14:15:38 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-23 14:15:50 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 14:15:56 +0100berberman(~berberman@unaffiliated/berberman)
2021-03-23 14:16:37 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Remote host closed the connection)
2021-03-23 14:16:58 +0100alx741(~alx741@186.178.108.164)
2021-03-23 14:17:35 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 14:18:17 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-23 14:18:40 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-23 14:19:13 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 245 seconds)
2021-03-23 14:20:17 +0100gzj(~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
2021-03-23 14:20:40 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-23 14:21:08 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Client Quit)
2021-03-23 14:21:29 +0100Yumasi(~guillaume@2a01:e0a:5cb:4430:57ae:e786:30c4:a67d)
2021-03-23 14:22:02 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 14:23:05 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Remote host closed the connection)
2021-03-23 14:25:53 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 14:26:40 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-23 14:30:03 +0100mananamenos(~mananamen@62.red-88-11-67.dynamicip.rima-tde.net) (Ping timeout: 272 seconds)
2021-03-23 14:31:02 +0100toorevitimirp(~tooreviti@117.182.183.55) (Remote host closed the connection)
2021-03-23 14:31:19 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-23 14:31:30 +0100toorevitimirp(~tooreviti@117.182.183.55)
2021-03-23 14:31:41 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-23 14:31:50 +0100Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (Ping timeout: 264 seconds)
2021-03-23 14:31:55 +0100atriq(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
2021-03-23 14:34:05 +0100atriqTaneb
2021-03-23 14:40:37 +0100cheater1(~user@unaffiliated/cheater)
2021-03-23 14:40:52 +0100Tario(~Tario@201.192.165.173)
2021-03-23 14:41:24 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-03-23 14:41:26 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-23 14:41:44 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 240 seconds)
2021-03-23 14:41:52 +0100cheater1cheater
2021-03-23 14:42:52 +0100idhugo(~idhugo@80-62-117-136-mobile.dk.customer.tdc.net)
2021-03-23 14:49:04 +0100kiweun(~kiweun@2607:fea8:2a62:9600:d4ca:3dbb:1110:af82)
2021-03-23 14:50:57 +0100drbean(~drbean@TC210-63-209-171.static.apol.com.tw) (Ping timeout: 272 seconds)
2021-03-23 14:51:03 +0100ADG1089(~aditya@27.58.165.185)
2021-03-23 14:52:50 +0100mrchampion(~mrchampio@38.18.109.23)
2021-03-23 14:53:44 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 3.0.1)
2021-03-23 14:54:18 +0100Sorna(~Sornaensi@077213203030.dynamic.telenor.dk)
2021-03-23 14:54:56 +0100notzmv(~zmv@unaffiliated/zmv) (Ping timeout: 240 seconds)
2021-03-23 14:55:15 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-23 14:55:28 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-23 14:55:36 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-23 14:57:08 +0100raichoo(~raichoo@dslb-178-009-065-121.178.009.pools.vodafone-ip.de)
2021-03-23 14:57:10 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-23 14:57:17 +0100LKoen_(~LKoen@194.250.88.92.rev.sfr.net)
2021-03-23 14:57:30 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-23 14:57:50 +0100mananamenos(~mananamen@62.red-88-11-67.dynamicip.rima-tde.net)
2021-03-23 14:58:22 +0100Sornaensis(~Sornaensi@79.142.232.102.static.router4.bolignet.dk) (Ping timeout: 256 seconds)
2021-03-23 15:00:04 +0100LKoen(~LKoen@194.250.88.92.rev.sfr.net) (Ping timeout: 256 seconds)
2021-03-23 15:01:42 +0100rdivyanshu(uid322626@gateway/web/irccloud.com/x-siyxvspwdzfpxxyl)
2021-03-23 15:01:44 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr)
2021-03-23 15:02:17 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2021-03-23 15:05:17 +0100carlomagno(~cararell@148.87.23.10)
2021-03-23 15:05:50 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Read error: Connection reset by peer)
2021-03-23 15:05:57 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2021-03-23 15:06:11 +0100knupfer(~Thunderbi@dynamic-046-114-144-212.46.114.pool.telefonica.de)
2021-03-23 15:06:56 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 15:07:09 +0100haasn(~nand@mpv/developer/haasn) (Quit: ZNC 1.7.5+deb4 - https://znc.in)
2021-03-23 15:08:28 +0100rj(~x@gateway/tor-sasl/rj)
2021-03-23 15:09:23 +0100haasn(~nand@mpv/developer/haasn)
2021-03-23 15:10:08 +0100frozenErebus(~frozenEre@94.128.81.87)
2021-03-23 15:10:13 +0100Major_Biscuit(~Major_Bis@wlan-145-94-219-47.wlan.tudelft.nl) (Ping timeout: 256 seconds)
2021-03-23 15:10:14 +0100knupfer(~Thunderbi@dynamic-046-114-144-212.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2021-03-23 15:10:35 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-23 15:10:58 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-03-23 15:13:43 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Read error: Connection reset by peer)
2021-03-23 15:14:23 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 15:14:34 +0100minoru_shiraeesh(~shiraeesh@46.34.206.238)
2021-03-23 15:15:55 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Remote host closed the connection)
2021-03-23 15:16:51 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 15:17:33 +0100vicfred(~vicfred@unaffiliated/vicfred)
2021-03-23 15:21:20 +0100codygman`(~user@47.186.207.161) (Ping timeout: 265 seconds)
2021-03-23 15:21:53 +0100codygman`(~user@209.251.131.98)
2021-03-23 15:22:28 +0100raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-23 15:24:13 +0100forp(57e3c46d@87.227.196.109)
2021-03-23 15:24:26 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2021-03-23 15:25:09 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net)
2021-03-23 15:25:11 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2021-03-23 15:26:36 +0100aggin(~ecm@103.88.87.99)
2021-03-23 15:27:24 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-03-23 15:29:17 +0100johnnyv[m](badwolf256@gateway/shell/matrix.org/x-rlvkemimyqmbtjvy)
2021-03-23 15:29:21 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2021-03-23 15:31:18 +0100jsomedon(~jsomedon@114.252.43.205)
2021-03-23 15:32:17 +0100Major_Biscuit(~Major_Bis@wlan-145-94-219-47.wlan.tudelft.nl)
2021-03-23 15:32:26 +0100 <jsomedon> hello folks, what does "sum" mean for term "sum type" and similarly what does "product" mean for "product type"
2021-03-23 15:32:26 +0100xff0x(~xff0x@2001:1a81:5390:3000:dc2a:4ff5:6535:8a68) (Ping timeout: 240 seconds)
2021-03-23 15:32:39 +0100MilkywayPirate(~user@178.157.255.8) (Remote host closed the connection)
2021-03-23 15:32:51 +0100 <merijn> jsomedon: It's a reference to the "algebra" part of "algebraic datatypes"
2021-03-23 15:32:56 +0100MilkywayPirate(~user@178.157.255.8)
2021-03-23 15:33:14 +0100 <merijn> See things like: https://codewords.recurse.com/issues/three/algebra-and-calculus-of-algebraic-data-types
2021-03-23 15:33:23 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Ping timeout: 245 seconds)
2021-03-23 15:33:26 +0100xff0x(~xff0x@2001:1a81:5390:3000:bc77:584c:d8ed:27b0)
2021-03-23 15:33:46 +0100MilkywayPirate(~user@178.157.255.8) (Client Quit)
2021-03-23 15:34:10 +0100 <jsomedon> thank you let me read that and might come back with more questions
2021-03-23 15:34:41 +0100 <merijn> jsomedon: Also: https://www.youtube.com/watch?v=YScIPA8RbVE
2021-03-23 15:36:13 +0100MilkywayPirate(~user@178.157.255.8)
2021-03-23 15:39:14 +0100aggin(~ecm@103.88.87.99) (Quit: WeeChat 3.0.1)
2021-03-23 15:40:47 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-sfwykfysiphrscur)
2021-03-23 15:41:36 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-03-23 15:41:39 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2021-03-23 15:42:50 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-23 15:43:34 +0100fuzzy_id(~user@78.30.11.72) (Ping timeout: 265 seconds)
2021-03-23 15:45:56 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Ping timeout: 240 seconds)
2021-03-23 15:47:36 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9)
2021-03-23 15:49:11 +0100v01d4lph4(~v01d4lph4@106.212.133.35) (Read error: Connection reset by peer)
2021-03-23 15:49:19 +0100minoru_shiraeesh(~shiraeesh@46.34.206.238) (Ping timeout: 256 seconds)
2021-03-23 15:49:22 +0100codygman`(~user@209.251.131.98) (Ping timeout: 265 seconds)
2021-03-23 15:49:56 +0100codygman`(~user@47.186.207.161)
2021-03-23 15:52:13 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9) (Ping timeout: 244 seconds)
2021-03-23 15:54:00 +0100bitmagie(~Thunderbi@200116b806323f002d87bc9ab24a21a2.dip.versatel-1u1.de)
2021-03-23 15:54:54 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Quit: ლ(ಠ益ಠლ) .:. <Ashley> my porn is hidden in a folder called "BBC Micro Emulator")
2021-03-23 15:55:31 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 15:55:37 +0100ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net)
2021-03-23 15:56:11 +0100epicte7us(~epictetus@66.151.209.212) (Ping timeout: 272 seconds)
2021-03-23 15:56:45 +0100forp(57e3c46d@87.227.196.109) (Quit: Connection closed)
2021-03-23 15:57:20 +0100minoru_shiraeesh(~shiraeesh@46.34.206.238)
2021-03-23 15:57:34 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Client Quit)
2021-03-23 15:58:05 +0100kuribas(~user@ptr-25vy0i8kwraq2x2hwlo.18120a2.ip6.access.telenet.be) (Ping timeout: 272 seconds)
2021-03-23 15:58:06 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 15:58:08 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-23 15:58:29 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-23 16:02:58 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Client Quit)
2021-03-23 16:03:32 +0100knupfer(~Thunderbi@200116b824b988005814f1fffee1fb4f.dip.versatel-1u1.de)
2021-03-23 16:03:33 +0100knupfer(~Thunderbi@200116b824b988005814f1fffee1fb4f.dip.versatel-1u1.de) (Client Quit)
2021-03-23 16:03:40 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 16:03:49 +0100knupfer(~Thunderbi@i59F7FF9C.versanet.de)
2021-03-23 16:06:55 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-03-23 16:09:22 +0100Tops2(~Tobias@dyndsl-095-033-016-025.ewe-ip-backbone.de)
2021-03-23 16:12:40 +0100aggin(~ecm@103.88.87.99)
2021-03-23 16:16:09 +0100Amanda3(~Amanda@139.28.218.148)
2021-03-23 16:16:20 +0100jsomedon(~jsomedon@114.252.43.205) (Quit: jsomedon)
2021-03-23 16:16:31 +0100kam1(~kam1@37.129.53.162)
2021-03-23 16:16:32 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-23 16:16:49 +0100ntkr(uid491148@gateway/web/irccloud.com/x-onytzymuldscxwyh) (Quit: Connection closed for inactivity)
2021-03-23 16:16:53 +0100kam1(~kam1@37.129.53.162) (Read error: Connection reset by peer)
2021-03-23 16:16:53 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-23 16:16:56 +0100CrazyPython(~crazypyth@98.122.164.118)
2021-03-23 16:17:08 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 245 seconds)
2021-03-23 16:17:22 +0100Tario(~Tario@201.192.165.173)
2021-03-23 16:17:43 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-23 16:18:22 +0100stree(~stree@68.36.8.116) (Ping timeout: 265 seconds)
2021-03-23 16:19:15 +0100gzj(~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
2021-03-23 16:19:36 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-23 16:19:44 +0100v01d4lph4(~v01d4lph4@106.212.133.35)
2021-03-23 16:21:55 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds)
2021-03-23 16:22:04 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-23 16:22:12 +0100toorevitimirp(~tooreviti@117.182.183.55) (Remote host closed the connection)
2021-03-23 16:22:25 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-23 16:24:08 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-23 16:24:27 +0100v01d4lph4(~v01d4lph4@106.212.133.35) (Ping timeout: 256 seconds)
2021-03-23 16:24:58 +0100codygman`(~user@47.186.207.161) (Remote host closed the connection)
2021-03-23 16:25:17 +0100xff0x(~xff0x@2001:1a81:5390:3000:bc77:584c:d8ed:27b0) (Ping timeout: 244 seconds)
2021-03-23 16:26:25 +0100xff0x(~xff0x@2001:1a81:5390:3000:a106:5c1e:878c:2ba3)
2021-03-23 16:26:32 +0100codygman__(~user@47.186.207.161)
2021-03-23 16:27:27 +0100aggin(~ecm@103.88.87.99) (Quit: WeeChat 3.0.1)
2021-03-23 16:27:33 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
2021-03-23 16:29:14 +0100bitmagie(~Thunderbi@200116b806323f002d87bc9ab24a21a2.dip.versatel-1u1.de) (Quit: bitmagie)
2021-03-23 16:29:50 +0100Sorny(~Sornaensi@79.142.232.102)
2021-03-23 16:31:01 +0100stree(~stree@68.36.8.116)
2021-03-23 16:31:03 +0100shad0w_47(a0ca251f@160.202.37.31)
2021-03-23 16:31:31 +0100shad0w_47(a0ca251f@160.202.37.31) (Client Quit)
2021-03-23 16:32:08 +0100Tops2(~Tobias@dyndsl-095-033-016-025.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2021-03-23 16:32:12 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Quit: ლ(ಠ益ಠლ) .:. <Ashley> my porn is hidden in a folder called "BBC Micro Emulator")
2021-03-23 16:32:31 +0100dm9(~weechat@p200300dcb727d2004a5d60fffe655171.dip0.t-ipconnect.de)
2021-03-23 16:32:47 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 16:32:52 +0100Sorna(~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 260 seconds)
2021-03-23 16:32:53 +0100malumore(~malumore@151.62.117.161) (Remote host closed the connection)
2021-03-23 16:33:02 +0100aarvar(~foewfoiew@2601:602:a080:fa0:49ff:dc3d:e55f:8dd) (Ping timeout: 264 seconds)
2021-03-23 16:34:29 +0100Tops2(~Tobias@dyndsl-095-033-016-025.ewe-ip-backbone.de)
2021-03-23 16:34:39 +0100megaTherion(~therion@unix.io) (Read error: Connection reset by peer)
2021-03-23 16:34:48 +0100megaTherion(~therion@unix.io)
2021-03-23 16:34:59 +0100fiddlerwoaroof(~fiddlerwo@unaffiliated/fiddlerwoaroof) (Quit: Gone.)
2021-03-23 16:35:00 +0100Haskman[m](haskmanmat@gateway/shell/matrix.org/x-tnrbzczkfzxhidmh) (Ping timeout: 265 seconds)
2021-03-23 16:35:01 +0100alecs[m](malumorema@gateway/shell/matrix.org/x-xfixxujbpdqukczd) (Ping timeout: 265 seconds)
2021-03-23 16:35:01 +0100jkaye[m](jkayematri@gateway/shell/matrix.org/x-fepxtmokxrdmlycv) (Ping timeout: 265 seconds)
2021-03-23 16:35:01 +0100johnnyboy[m](gifumatrix@gateway/shell/matrix.org/x-yikznzlhyzrbvnbz) (Ping timeout: 265 seconds)
2021-03-23 16:35:03 +0100madnight(~madnight@static.59.103.201.195.clients.your-server.de) (Quit: ZNC 1.7.1 - https://znc.in)
2021-03-23 16:35:03 +0100Philonous(~Philonous@unaffiliated/philonous) (Remote host closed the connection)
2021-03-23 16:35:06 +0100jassob(~jassob@korrob.vth.sgsnet.se) (Ping timeout: 246 seconds)
2021-03-23 16:35:12 +0100andreas31(~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 268 seconds)
2021-03-23 16:35:13 +0100madnight_(~madnight@static.59.103.201.195.clients.your-server.de)
2021-03-23 16:35:13 +0100shailangsa(~shailangs@host165-120-169-19.range165-120.btcentralplus.com) (Ping timeout: 260 seconds)
2021-03-23 16:35:18 +0100fiddlerwoaroof(~fiddlerwo@unaffiliated/fiddlerwoaroof)
2021-03-23 16:35:18 +0100malumore(~malumore@151.62.117.161)
2021-03-23 16:35:30 +0100unclechu(unclechuma@gateway/shell/matrix.org/x-awlwoecumntvuvlv) (Ping timeout: 265 seconds)
2021-03-23 16:35:31 +0100gothos(~gothos@antsy.jhz.name) (Quit: ZNC - http://znc.in)
2021-03-23 16:35:32 +0100marble_visions(~user@68.183.79.8) (Quit: bye)
2021-03-23 16:35:47 +0100VarikValefor[m](varikvalef@gateway/shell/matrix.org/x-jtxzvhexsrzjwzlt) (Ping timeout: 246 seconds)
2021-03-23 16:35:47 +0100themsay[m](themsaymat@gateway/shell/matrix.org/x-ptarvovruaurhxwp) (Ping timeout: 246 seconds)
2021-03-23 16:35:47 +0100hsiktas[m](hsiktasmat@gateway/shell/matrix.org/x-temqgekgducjbrsh) (Ping timeout: 246 seconds)
2021-03-23 16:35:47 +0100mud(kadobanmat@gateway/shell/matrix.org/x-xvdyxlpvmhfdsgfh) (Ping timeout: 246 seconds)
2021-03-23 16:35:48 +0100pqwy[m](pqwymatrix@gateway/shell/matrix.org/x-pvxxvwuidasooizc) (Ping timeout: 246 seconds)
2021-03-23 16:35:48 +0100maralorn(maralornma@gateway/shell/matrix.org/x-jnnbxzasrfbfbikw) (Ping timeout: 246 seconds)
2021-03-23 16:35:48 +0100Blkt(~Blkt@2a01:4f8:200:2425::adda) (Read error: Connection reset by peer)
2021-03-23 16:35:48 +0100johnnyv[m](badwolf256@gateway/shell/matrix.org/x-rlvkemimyqmbtjvy) (Ping timeout: 246 seconds)
2021-03-23 16:35:48 +0100viktorstrate[m](viktorstra@gateway/shell/matrix.org/x-mdxgfvtcddruvquk) (Ping timeout: 246 seconds)
2021-03-23 16:35:49 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
2021-03-23 16:35:50 +0100tms_(thomaav@cassarossa.samfundet.no) (Ping timeout: 248 seconds)
2021-03-23 16:35:58 +0100Cesionaut[m](cesionautm@gateway/shell/matrix.org/x-vzpmewnmdjdjjutv) (Ping timeout: 265 seconds)
2021-03-23 16:35:59 +0100mrus[m](mrusmatrix@gateway/shell/matrix.org/x-welevbbwwrngbnao) (Ping timeout: 246 seconds)
2021-03-23 16:36:23 +0100ian_(~igloo@matrix.chaos.earth.li) (Ping timeout: 260 seconds)
2021-03-23 16:36:26 +0100marble_visions(~user@68.183.79.8)
2021-03-23 16:36:26 +0100Blkt(~Blkt@2a01:4f8:200:2425::adda)
2021-03-23 16:36:26 +0100Ericson2314(ericson231@gateway/shell/matrix.org/x-pmvxuyjweiegnupz) (Ping timeout: 240 seconds)
2021-03-23 16:36:26 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Ping timeout: 268 seconds)
2021-03-23 16:36:30 +0100SoF7(~SoF@unaffiliated/skillyonfire)
2021-03-23 16:36:31 +0100SoF(~SoF@unaffiliated/skillyonfire) (Read error: Connection reset by peer)
2021-03-23 16:36:31 +0100SoF7SoF
2021-03-23 16:36:35 +0100MahmoudMAZOUZ[m](mazouzmaen@gateway/shell/matrix.org/x-stmztyxtngssovxi) (Ping timeout: 240 seconds)
2021-03-23 16:36:39 +0100my_name_is_not_j(mynameisno@gateway/shell/matrix.org/x-gktbydycwnuqcokz) (Ping timeout: 244 seconds)
2021-03-23 16:36:44 +0100Major_Biscuit(~Major_Bis@wlan-145-94-219-47.wlan.tudelft.nl) (Ping timeout: 265 seconds)
2021-03-23 16:36:44 +0100Sathiana(~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.1)
2021-03-23 16:36:50 +0100MichaelHoffmannb(brisadmozi@gateway/shell/matrix.org/x-ebubrxwbqbyooquz) (Ping timeout: 258 seconds)
2021-03-23 16:36:50 +0100dyniec[m](dyniecmatr@gateway/shell/matrix.org/x-otvcijywljfvbaed) (Ping timeout: 258 seconds)
2021-03-23 16:36:51 +0100alexfmpe(alexfmpema@gateway/shell/matrix.org/x-nolwhhpwmbxikafc) (Ping timeout: 258 seconds)
2021-03-23 16:36:55 +0100bitonic(bitonicmat@gateway/shell/matrix.org/x-ipickbqxisfxlldz) (Ping timeout: 240 seconds)
2021-03-23 16:36:55 +0100fgaz(fgazmatrix@gateway/shell/matrix.org/x-ihiahjvhbvnutlcv) (Ping timeout: 240 seconds)
2021-03-23 16:36:56 +0100alar[m](alarmxalat@gateway/shell/matrix.org/x-mybgwpghbptgmctl) (Ping timeout: 240 seconds)
2021-03-23 16:37:08 +0100Sathiana(~kath@185-113-98-38.cust.bredband2.com)
2021-03-23 16:37:08 +0100valdyn(valdyn@c6a7cba1.vpn.njalla.net) (Ping timeout: 245 seconds)
2021-03-23 16:37:10 +0100michaelpj(michaelpjm@gateway/shell/matrix.org/x-fmbulfuorzhwugnj) (Ping timeout: 244 seconds)
2021-03-23 16:37:10 +0100lnxw37d4(lnxw37d4ma@gateway/shell/matrix.org/x-civsnwekuzleyzwa) (Ping timeout: 244 seconds)
2021-03-23 16:37:13 +0100loyon(loyonmatri@gateway/shell/matrix.org/x-mwratoiagnlssnyq) (Ping timeout: 258 seconds)
2021-03-23 16:37:13 +0100juri_(~juri@178.63.35.222) (Remote host closed the connection)
2021-03-23 16:37:20 +0100jassob(~jassob@korrob.vth.sgsnet.se)
2021-03-23 16:37:23 +0100andreas31(~andreas@gateway/tor-sasl/andreas303)
2021-03-23 16:37:26 +0100toasty_avocado[m(toastyavoc@gateway/shell/matrix.org/x-qelmcqsxgzxxevri) (Ping timeout: 240 seconds)
2021-03-23 16:37:26 +0100sm[m](simonmicma@gateway/shell/matrix.org/x-ujfsdlwwogwlclyc) (Ping timeout: 240 seconds)
2021-03-23 16:37:26 +0100hyiltiz-M(hyiltizkde@gateway/shell/kde/matrix/x-pbsqgxgfxkxgeyjp) (Ping timeout: 240 seconds)
2021-03-23 16:37:29 +0100Major_Biscuit(~Major_Bis@wlan-145-94-219-47.wlan.tudelft.nl)
2021-03-23 16:37:31 +0100lambdaclan(lambdaclan@gateway/shell/matrix.org/x-bzkoutlgvmwbkjji) (Ping timeout: 268 seconds)
2021-03-23 16:37:34 +0100Philonous(~Philonous@unaffiliated/philonous)
2021-03-23 16:37:34 +0100shad0w_10(a0ca251f@160.202.37.31)
2021-03-23 16:37:35 +0100jtojnar(jtojnarmat@gateway/shell/matrix.org/x-jkmbbhsofbyjdeff) (Ping timeout: 240 seconds)
2021-03-23 16:37:39 +0100tms_(thomaav@cassarossa.samfundet.no)
2021-03-23 16:37:41 +0100shad0w_(shadowma1@gateway/shell/matrix.org/x-bmdtekutdmvqywht) (Ping timeout: 244 seconds)
2021-03-23 16:37:41 +0100heck-to-the-gnom(heck-to-th@gateway/shell/matrix.org/x-ghqiohudnnrsihmj) (Ping timeout: 244 seconds)
2021-03-23 16:37:41 +0100siraben(sirabenmat@gateway/shell/matrix.org/x-fdyejfvjphhisdvz) (Ping timeout: 244 seconds)
2021-03-23 16:37:41 +0100kadoban(kadobanemp@gateway/shell/matrix.org/x-cpfubhuixmbptrmi) (Ping timeout: 244 seconds)
2021-03-23 16:37:41 +0100rednaZ[m](r3dnazmatr@gateway/shell/matrix.org/x-rdaonbrqeuwtjxsm) (Ping timeout: 244 seconds)
2021-03-23 16:37:42 +0100sweater(~sweater@206.81.18.26) (Ping timeout: 265 seconds)
2021-03-23 16:37:42 +0100hc(~hc@fsfe/hc) (Ping timeout: 265 seconds)
2021-03-23 16:37:43 +0100noctux``(t29LXXdf5w@unaffiliated/noctux) (Remote host closed the connection)
2021-03-23 16:37:43 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-03-23 16:37:49 +0100 <zzz> quit
2021-03-23 16:37:54 +0100Igloo(~igloo@matrix.chaos.earth.li)
2021-03-23 16:37:55 +0100valdyn(valdyn@c6a7cbd8.vpn.njalla.net)
2021-03-23 16:37:55 +0100maerwald[m](maerwaldma@gateway/shell/matrix.org/x-xejvrntxwtmqgyhk) (Ping timeout: 240 seconds)
2021-03-23 16:37:55 +0100joe[m]2(joemonoida@gateway/shell/matrix.org/x-ygxypwuzgvmgbeva) (Ping timeout: 240 seconds)
2021-03-23 16:37:55 +0100immae(immaematri@gateway/shell/matrix.org/x-ifxuogihibrvpfqo) (Ping timeout: 240 seconds)
2021-03-23 16:37:56 +0100rust-rocks[m](rust-rocks@gateway/shell/matrix.org/x-bqohnijxfkxiysny) (Ping timeout: 240 seconds)
2021-03-23 16:37:56 +0100Lurkki[m](lurkkifene@gateway/shell/matrix.org/x-mqydqxgjfsfhihgm) (Ping timeout: 240 seconds)
2021-03-23 16:37:56 +0100darkcodi[m](darkcodima@gateway/shell/matrix.org/x-rhzmsthbyuqylump) (Ping timeout: 240 seconds)
2021-03-23 16:37:56 +0100shieru[m](shierualet@gateway/shell/matrix.org/x-xdjkjxjdwcrtmgsg) (Ping timeout: 240 seconds)
2021-03-23 16:37:56 +0100DevTurks[m](turkdevops@gateway/shell/matrix.org/x-wvhgcgjcsihqdnpv) (Ping timeout: 240 seconds)
2021-03-23 16:37:56 +0100M53K5HUN_8[m](m53k5hun8m@gateway/shell/matrix.org/x-spimlfphvtdpgjrd) (Ping timeout: 240 seconds)
2021-03-23 16:37:56 +0100beardhatcode(robbertbea@gateway/shell/matrix.org/x-jovouonixnxlxvtc) (Ping timeout: 240 seconds)
2021-03-23 16:37:56 +0100mly[m](mlydisenco@gateway/shell/matrix.org/x-sghcilcxhnhkwjdd) (Ping timeout: 240 seconds)
2021-03-23 16:37:59 +0100 <zzz> so sorry
2021-03-23 16:38:03 +0100 <zzz> ignore that
2021-03-23 16:38:03 +0100shad0w_10(a0ca251f@160.202.37.31) (Client Quit)
2021-03-23 16:38:03 +0100noctux``(3aXdWzOx70@unaffiliated/noctux)
2021-03-23 16:38:05 +0100gothos(~gothos@antsy.jhz.name)
2021-03-23 16:38:11 +0100Nahra(~Nahra@unaffiliated/nahra) (Ping timeout: 265 seconds)
2021-03-23 16:38:11 +0100arianvp(~weechat@arianvp.me) (Ping timeout: 265 seconds)
2021-03-23 16:38:11 +0100xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 265 seconds)
2021-03-23 16:38:12 +0100invent[m](inventmatr@gateway/shell/matrix.org/x-djucmvmrumafpmmw) (Ping timeout: 244 seconds)
2021-03-23 16:38:12 +0100ManofLetters[m](manoflette@gateway/shell/matrix.org/x-englwmmecwrzyoqt) (Ping timeout: 244 seconds)
2021-03-23 16:38:12 +0100speakerspivakeem(speakerdea@gateway/shell/matrix.org/x-siqwjicgmhjtsmhd) (Ping timeout: 244 seconds)
2021-03-23 16:38:12 +0100plumenator[m](plumenator@gateway/shell/matrix.org/x-ourhytalkerxbsgx) (Ping timeout: 244 seconds)
2021-03-23 16:38:12 +0100jerin(jerinmatri@gateway/shell/matrix.org/x-fwxmmxrkuyeqajhb) (Ping timeout: 244 seconds)
2021-03-23 16:38:12 +0100JaakkoLuttinen[m(jluttinema@gateway/shell/matrix.org/x-gzujzorzbqrmauno) (Ping timeout: 244 seconds)
2021-03-23 16:38:12 +0100berberman[T](berberma4@gateway/shell/matrix.org/x-mlboebuijvpyfcgj) (Ping timeout: 244 seconds)
2021-03-23 16:38:13 +0100sweater(~sweater@206.81.18.26)
2021-03-23 16:38:15 +0100xcin(~x@159.203.132.140) (Ping timeout: 246 seconds)
2021-03-23 16:38:21 +0100Cthalupa(~cthulhu@47.186.47.75) (Ping timeout: 264 seconds)
2021-03-23 16:38:21 +0100 <dmwit> You can't tell me what to do, you're not my REAL dad.
2021-03-23 16:38:22 +0100Pressyware[m](pressyware@gateway/shell/matrix.org/x-merabgrvstchiodj) (Ping timeout: 258 seconds)
2021-03-23 16:38:22 +0100Lurkki[m]1(lurkkipriv@gateway/shell/matrix.org/x-skpmtcneqlzaxmfh) (Ping timeout: 258 seconds)
2021-03-23 16:38:22 +0100simara[m](simaramatr@gateway/shell/matrix.org/x-chhuoljzwygcerfa) (Ping timeout: 258 seconds)
2021-03-23 16:38:22 +0100mjlbach(atriusmatr@gateway/shell/matrix.org/x-idxtsewlxoswzwgx) (Ping timeout: 258 seconds)
2021-03-23 16:38:22 +0100CrabMan(phi-matrix@gateway/shell/matrix.org/x-itonprswumarsonx) (Ping timeout: 258 seconds)
2021-03-23 16:38:22 +0100jeffcasavant[m](jeffcasava@gateway/shell/matrix.org/x-pacacpixykpsrqbq) (Ping timeout: 258 seconds)
2021-03-23 16:38:22 +0100domenkozar[m](domenkozar@NixOS/user/domenkozar) (Ping timeout: 258 seconds)
2021-03-23 16:38:31 +0100xerox_(~xerox@unaffiliated/xerox)
2021-03-23 16:38:37 +0100addem[m](addemmatri@gateway/shell/matrix.org/x-dsozjjkkjhpfifoj) (Ping timeout: 272 seconds)
2021-03-23 16:38:43 +0100Nahra(~Nahra@unaffiliated/nahra)
2021-03-23 16:38:45 +0100kadobanana(kadoban9he@gateway/shell/matrix.org/x-fjnlfufgdsbleegm) (Ping timeout: 268 seconds)
2021-03-23 16:38:45 +0100anon1891[m](anon1891ma@gateway/shell/matrix.org/x-iijrpsnxyzdwzkmq) (Ping timeout: 268 seconds)
2021-03-23 16:38:45 +0100DamienCassou(damiencass@gateway/shell/matrix.org/x-nsfdradfsgvmppix) (Ping timeout: 268 seconds)
2021-03-23 16:38:45 +0100srid(sridmatrix@gateway/shell/matrix.org/x-rijgcnldikjyzqzg) (Ping timeout: 268 seconds)
2021-03-23 16:38:45 +0100PotatoHatsue(berbermanp@gateway/shell/matrix.org/x-invzcgjtdukarzux) (Ping timeout: 268 seconds)
2021-03-23 16:38:45 +0100arcontethegreat[(arcontethe@gateway/shell/matrix.org/x-txxxgbpslkgekqok) (Ping timeout: 268 seconds)
2021-03-23 16:38:45 +0100ThaEwat(thaewraptm@gateway/shell/matrix.org/x-tqryjbcnpoqvwatf) (Ping timeout: 268 seconds)
2021-03-23 16:38:45 +0100psydruid(psydruidma@gateway/shell/matrix.org/x-tfyqyfjqrbnqzjln) (Ping timeout: 268 seconds)
2021-03-23 16:38:56 +0100arianvp(~weechat@arianvp.me)
2021-03-23 16:38:59 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-03-23 16:39:28 +0100hc(~hc@fsfe/hc)
2021-03-23 16:39:50 +0100Pickchea(~private@unaffiliated/pickchea)
2021-03-23 16:40:47 +0100Cthalupa(~cthulhu@47.186.47.75)
2021-03-23 16:40:53 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:acf0:35a9:d96b:256f)
2021-03-23 16:42:12 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-23 16:42:27 +0100juri_(~juri@178.63.35.222)
2021-03-23 16:45:57 +0100borne(~fritjof@200116b8640b5f00a6d9c1e30b1bd3ca.dip.versatel-1u1.de) (Ping timeout: 244 seconds)
2021-03-23 16:46:58 +0100hexo(~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection)
2021-03-23 16:46:58 +0100srk(~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection)
2021-03-23 16:47:15 +0100xcin(~x@159.203.132.140)
2021-03-23 16:47:38 +0100srk(~sorki@gateway/tor-sasl/sorki)
2021-03-23 16:47:39 +0100hexo(~hexo@gateway/tor-sasl/hexo)
2021-03-23 16:48:12 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net) (Remote host closed the connection)
2021-03-23 16:48:22 +0100arianvp(~weechat@arianvp.me) (Read error: Connection timed out)
2021-03-23 16:48:30 +0100xcin(~x@159.203.132.140) (Read error: Connection timed out)
2021-03-23 16:48:45 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:acf0:35a9:d96b:256f) (Read error: Connection timed out)
2021-03-23 16:48:46 +0100arianvp(~weechat@arianvp.me)
2021-03-23 16:48:48 +0100Major_Biscuit(~Major_Bis@wlan-145-94-219-47.wlan.tudelft.nl) (Read error: Connection timed out)
2021-03-23 16:48:53 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Quit: ლ(ಠ益ಠლ) .:. <Ashley> my porn is hidden in a folder called "BBC Micro Emulator")
2021-03-23 16:48:54 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9)
2021-03-23 16:48:59 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:acf0:35a9:d96b:256f)
2021-03-23 16:49:03 +0100xerox_(~xerox@unaffiliated/xerox) (Read error: Connection timed out)
2021-03-23 16:49:06 +0100Major_Biscuit(~Major_Bis@wlan-145-94-219-47.wlan.tudelft.nl)
2021-03-23 16:49:11 +0100xerox_(~xerox@unaffiliated/xerox)
2021-03-23 16:49:33 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 16:50:22 +0100hsiktas[m](hsiktasmat@gateway/shell/matrix.org/x-jsnspyhjqkcidwxy)
2021-03-23 16:50:26 +0100VarikValefor[m](varikvalef@gateway/shell/matrix.org/x-knkkqovlsdtyomsj)
2021-03-23 16:50:38 +0100mud(kadobanmat@gateway/shell/matrix.org/x-yliwoxyquggnlcor)
2021-03-23 16:50:48 +0100themsay[m](themsaymat@gateway/shell/matrix.org/x-gjenhikfotmgdkjf)
2021-03-23 16:51:38 +0100ADG1089(~aditya@27.58.165.185) (Remote host closed the connection)
2021-03-23 16:51:39 +0100curiousgay(~gay@178.217.208.8) (Ping timeout: 256 seconds)
2021-03-23 16:51:54 +0100maralorn(maralornma@gateway/shell/matrix.org/x-kagukfsfpcrzvbls)
2021-03-23 16:52:16 +0100xcin(~x@159.203.132.140)
2021-03-23 16:52:43 +0100pqwy[m](pqwymatrix@gateway/shell/matrix.org/x-clgrxiyegovoaorn)
2021-03-23 16:52:51 +0100notzmv(~zmv@unaffiliated/zmv)
2021-03-23 16:53:11 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9) (Ping timeout: 244 seconds)
2021-03-23 16:53:18 +0100hyiltiz-M(hyiltizkde@gateway/shell/kde/matrix/x-oumhxaxiicvtttlv)
2021-03-23 16:53:38 +0100jkaye[m](jkayematri@gateway/shell/matrix.org/x-qbldkaokruodskkg)
2021-03-23 16:53:38 +0100alecs[m](malumorema@gateway/shell/matrix.org/x-tngsmqgofxgrikni)
2021-03-23 16:53:42 +0100johnnyboy[m](gifumatrix@gateway/shell/matrix.org/x-srskbesngkvoucku)
2021-03-23 16:53:55 +0100Haskman[m](haskmanmat@gateway/shell/matrix.org/x-vsnyavlzuoisyaeq)
2021-03-23 16:54:32 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Read error: Connection reset by peer)
2021-03-23 16:54:52 +0100molehillish(~molehilli@2600:8800:8d06:1800:a4ec:e3c6:6b54:caa8)
2021-03-23 16:55:20 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 16:56:01 +0100guest323(~user@49.5.6.87) (Remote host closed the connection)
2021-03-23 16:57:16 +0100johnnyv[m](badwolf256@gateway/shell/matrix.org/x-tfaibwbsyaawzhhj)
2021-03-23 16:57:32 +0100shailangsa(~shailangs@host165-120-169-19.range165-120.btcentralplus.com)
2021-03-23 16:57:58 +0100dyniec[m](dyniecmatr@gateway/shell/matrix.org/x-uwulhmgilwpifdol)
2021-03-23 16:59:25 +0100my_name_is_not_j(mynameisno@gateway/shell/matrix.org/x-npfrafotfnybfrao)
2021-03-23 17:01:09 +0100viktorstrate[m](viktorstra@gateway/shell/matrix.org/x-zxlycwezjdpjnfkv)
2021-03-23 17:01:25 +0100alexfmpe(alexfmpema@gateway/shell/matrix.org/x-nwkfuvlkbndpfvxk)
2021-03-23 17:01:40 +0100MichaelHoffmannb(brisadmozi@gateway/shell/matrix.org/x-cvnnmjtfpdwpnugh)
2021-03-23 17:01:51 +0100Ericson2314(ericson231@gateway/shell/matrix.org/x-bawqklmrfwxnxfvn)
2021-03-23 17:02:22 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-23 17:03:31 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Quit: ლ(ಠ益ಠლ) .:. <Ashley> my porn is hidden in a folder called "BBC Micro Emulator")
2021-03-23 17:04:19 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 17:04:25 +0100unclechu(unclechuma@gateway/shell/matrix.org/x-wfyfrzflxiiafrog)
2021-03-23 17:04:29 +0100lnxw37d4(lnxw37d4ma@gateway/shell/matrix.org/x-tlnhxzpeznkzrtuq)
2021-03-23 17:04:58 +0100mettekou(~mettekou@ptr-8a5yln8pzxqkpgqdqbx.18120a2.ip6.access.telenet.be) (Quit: Leaving)
2021-03-23 17:04:59 +0100heebo(~user@cpc97956-croy24-2-0-cust20.19-2.cable.virginm.net)
2021-03-23 17:05:00 +0100michaelpj(michaelpjm@gateway/shell/matrix.org/x-yxczbfwjcvkogtej)
2021-03-23 17:05:10 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Remote host closed the connection)
2021-03-23 17:05:35 +0100dm9(~weechat@p200300dcb727d2004a5d60fffe655171.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2021-03-23 17:05:52 +0100loyon(loyonmatri@gateway/shell/matrix.org/x-wpimpyhucqiwbgpt)
2021-03-23 17:06:04 +0100LKoen_(~LKoen@194.250.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2021-03-23 17:06:09 +0100fendor_(~fendor@91.141.1.53.wireless.dyn.drei.com)
2021-03-23 17:06:17 +0100alar[m](alarmxalat@gateway/shell/matrix.org/x-czoxvspjopuwzwfc)
2021-03-23 17:06:42 +0100totoro2021(~t@unaffiliated/totoro2021) (Ping timeout: 265 seconds)
2021-03-23 17:06:51 +0100Cesionaut[m](cesionautm@gateway/shell/matrix.org/x-bouxqlelcqmdkmay)
2021-03-23 17:07:53 +0100mrus[m](mrusmatrix@gateway/shell/matrix.org/x-nyxisannhqxusqip)
2021-03-23 17:07:54 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 17:08:38 +0100fendor(~fendor@178.165.131.158.wireless.dyn.drei.com) (Ping timeout: 265 seconds)
2021-03-23 17:08:57 +0100addem[m](addemmatri@gateway/shell/matrix.org/x-ntvnidtawalxbjtp)
2021-03-23 17:10:23 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Read error: Connection reset by peer)
2021-03-23 17:10:30 +0100sm[m](simonmicma@gateway/shell/matrix.org/x-utidehjolisbbzib)
2021-03-23 17:11:04 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 17:11:07 +0100rdivyanshu(uid322626@gateway/web/irccloud.com/x-siyxvspwdzfpxxyl) (Quit: Connection closed for inactivity)
2021-03-23 17:11:21 +0100MahmoudMAZOUZ[m](mazouzmaen@gateway/shell/matrix.org/x-zmmzhvmpppteyfyp)
2021-03-23 17:11:26 +0100curiousgay(~gay@178.217.208.8)
2021-03-23 17:11:56 +0100heck-to-the-gnom(heck-to-th@gateway/shell/matrix.org/x-kmjeqntjrpvcwwjg)
2021-03-23 17:11:57 +0100ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-03-23 17:12:52 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-03-23 17:12:58 +0100gnumonic(~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
2021-03-23 17:13:05 +0100rednaZ[m](r3dnazmatr@gateway/shell/matrix.org/x-lzmptztukgszoxpq)
2021-03-23 17:13:09 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Read error: Connection reset by peer)
2021-03-23 17:13:13 +0100lambdaclan(lambdaclan@gateway/shell/matrix.org/x-msivqfjwrgwymfkm)
2021-03-23 17:13:30 +0100vicfred(~vicfred@unaffiliated/vicfred) (Remote host closed the connection)
2021-03-23 17:13:32 +0100toasty_avocado[m(toastyavoc@gateway/shell/matrix.org/x-loprzciosfemkzbl)
2021-03-23 17:13:43 +0100vicfred(~vicfred@unaffiliated/vicfred)
2021-03-23 17:14:38 +0100siraben(sirabenmat@gateway/shell/matrix.org/x-yfumbrfrhkufdprl)
2021-03-23 17:14:46 +0100fgaz(fgazmatrix@gateway/shell/matrix.org/x-miolkkmcquhustia)
2021-03-23 17:14:57 +0100kadoban(kadobanemp@gateway/shell/matrix.org/x-flguyzdddcwjthqm)
2021-03-23 17:14:58 +0100bitonic(bitonicmat@gateway/shell/matrix.org/x-haecgexsvzkddgnf)
2021-03-23 17:15:53 +0100idhugo(~idhugo@80-62-117-136-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds)
2021-03-23 17:16:00 +0100DevTurks[m](turkdevops@gateway/shell/matrix.org/x-dvhiuszorullyqrz)
2021-03-23 17:16:45 +0100darkcodi[m](darkcodima@gateway/shell/matrix.org/x-owzuajoacjbourmn)
2021-03-23 17:16:59 +0100speakerspivakeem(speakerdea@gateway/shell/matrix.org/x-vezbntbvhbeyemoh)
2021-03-23 17:17:02 +0100invent[m](inventmatr@gateway/shell/matrix.org/x-vetnnuxstyqknlip)
2021-03-23 17:17:02 +0100ManofLetters[m](manoflette@gateway/shell/matrix.org/x-hjwxpjbidxzyrpuv)
2021-03-23 17:17:06 +0100jerin(jerinmatri@gateway/shell/matrix.org/x-whazqgkcsutptuow)
2021-03-23 17:17:07 +0100Lurkki[m](lurkkifene@gateway/shell/matrix.org/x-xwixopphgbkutypm)
2021-03-23 17:17:08 +0100plumenator[m](plumenator@gateway/shell/matrix.org/x-ljfdmyhcpdaqbemc)
2021-03-23 17:17:16 +0100berberman[T](berberma4@gateway/shell/matrix.org/x-uqzlhosordkmbbav)
2021-03-23 17:17:36 +0100JaakkoLuttinen[m(jluttinema@gateway/shell/matrix.org/x-tggcefububuqeyek)
2021-03-23 17:18:49 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 17:18:53 +0100valdyn(valdyn@c6a7cbd8.vpn.njalla.net) (Remote host closed the connection)
2021-03-23 17:19:16 +0100Lurkki[m]1(lurkkipriv@gateway/shell/matrix.org/x-bdtjlzpkgszqmqzb)
2021-03-23 17:19:16 +0100shieru[m](shierualet@gateway/shell/matrix.org/x-dyldivlegqzehsie)
2021-03-23 17:19:17 +0100simara[m](simaramatr@gateway/shell/matrix.org/x-cuvsgvwpxvwiqjpk)
2021-03-23 17:19:18 +0100jeffcasavant[m](jeffcasava@gateway/shell/matrix.org/x-ckjwitulpnbmjojr)
2021-03-23 17:19:21 +0100beardhatcode(robbertbea@gateway/shell/matrix.org/x-czxkutvkgyyqphjm)
2021-03-23 17:19:25 +0100M53K5HUN_8[m](m53k5hun8m@gateway/shell/matrix.org/x-euhzwfxzheermniq)
2021-03-23 17:19:29 +0100mjlbach(atriusmatr@gateway/shell/matrix.org/x-bzgyavhtbyntgokj)
2021-03-23 17:19:31 +0100CrabMan(phi-matrix@gateway/shell/matrix.org/x-pxdupdbzhbhntgjm)
2021-03-23 17:19:57 +0100v01d4lph4(~v01d4lph4@106.212.133.35)
2021-03-23 17:20:01 +0100v01d4lph4(~v01d4lph4@106.212.133.35) (Remote host closed the connection)
2021-03-23 17:20:02 +0100Pickchea(~private@unaffiliated/pickchea) (Ping timeout: 256 seconds)
2021-03-23 17:20:17 +0100borne(~fritjof@200116b8640b5f00a6d9c1e30b1bd3ca.dip.versatel-1u1.de)
2021-03-23 17:20:19 +0100Pressyware[m](pressyware@gateway/shell/matrix.org/x-rmfhtohxmiuunkwo)
2021-03-23 17:20:26 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-03-23 17:20:50 +0100aggin(~ecm@103.88.87.99)
2021-03-23 17:21:06 +0100v01d4lph4(~v01d4lph4@106.212.133.35)
2021-03-23 17:21:35 +0100mly[m](mlydisenco@gateway/shell/matrix.org/x-lmlneosenqetjeub)
2021-03-23 17:22:06 +0100 <heebo> rip #haskell?
2021-03-23 17:22:47 +0100pavonia(~user@unaffiliated/siracusa)
2021-03-23 17:23:03 +0100 <geekosaur> quiet day
2021-03-23 17:23:04 +0100mozzarella(~sam@unaffiliated/sam113101) (Remote host closed the connection)
2021-03-23 17:23:44 +0100domenkozar[m](domenkozar@NixOS/user/domenkozar)
2021-03-23 17:24:56 +0100acidjnk_new(~acidjnk@p200300d0c72b9578819a903e74dd056f.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2021-03-23 17:25:11 +0100anon1891[m](anon1891ma@gateway/shell/matrix.org/x-vfieadqtsyulhqgi)
2021-03-23 17:25:14 +0100kadobanana(kadoban9he@gateway/shell/matrix.org/x-wdfydwqecifgzpgk)
2021-03-23 17:25:15 +0100srid(sridmatrix@gateway/shell/matrix.org/x-impqlijaqyrahmjd)
2021-03-23 17:25:29 +0100PotatoHatsue(berbermanp@gateway/shell/matrix.org/x-brvkhptllqowaasd)
2021-03-23 17:25:30 +0100arcontethegreat[(arcontethe@gateway/shell/matrix.org/x-godgukqzijrupgty)
2021-03-23 17:27:30 +0100jtojnar(jtojnarmat@gateway/shell/matrix.org/x-kgoshxibrhfojsgt)
2021-03-23 17:27:39 +0100jess(jess@freenode/staff/jess) (Quit: K-Lined)
2021-03-23 17:27:43 +0100DamienCassou(damiencass@gateway/shell/matrix.org/x-hxomipezvrrwlvte)
2021-03-23 17:27:44 +0100rust-rocks[m](rust-rocks@gateway/shell/matrix.org/x-ydwvigzffwbttrpc)
2021-03-23 17:27:45 +0100ThaEwat(thaewraptm@gateway/shell/matrix.org/x-qmjjocnwqifzpqxk)
2021-03-23 17:28:02 +0100maerwald[m](maerwaldma@gateway/shell/matrix.org/x-fkfkjtcykuzsusmd)
2021-03-23 17:28:03 +0100molehillish(~molehilli@2600:8800:8d06:1800:a4ec:e3c6:6b54:caa8) (Read error: Connection reset by peer)
2021-03-23 17:28:05 +0100joe[m]2(joemonoida@gateway/shell/matrix.org/x-sduglxhfmdqkldsw)
2021-03-23 17:28:09 +0100psydruid(psydruidma@gateway/shell/matrix.org/x-znwlfcujfjkeivza)
2021-03-23 17:28:30 +0100immae(immaematri@gateway/shell/matrix.org/x-zfqwhsdxxdxwoswl)
2021-03-23 17:30:51 +0100raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.1)
2021-03-23 17:31:56 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
2021-03-23 17:31:58 +0100jneira[m](~jneira@125.red-176-83-69.dynamicip.rima-tde.net)
2021-03-23 17:31:59 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-23 17:32:27 +0100codygman__(~user@47.186.207.161) (Remote host closed the connection)
2021-03-23 17:32:54 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-23 17:32:56 +0100mmkarakaya(~mmk@176.33.226.149)
2021-03-23 17:33:08 +0100infinity0(~infinity0@freenet/developer/infinity0) (Remote host closed the connection)
2021-03-23 17:33:26 +0100cheater(~user@unaffiliated/cheater) (Remote host closed the connection)
2021-03-23 17:35:10 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-03-23 17:35:26 +0100infinity0(~infinity0@freenet/developer/infinity0)
2021-03-23 17:35:48 +0100cheater(~user@unaffiliated/cheater)
2021-03-23 17:37:03 +0100codygman__(~user@47.186.207.161)
2021-03-23 17:38:56 +0100aggin(~ecm@103.88.87.99) (Quit: WeeChat 3.0.1)
2021-03-23 17:38:59 +0100kritzefitz(~kritzefit@2003:5b:203b:200::10:49) (Remote host closed the connection)
2021-03-23 17:41:29 +0100 <monochrom> Unpopular opinion: "data X = N | C Int X" is a power series so it is an analytic type. >:)
2021-03-23 17:41:30 +0100MilkywayPirate(~user@178.157.255.8) (Ping timeout: 265 seconds)
2021-03-23 17:42:04 +0100 <d34df00d> I have a list of objections to that.
2021-03-23 17:42:12 +0100MilkywayPirate(~user@178.157.255.8)
2021-03-23 17:42:36 +0100Kaiepi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-03-23 17:43:14 +0100Yumasi(~guillaume@2a01:e0a:5cb:4430:57ae:e786:30c4:a67d) (Ping timeout: 264 seconds)
2021-03-23 17:43:32 +0100Kaiepi(~Kaiepi@47.54.252.148)
2021-03-23 17:43:51 +0100waleee-cl(uid373333@gateway/web/irccloud.com/x-vadqztdqpenulmke)
2021-03-23 17:43:58 +0100electricityZZZZ(~electrici@135-180-3-82.static.sonic.net)
2021-03-23 17:44:48 +0100Yumasi(~guillaume@40.72.95.92.rev.sfr.net)
2021-03-23 17:45:49 +0100codygman`(~user@209.251.131.98)
2021-03-23 17:45:53 +0100jneira[m](~jneira@125.red-176-83-69.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-03-23 17:45:55 +0100forgottenone(~forgotten@176.42.23.95)
2021-03-23 17:46:00 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-23 17:46:25 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Client Quit)
2021-03-23 17:46:27 +0100coot_(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2021-03-23 17:46:44 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-23 17:46:52 +0100 <heebo> monochrom: im slow, why is it a power series
2021-03-23 17:47:13 +0100 <monochrom> 1 + Int + Int^2 + Int^3 + Int^4 + ...
2021-03-23 17:47:26 +0100codygman__(~user@47.186.207.161) (Ping timeout: 264 seconds)
2021-03-23 17:48:29 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Client Quit)
2021-03-23 17:49:05 +0100 <heebo> i saw it just as a series of int
2021-03-23 17:49:39 +0100 <monochrom> 1 + x + x^2 + x^3 + ... is a power series.
2021-03-23 17:49:40 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-23 17:49:43 +0100coot(~coot@37.30.58.223.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 265 seconds)
2021-03-23 17:49:43 +0100coot_coot
2021-03-23 17:49:48 +0100Garbanzo(~Garbanzo@2602:304:6eac:dc10::2e)
2021-03-23 17:50:20 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
2021-03-23 17:50:24 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Client Quit)
2021-03-23 17:50:29 +0100 <geekosaur> the second X brings in more Ints
2021-03-23 17:50:45 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-23 17:51:36 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2021-03-23 17:51:46 +0100ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-03-23 17:52:21 +0100ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-03-23 17:53:49 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9)
2021-03-23 17:54:30 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-23 17:54:59 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-23 17:55:09 +0100gzj(~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
2021-03-23 17:55:29 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-23 17:55:50 +0100 <tomsmeding> X =~ [Int]
2021-03-23 17:56:04 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Quit: WeeChat 1.9.1)
2021-03-23 17:56:14 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Client Quit)
2021-03-23 17:56:18 +0100Major_Biscuit(~Major_Bis@wlan-145-94-219-47.wlan.tudelft.nl) (Ping timeout: 256 seconds)
2021-03-23 17:56:24 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-23 17:56:32 +0100 <geekosaur> yes
2021-03-23 17:56:34 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Quit: ლ(ಠ益ಠლ) .:. <Ashley> my porn is hidden in a folder called "BBC Micro Emulator")
2021-03-23 17:56:40 +0100 <Gurkenglas> Does every Contravariant f have some F and some Functor g such that f a is just g a -> F?
2021-03-23 17:56:54 +0100apeyroux(~alex@78.20.138.88.rev.sfr.net)
2021-03-23 17:57:02 +0100minoru_shiraeesh(~shiraeesh@46.34.206.238) (Ping timeout: 264 seconds)
2021-03-23 17:57:07 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 17:58:34 +0100 <tomsmeding> monochrom: data X' i = N | C i (X' (i, Int)) ; type X = X' () -- that's a power series
2021-03-23 17:58:40 +0100 <dolio> monochrom: https://youtu.be/XqywV-wkKSE?t=2486
2021-03-23 17:59:09 +0100ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-03-23 17:59:23 +0100ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-03-23 17:59:38 +0100kuribas(~user@ptr-25vy0i8idla2ics5k8n.18120a2.ip6.access.telenet.be)
2021-03-23 17:59:44 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Client Quit)
2021-03-23 18:00:07 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net)
2021-03-23 18:00:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-03-23 18:01:20 +0100minoru_shiraeesh(~shiraeesh@46.34.206.238)
2021-03-23 18:01:46 +0100 <heebo> just looked like: data List = Empty | Int `:` List
2021-03-23 18:01:56 +0100 <heebo> excuse my bastard syntax
2021-03-23 18:02:44 +0100 <heebo> at least is isomorphic to it.
2021-03-23 18:03:17 +0100MilkywayPirate(~user@178.157.255.8) (Ping timeout: 260 seconds)
2021-03-23 18:03:27 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds)
2021-03-23 18:04:02 +0100 <tomsmeding> heebo: backticks are for making alphabetic names infix; operators are infix by default
2021-03-23 18:04:07 +0100 <geekosaur> heebo, monochrom is describing it in terms of sum and product types
2021-03-23 18:04:10 +0100 <tomsmeding> so it would've been data List = Empty | Int : List
2021-03-23 18:05:00 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-03-23 18:05:38 +0100conal(~conal@192.145.118.79) (Quit: Computer has gone to sleep.)
2021-03-23 18:06:48 +0100 <Gurkenglas> tomsmeding, shouldn't it be data X' i = N i | C (X' (i, Int)); type X = X ()?
2021-03-23 18:07:29 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-03-23 18:07:29 +0100 <tomsmeding> Gurkenglas: that way there's only a bunch of Ints at the end on the N
2021-03-23 18:08:19 +0100v01d4lph4(~v01d4lph4@106.212.133.35) (Remote host closed the connection)
2021-03-23 18:08:21 +0100 <tomsmeding> I wanted it to be ((), ((), Int), ((), Int, Int), ((), Int, Int, Int), ...), except encoded as pairs instead of long tuples
2021-03-23 18:08:37 +0100 <tomsmeding> but it's joking anyway :p
2021-03-23 18:11:19 +0100hexfive(~hexfive@50.35.83.177)
2021-03-23 18:11:43 +0100kuribas(~user@ptr-25vy0i8idla2ics5k8n.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-03-23 18:12:59 +0100mananamenos(~mananamen@62.red-88-11-67.dynamicip.rima-tde.net) (Ping timeout: 272 seconds)
2021-03-23 18:13:09 +0100 <minoru_shiraeesh> a question about stm and an example from the parconc book
2021-03-23 18:13:46 +0100Vadrigar(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2021-03-23 18:13:50 +0100 <minoru_shiraeesh> in chapter 12 there is an example of a chat
2021-03-23 18:14:15 +0100 <minoru_shiraeesh> there is a /kick command available to users
2021-03-23 18:14:48 +0100 <minoru_shiraeesh> the book says that when two users kick each other at the same time, only one of two kicks will succeed
2021-03-23 18:15:32 +0100 <minoru_shiraeesh> but the kick operation is not single stm transaction, but two consecutive transactions
2021-03-23 18:16:29 +0100conal(~conal@192.145.118.79)
2021-03-23 18:17:07 +0100 <minoru_shiraeesh> it seems to me that there is no guarantee that only one of two kicks succeeds
2021-03-23 18:17:24 +0100xff0x(~xff0x@2001:1a81:5390:3000:a106:5c1e:878c:2ba3) (Ping timeout: 244 seconds)
2021-03-23 18:18:15 +0100 <minoru_shiraeesh> here is an issue that I created in the examples project: https://github.com/simonmar/parconc-examples/issues/29
2021-03-23 18:18:23 +0100xff0x(~xff0x@2001:1a81:5390:3000:a737:9764:8d39:b00d)
2021-03-23 18:19:07 +0100MilkywayPirate(~user@178.157.255.8)
2021-03-23 18:19:11 +0100 <minoru_shiraeesh> here is my counter-example that makes a second transaction in the kick process wait for a tvar: https://github.com/shiraeeshi/hs-parconc-chat-server
2021-03-23 18:19:51 +0100v01d4lph4(~v01d4lph4@106.212.133.35)
2021-03-23 18:19:52 +0100sweater(~sweater@206.81.18.26) (Quit: WeeChat 2.8)
2021-03-23 18:20:05 +0100 <geekosaur> once one commits, the next will fail to find the user to kick, no?
2021-03-23 18:20:33 +0100 <jacks2> it will also fail because it is no longer in the channel
2021-03-23 18:20:37 +0100 <davean> geekosaur: not quite, looking at the code, it looks more complicated than that
2021-03-23 18:21:39 +0100 <geekosaur> oh, right, the second transaction would be from the kicked user, so no channel any more
2021-03-23 18:22:14 +0100 <davean> Theres also two client types, local and remote, which are handled differently
2021-03-23 18:22:29 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-23 18:22:31 +0100 <davean> https://github.com/simonmar/parconc-examples/blob/master/distrib-chat/chat.hs#L170
2021-03-23 18:22:46 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-23 18:23:11 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2021-03-23 18:23:45 +0100 <minoru_shiraeesh> davean: no, that's another example
2021-03-23 18:24:00 +0100ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-03-23 18:24:00 +0100 <minoru_shiraeesh> see the "chat" example, not a "distrib-chat"
2021-03-23 18:24:10 +0100MilkywayPirate(~user@178.157.255.8) (Ping timeout: 258 seconds)
2021-03-23 18:24:17 +0100 <davean> ah
2021-03-23 18:24:23 +0100v01d4lph4(~v01d4lph4@106.212.133.35) (Remote host closed the connection)
2021-03-23 18:24:38 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-23 18:24:48 +0100v01d4lph4(~v01d4lph4@106.212.133.35)
2021-03-23 18:24:48 +0100v01d4lph4(~v01d4lph4@106.212.133.35) (Read error: Connection reset by peer)
2021-03-23 18:24:53 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-23 18:25:13 +0100v01d4lph4(~v01d4lph4@106.212.133.35)
2021-03-23 18:25:17 +0100v01d4lph4(~v01d4lph4@106.212.133.35) (Remote host closed the connection)
2021-03-23 18:26:20 +0100kenanmarasli(1fdf09d5@31.223.9.213)
2021-03-23 18:26:29 +0100 <minoru_shiraeesh> geekosaur: "once one commits, the next will fail to find the user to kick, no?"
2021-03-23 18:26:43 +0100aqd(~aqd@84.20.147.33) (Ping timeout: 245 seconds)
2021-03-23 18:27:02 +0100 <minoru_shiraeesh> in order for kick to be effective, the kicked user's thread should enter the next iteration and recognize that it was kicked
2021-03-23 18:27:04 +0100 <geekosaur> already corrected above, the other isn't in channel any more at that point
2021-03-23 18:27:08 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 245 seconds)
2021-03-23 18:27:09 +0100 <davean> minoru_shiraeesh: well, where is the map deleted?
2021-03-23 18:27:23 +0100 <davean> removeClient would do it
2021-03-23 18:27:27 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser)
2021-03-23 18:27:38 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2021-03-23 18:27:42 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-03-23 18:27:46 +0100LKoen(~LKoen@194.250.88.92.rev.sfr.net)
2021-03-23 18:28:02 +0100 <minoru_shiraeesh> but before entering the next iteration the kicked user could handle his own kick command
2021-03-23 18:28:06 +0100peanut_(~peanut@2a02:8388:a101:2600:9f7e:958d:f1dd:b94a) (Quit: Leaving)
2021-03-23 18:28:33 +0100frozenErebus(~frozenEre@94.128.81.87) (Ping timeout: 256 seconds)
2021-03-23 18:28:45 +0100 <kenanmarasli> This is probably a FAQ but I am looking at the book choices here and don't know which to pick: https://www.haskell.org/documentation/
2021-03-23 18:28:45 +0100 <kenanmarasli> Which book do you suggest for a 3rd year computer science student?
2021-03-23 18:28:59 +0100ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-03-23 18:29:32 +0100justan0theruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds)
2021-03-23 18:29:41 +0100ukari(~ukari@unaffiliated/ukari)
2021-03-23 18:29:43 +0100v01d4lph4(~v01d4lph4@106.212.133.35)
2021-03-23 18:30:00 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-23 18:30:29 +0100landonf(landonf@mac68k.info) (Excess Flood)
2021-03-23 18:30:42 +0100borne(~fritjof@200116b8640b5f00a6d9c1e30b1bd3ca.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2021-03-23 18:30:43 +0100apeyroux(~alex@78.20.138.88.rev.sfr.net) (Ping timeout: 272 seconds)
2021-03-23 18:31:12 +0100graf_blutwurst(~user@2001:171b:226e:adc0:78b0:5183:4ef7:68f) (Remote host closed the connection)
2021-03-23 18:31:40 +0100 <davean> atomically $ kick server who clientName <-- does not contain code to remove them from the channel
2021-03-23 18:31:41 +0100 <minoru_shiraeesh> geekosaur: "already corrected above, the other isn't in channel any more at that point" - what if two threads run the "kick" function at the same time?
2021-03-23 18:31:43 +0100idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-03-23 18:31:56 +0100 <davean> minoru_shiraeesh: Thats not a proble, its atomic
2021-03-23 18:32:08 +0100 <davean> but I see nothing that makes them not actually in the channel atomicly
2021-03-23 18:32:30 +0100 <davean> it *does* set a kicked variable, but it doesn't change the channel member set
2021-03-23 18:32:48 +0100 <minoru_shiraeesh> davean: yeah, but it seems to me that they both can successfully kick each other
2021-03-23 18:32:48 +0100landonf(landonf@mac68k.info)
2021-03-23 18:33:13 +0100 <davean> minoru_shiraeesh: I can believe that given this code. The code comments only talk about a 3rd person being kicked though
2021-03-23 18:33:20 +0100 <davean> this code would be trivial to make obviously correct BTW
2021-03-23 18:33:55 +0100sh9(~sh9@softbank060116136158.bbtec.net) (Quit: WeeChat 2.8)
2021-03-23 18:33:56 +0100 <minoru_shiraeesh> davean: what comments?
2021-03-23 18:34:03 +0100 <monochrom> kenanmarasli: http://www.vex.net/~trebla/haskell/learn-sources.html has my comments on those I have actually used or at least partly checked.
2021-03-23 18:34:07 +0100 <geekosaur> there are usually as many answers to that one as there are answerers. I'm partial to Hutton's myselfhttp://www.cs.nott.ac.uk/~pszgmh/pih.html. Some prefer Bird's https://www.cambridge.org/us/academic/subjects/computer-science/programming-languages-and-applied-…
2021-03-23 18:34:08 +0100smerdyakov(~dan@5.146.194.90) (Ping timeout: 240 seconds)
2021-03-23 18:34:37 +0100frozenErebus(~frozenEre@94.128.81.87)
2021-03-23 18:34:44 +0100 <davean> monochrom: but look down in "server" of "runClient"
2021-03-23 18:34:52 +0100 <geekosaur> whoops, ran those together. http://www.cs.nott.ac.uk/~pszgmh/pih.html
2021-03-23 18:34:52 +0100 <monochrom> Not me :)
2021-03-23 18:34:55 +0100 <minoru_shiraeesh> davean: "this code would be trivial to make obviously correct BTW" - what do you mean? kick in one transaction?
2021-03-23 18:34:57 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-23 18:35:13 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-23 18:35:30 +0100 <davean> "- Consistency: - if two clients simultaneously kick a third client, only one will be successful"
2021-03-23 18:35:43 +0100MilkywayPirate(~user@178.157.255.8)
2021-03-23 18:36:01 +0100 <davean> minoru_shiraeesh: put the kick logic in one place, not two, or comment about how it is correct and where to look for the rest of it.
2021-03-23 18:36:17 +0100 <minoru_shiraeesh> oh, I missed that part about two clients kicking a third client
2021-03-23 18:36:17 +0100 <davean> the difficulty with this design is they made there be two critical locations for kicking to function correctly.
2021-03-23 18:36:41 +0100mmkarakaya(~mmk@176.33.226.149) ()
2021-03-23 18:37:01 +0100 <davean> I do not like this code design
2021-03-23 18:37:03 +0100 <minoru_shiraeesh> davean: you mean two transactions?
2021-03-23 18:37:06 +0100 <davean> Also SO MANY THREADS
2021-03-23 18:37:09 +0100 <davean> minoru_shiraeesh: no
2021-03-23 18:37:13 +0100 <davean> I do not mean two transactions
2021-03-23 18:39:01 +0100bgamari(~bgamari@72.65.101.179) (Quit: ZNC 1.8.1 - https://znc.in)
2021-03-23 18:39:04 +0100 <kenanmarasli> monochrom: that was a nice read, thanks
2021-03-23 18:39:11 +0100 <monochrom> :)
2021-03-23 18:39:38 +0100stree(~stree@68.36.8.116) (Ping timeout: 264 seconds)
2021-03-23 18:39:46 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-23 18:40:09 +0100Nahra(~Nahra@unaffiliated/nahra) (Ping timeout: 264 seconds)
2021-03-23 18:41:43 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-23 18:41:48 +0100Nahra(~Nahra@unaffiliated/nahra)
2021-03-23 18:42:42 +0100geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-03-23 18:42:55 +0100 <minoru_shiraeesh> I checked whether a book claims a guarantee about two users kicking each other case. Here is what it says:
2021-03-23 18:42:59 +0100 <minoru_shiraeesh> <quote>
2021-03-23 18:43:06 +0100valdyn(~valdyn@aftr-62-216-207-119.dynamic.mnet-online.de)
2021-03-23 18:43:10 +0100 <minoru_shiraeesh> We should consider how to handle /kick because we want to guarantee that two clients cannot simultaneously kick each other.
2021-03-23 18:43:17 +0100 <minoru_shiraeesh> This implies some synchronized, shared state for each client to indicate whether it has been kicked.
2021-03-23 18:43:24 +0100 <minoru_shiraeesh> A server thread can then check that it has not already been kicked itself before kicking another client.
2021-03-23 18:43:27 +0100 <minoru_shiraeesh> </quote>
2021-03-23 18:44:36 +0100ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-03-23 18:44:42 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
2021-03-23 18:44:48 +0100 <minoru_shiraeesh> but, as I said, the guarantee doesn't work because we broke atomicity when divided a transaction into two
2021-03-23 18:45:28 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Quit: ლ(ಠ益ಠლ) .:. <Ashley> my porn is hidden in a folder called "BBC Micro Emulator")
2021-03-23 18:46:08 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 18:47:21 +0100bgamari(~bgamari@2001:470:e438::1)
2021-03-23 18:47:37 +0100valdyn(~valdyn@aftr-62-216-207-119.dynamic.mnet-online.de) (Ping timeout: 260 seconds)
2021-03-23 18:47:59 +0100valdyn(valdyn@c6a7cbec.vpn.njalla.net)
2021-03-23 18:48:23 +0100carlomagno(~cararell@148.87.23.10) (Ping timeout: 245 seconds)
2021-03-23 18:49:08 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2021-03-23 18:49:22 +0100ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 260 seconds)
2021-03-23 18:49:45 +0100Chousuke(oranenj@coffee.modeemi.fi)
2021-03-23 18:49:50 +0100carlomagno(~cararell@148.87.23.10)
2021-03-23 18:49:55 +0100 <minoru_shiraeesh> davean: "Also SO MANY THREADS" - two threads per client: one for translating input from client to commands (and add them to tchan), another to handle commands
2021-03-23 18:51:53 +0100stree(~stree@68.36.8.116)
2021-03-23 18:52:58 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0)
2021-03-23 18:53:01 +0100Chousuke(oranenj@coffee.modeemi.fi) (Client Quit)
2021-03-23 18:53:08 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-23 18:53:27 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-23 18:54:37 +0100MilkywayPirate(~user@178.157.255.8) (Ping timeout: 260 seconds)
2021-03-23 18:54:37 +0100apache8080(~rishi@wsip-70-168-153-252.oc.oc.cox.net) (Ping timeout: 260 seconds)
2021-03-23 18:55:57 +0100borne(~fritjof@200116b8640b5f00a6d9c1e30b1bd3ca.dip.versatel-1u1.de)
2021-03-23 18:56:25 +0100idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds)
2021-03-23 18:56:34 +0100apeyroux(~alex@78.20.138.88.rev.sfr.net)
2021-03-23 18:56:43 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 245 seconds)
2021-03-23 18:57:37 +0100ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-03-23 19:00:36 +0100Wuzzy(~Wuzzy@p57a2ecf2.dip0.t-ipconnect.de)
2021-03-23 19:01:02 +0100is_null(~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 260 seconds)
2021-03-23 19:01:50 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-23 19:02:24 +0100abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
2021-03-23 19:03:14 +0100landonf(landonf@mac68k.info) (Excess Flood)
2021-03-23 19:03:34 +0100rajivr(uid269651@gateway/web/irccloud.com/x-qhxglwtyogwwwcfv) (Quit: Connection closed for inactivity)
2021-03-23 19:03:55 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2021-03-23 19:04:26 +0100kenanmarasli(1fdf09d5@31.223.9.213) (Quit: Connection closed)
2021-03-23 19:04:55 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-03-23 19:05:18 +0100landonf(landonf@mac68k.info)
2021-03-23 19:05:19 +0100Chousuke(oranenj@coffee.modeemi.fi)
2021-03-23 19:06:02 +0100MilkywayPirate(~user@178.157.255.8)
2021-03-23 19:10:08 +0100landonf(landonf@mac68k.info) (Excess Flood)
2021-03-23 19:11:42 +0100MilkywayPirate(~user@178.157.255.8) (Ping timeout: 258 seconds)
2021-03-23 19:12:18 +0100landonf(landonf@mac68k.info)
2021-03-23 19:12:31 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 272 seconds)
2021-03-23 19:13:41 +0100idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-03-23 19:13:43 +0100Pickchea(~private@unaffiliated/pickchea)
2021-03-23 19:15:53 +0100Yumasi(~guillaume@40.72.95.92.rev.sfr.net) (Ping timeout: 245 seconds)
2021-03-23 19:17:46 +0100carlomagno1(~cararell@148.87.23.10)
2021-03-23 19:18:01 +0100Yumasi(~guillaume@2a01:e0a:5cb:4430:e6b2:95da:b20a:c28e)
2021-03-23 19:19:44 +0100 <ski> dolio : interesting talk
2021-03-23 19:19:48 +0100ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-03-23 19:20:07 +0100carlomagno(~cararell@148.87.23.10) (Ping timeout: 272 seconds)
2021-03-23 19:20:48 +0100landonf(landonf@mac68k.info) (Excess Flood)
2021-03-23 19:21:00 +0100howdoi(uid224@gateway/web/irccloud.com/x-icyhhocxhhkwzcda)
2021-03-23 19:21:18 +0100landonf(landonf@mac68k.info)
2021-03-23 19:21:41 +0100Ariakenom(~Ariakenom@2001:9b1:efb:fc00:44d0:48c2:7912:8b23)
2021-03-23 19:22:30 +0100is_null(~jpic@pdpc/supporter/professional/is-null)
2021-03-23 19:24:51 +0100landonf(landonf@mac68k.info) (Excess Flood)
2021-03-23 19:25:11 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:2475:6303:62e1:31c1) (Ping timeout: 272 seconds)
2021-03-23 19:25:16 +0100thoros(~thoros@194-166-47-167.hdsl.highway.telekom.at) (Quit: WeeChat 3.0.1)
2021-03-23 19:25:21 +0100chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2021-03-23 19:25:35 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-23 19:25:54 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr)
2021-03-23 19:25:56 +0100Yumasi(~guillaume@2a01:e0a:5cb:4430:e6b2:95da:b20a:c28e) (Ping timeout: 240 seconds)
2021-03-23 19:26:48 +0100landonf(landonf@mac68k.info)
2021-03-23 19:27:36 +0100michalz(~user@185.246.204.47) (Remote host closed the connection)
2021-03-23 19:28:33 +0100molehillish(~molehilli@2600:8800:8d06:1800:a4ec:e3c6:6b54:caa8)
2021-03-23 19:29:37 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 260 seconds)
2021-03-23 19:30:42 +0100son0p(~son0p@181.136.122.143)
2021-03-23 19:30:47 +0100ubert(~Thunderbi@p200300ecdf25d9f2e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-03-23 19:33:02 +0100molehillish(~molehilli@2600:8800:8d06:1800:a4ec:e3c6:6b54:caa8) (Ping timeout: 264 seconds)
2021-03-23 19:33:04 +0100 <dolio> Yeah.
2021-03-23 19:33:13 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9) (Remote host closed the connection)
2021-03-23 19:34:14 +0100malumore(~malumore@151.62.117.161) (Ping timeout: 264 seconds)
2021-03-23 19:34:47 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal)
2021-03-23 19:34:53 +0100ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-03-23 19:35:07 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-23 19:35:40 +0100ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-03-23 19:35:50 +0100__minoru__shirae(~shiraeesh@46.34.207.185)
2021-03-23 19:36:10 +0100ukari(~ukari@unaffiliated/ukari)
2021-03-23 19:36:26 +0100idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds)
2021-03-23 19:36:38 +0100minoru_shiraeesh(~shiraeesh@46.34.206.238) (Ping timeout: 264 seconds)
2021-03-23 19:37:00 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:83f1:3643:e78d:1fe7)
2021-03-23 19:37:47 +0100MilkywayPirate(~user@178.157.255.8)
2021-03-23 19:41:39 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Read error: Connection reset by peer)
2021-03-23 19:42:00 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-23 19:42:05 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-03-23 19:42:09 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9)
2021-03-23 19:44:03 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2021-03-23 19:44:45 +0100MilkywayPirate(~user@178.157.255.8) (Ping timeout: 265 seconds)
2021-03-23 19:46:45 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 256 seconds)
2021-03-23 19:47:37 +0100Pickchea(~private@unaffiliated/pickchea) (Quit: Leaving)
2021-03-23 19:47:57 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2021-03-23 19:48:50 +0100MilkywayPirate(~user@178.157.255.8)
2021-03-23 19:51:47 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2021-03-23 19:51:48 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-23 19:52:04 +0100Tario(~Tario@201.192.165.173)
2021-03-23 19:53:20 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-23 19:53:29 +0100borne(~fritjof@200116b8640b5f00a6d9c1e30b1bd3ca.dip.versatel-1u1.de) (Ping timeout: 258 seconds)
2021-03-23 19:53:32 +0100MilkywayPirate(~user@178.157.255.8) (Ping timeout: 260 seconds)
2021-03-23 19:53:50 +0100jonathanx_(~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2021-03-23 19:55:39 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-23 19:55:46 +0100solidus-river(~mike@174.127.249.180)
2021-03-23 19:55:59 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-23 19:56:02 +0100geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-03-23 19:56:17 +0100 <solidus-river> ws 0
2021-03-23 19:56:20 +0100conal(~conal@192.145.118.79) (Quit: Computer has gone to sleep.)
2021-03-23 19:56:23 +0100Pickchea(~private@unaffiliated/pickchea)
2021-03-23 19:56:28 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se)
2021-03-23 19:57:55 +0100chibi(~chibi@75-26-238-119.lightspeed.glvwil.sbcglobal.net) (Remote host closed the connection)
2021-03-23 19:59:22 +0100frozenErebus(~frozenEre@94.128.81.87) (Ping timeout: 260 seconds)
2021-03-23 20:00:09 +0100MilkywayPirate(~user@178.157.255.8)
2021-03-23 20:00:42 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds)
2021-03-23 20:01:21 +0100frozenErebus(~frozenEre@94.128.81.87)
2021-03-23 20:02:17 +0100borne(~fritjof@200116b8640b5f00a6d9c1e30b1bd3ca.dip.versatel-1u1.de)
2021-03-23 20:02:26 +0100molehillish(~molehilli@2600:8800:8d06:1800:a4ec:e3c6:6b54:caa8)
2021-03-23 20:03:29 +0100berberman_(~berberman@unaffiliated/berberman)
2021-03-23 20:04:14 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds)
2021-03-23 20:04:36 +0100MilkywayPirate(~user@178.157.255.8) (Remote host closed the connection)
2021-03-23 20:05:02 +0100MilkywayPirate(~user@178.157.255.8)
2021-03-23 20:05:11 +0100kmein(~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao)
2021-03-23 20:05:25 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-23 20:05:30 +0100kmein(~weechat@static.173.83.99.88.clients.your-server.de)
2021-03-23 20:08:18 +0100Sathiana(~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.1)
2021-03-23 20:08:26 +0100borne(~fritjof@200116b8640b5f00a6d9c1e30b1bd3ca.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
2021-03-23 20:08:44 +0100malumore(~malumore@151.62.117.161)
2021-03-23 20:10:51 +0100Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 265 seconds)
2021-03-23 20:11:02 +0100MilkywayPirate(~user@178.157.255.8) (Ping timeout: 260 seconds)
2021-03-23 20:11:18 +0100ph88_(~ph88@2a02:8109:9e00:7e5c:4978:201f:ec35:67e9)
2021-03-23 20:11:18 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
2021-03-23 20:11:35 +0100v01d4lph4(~v01d4lph4@106.212.133.35) (Remote host closed the connection)
2021-03-23 20:11:53 +0100MilkywayPirate(~user@178.157.255.8)
2021-03-23 20:12:33 +0100 <Gurkenglas> Should WHNF for a function f be the WHNF of f ⊥?
2021-03-23 20:12:47 +0100ph88^(~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
2021-03-23 20:12:50 +0100conal(~conal@64.71.133.70)
2021-03-23 20:13:45 +0100 <monochrom> No. Not even the same type.
2021-03-23 20:15:02 +0100conal(~conal@64.71.133.70) (Client Quit)
2021-03-23 20:15:02 +0100 <Gurkenglas> monochrom, yea but except for the not being the same type thing :P
2021-03-23 20:15:07 +0100 <monochrom> In Haskell, especially because of seq, WHNF for function types is a lambda without any requirement on what's inside the lambda. IIRC this is the "weak" part.
2021-03-23 20:15:08 +0100texasmynsted(~texasmyns@99.96.221.112) (Quit: ZNC - http://znc.in)
2021-03-23 20:15:21 +0100atraii(~atraii@2601:681:8700:c471:182c:49ac:c430:1f21)
2021-03-23 20:15:43 +0100 <Gurkenglas> aka, should seq f () apply f to ⊥ until f ⊥ reaches WHNF or the ⊥ is touched
2021-03-23 20:15:52 +0100 <dolio> No.
2021-03-23 20:15:58 +0100 <Gurkenglas> Why not?
2021-03-23 20:16:08 +0100 <dolio> Why would it?
2021-03-23 20:16:18 +0100MilkywayPirate(~user@178.157.255.8) (Ping timeout: 245 seconds)
2021-03-23 20:16:26 +0100ph88_(~ph88@2a02:8109:9e00:7e5c:4978:201f:ec35:67e9) (Ping timeout: 268 seconds)
2021-03-23 20:16:37 +0100 <Gurkenglas> It would undefined and undefined . id observationally equivalent (right?). Would it open some other can of worms?
2021-03-23 20:16:38 +0100 <monochrom> seq f () is () iff f is \x->something
2021-03-23 20:16:47 +0100 <monochrom> even \x->bottom
2021-03-23 20:16:50 +0100 <Gurkenglas> *would make
2021-03-23 20:17:04 +0100 <monochrom> as said, "weak" means no one looks under the lambda.
2021-03-23 20:17:17 +0100 <Gurkenglas> monochrom, you are saying it like it is, but i am asking how it should be
2021-03-23 20:18:07 +0100 <monochrom> How it should be? There are only two choices. (\x->bottom) = bottom or (\x->bottom) ≠ bottom.
2021-03-23 20:18:27 +0100 <Gurkenglas> right, i am arguing in favor of (\x->bottom) = bottom. Is there a reason against?
2021-03-23 20:18:27 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9) (Remote host closed the connection)
2021-03-23 20:18:29 +0100 <monochrom> f bottom is highly irrelevant.
2021-03-23 20:18:45 +0100 <monochrom> seq is a reason against.
2021-03-23 20:19:13 +0100 <Gurkenglas> Why not make seq (\x->⊥) () = ⊥?
2021-03-23 20:19:30 +0100 <monochrom> And seq is justified by "laziness can hurt space so we need something for manually kiling laziness"
2021-03-23 20:19:32 +0100 <dolio> What is `seq id` supposed to do in this 'apply to ⊥' scenario?
2021-03-23 20:19:46 +0100 <Gurkenglas> dolio, ⊥
2021-03-23 20:19:46 +0100 <d34df00d> Doesn't "weak" mean nobody looks under constructors, and not lambdas?
2021-03-23 20:19:47 +0100conal(~conal@64.71.133.70)
2021-03-23 20:20:01 +0100 <dolio> Why would you want `seq id` to blow up?
2021-03-23 20:20:10 +0100 <Gurkenglas> dolio, because id is strict
2021-03-23 20:20:21 +0100 <dolio> What does that have to do with anything?
2021-03-23 20:20:28 +0100 <monochrom> Huh, when was seq supposed to check function strictness?
2021-03-23 20:20:34 +0100 <d34df00d> I thought "weak" means that, given `data Foo a = Foo a`, Foo undefined `seq` () is to ()
2021-03-23 20:20:41 +0100 <Gurkenglas> dolio, strict functions are exactly those which would make seq ⊥
2021-03-23 20:20:44 +0100vincenzopalazzo(~vincenzop@host-79-30-9-166.retail.telecomitalia.it) (Remote host closed the connection)
2021-03-23 20:20:51 +0100 <dolio> No.
2021-03-23 20:20:51 +0100ddellacosta(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-03-23 20:20:59 +0100vincenzopalazzo(~vincenzop@host-79-30-9-166.retail.telecomitalia.it)
2021-03-23 20:21:09 +0100 <Gurkenglas> You mean they would not make seq ⊥, or they should not make seq ⊥?
2021-03-23 20:21:39 +0100conal(~conal@64.71.133.70) (Client Quit)
2021-03-23 20:21:46 +0100 <monochrom> One of "weak" or "head" or both is going to refer to "don't look under lambda". There is also the possibility that the same word also covers "don't look under constructors".
2021-03-23 20:22:06 +0100 <Gurkenglas> okay, how would you like to call the variant that does look under lambda?
2021-03-23 20:22:09 +0100 <dolio> seq is supposed to be strict in both arguments. id is not bottom.
2021-03-23 20:23:04 +0100 <Gurkenglas> dolio, seq could still be strict if it mapped id to the same as bottom
2021-03-23 20:23:13 +0100 <dolio> It could, but it would be worthless.
2021-03-23 20:23:40 +0100vincenzopalazzo(~vincenzop@host-79-30-9-166.retail.telecomitalia.it) (Remote host closed the connection)
2021-03-23 20:23:57 +0100 <monochrom> "thoroughly analysing normal form" looks under lambdas. >:)
2021-03-23 20:24:00 +0100conal(~conal@64.71.133.70)
2021-03-23 20:24:02 +0100MilkywayPirate(~user@178.157.255.8)
2021-03-23 20:24:21 +0100 <dolio> The practical use of seq is to ensure some kind of evaluation, and blowing up when evaluating a strict function is pretty bad behavior.
2021-03-23 20:24:22 +0100 <Gurkenglas> monochrom, why >:)? Will saying TANF confuse people?
2021-03-23 20:24:24 +0100ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-03-23 20:24:32 +0100 <monochrom> I made it up.
2021-03-23 20:25:02 +0100 <monochrom> But everyone tends to get my joke, so it is anything but confusing.
2021-03-23 20:25:37 +0100 <Gurkenglas> you must still be joking
2021-03-23 20:26:36 +0100MilkywayPirate(~user@178.157.255.8) (Read error: Connection reset by peer)
2021-03-23 20:26:55 +0100 <dolio> Also, per the earlier remark, the 'weak' part is what signals not looking under lambda. 'Weak head normal form' was invented because 'head normal form' does some stuff under lambdas, which is not what actual implementations do.
2021-03-23 20:27:04 +0100rj(~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds)
2021-03-23 20:28:01 +0100 <Gurkenglas> dolio, you mean, people currently use seq to evaluate "let a = precompute datastrucutre in \x -> a x", and my change would break that?
2021-03-23 20:28:33 +0100 <dolio> They could.
2021-03-23 20:28:50 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-23 20:29:01 +0100 <Gurkenglas> I was hoping for arguments of form "even though this would make undefined observationally indistinguishable from undefined . id, it would introduce this other barrier from Hask being straightforwardly a category:"
2021-03-23 20:29:27 +0100 <ski> (`\x -> let y = ..x.. in \z -> ..x..y..z..' is sometimes called "serious" currying. also see "run-time compilation")
2021-03-23 20:29:38 +0100 <dolio> Being practically useless seems like a much better reason than some adherence to mathematical purity.
2021-03-23 20:29:47 +0100 <ski> (as opposed to "trivial")
2021-03-23 20:30:18 +0100son0p(~son0p@181.136.122.143) (Quit: Lost terminal)
2021-03-23 20:30:51 +0100 <ski> (well, actually. imagine a `seq y' before the '\z -> ...' as well)
2021-03-23 20:30:56 +0100conal(~conal@64.71.133.70)
2021-03-23 20:31:00 +0100 <Gurkenglas> dolio, it would fix my VeryLazyNaturals! Or would you call my usecase useless since it's not useful for any actual application? :P
2021-03-23 20:31:04 +0100 <dolio> Your description is also type-directed, so might be impossible to actually implement.
2021-03-23 20:31:51 +0100rj(~x@gateway/tor-sasl/rj)
2021-03-23 20:32:43 +0100 <monochrom> Mathematical purity is just as artificial as practice anyway.
2021-03-23 20:34:29 +0100Sornaensis(~Sornaensi@077213203030.dynamic.telenor.dk)
2021-03-23 20:35:09 +0100raichoo(~raichoo@dslb-178-009-065-121.178.009.pools.vodafone-ip.de) (Quit: Lost terminal)
2021-03-23 20:35:23 +0100Lord_of_Life_(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-03-23 20:35:30 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2021-03-23 20:36:23 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 244 seconds)
2021-03-23 20:36:23 +0100 <dolio> It's important to remember that math isn't always automatically right. If something actually behaves differently than the math, that might just mean the math is not modelling the actual thing correctly.
2021-03-23 20:36:43 +0100carlomagno1(~cararell@148.87.23.10) (Ping timeout: 245 seconds)
2021-03-23 20:36:48 +0100Lord_of_Life_Lord_of_Life
2021-03-23 20:37:32 +0100 <Gurkenglas> I suppose instead of blowing up, seq f () could simply proceed to () when f touches its argument ⊥ (but not when f itself resolves to undefined) - this would still make undefined observationally identical to undefined . id, right?
2021-03-23 20:38:19 +0100Sorny(~Sornaensi@79.142.232.102) (Ping timeout: 256 seconds)
2021-03-23 20:40:29 +0100 <monochrom> So here is what I think dolio referred to as "type directed" and I take it and go big.
2021-03-23 20:40:42 +0100 <monochrom> We have negate :: Num a => a -> a
2021-03-23 20:41:02 +0100DavidEichmann(~david@47.27.93.209.dyn.plus.net) (Remote host closed the connection)
2021-03-23 20:41:25 +0100 <monochrom> So what does "seq negate ()" mean? Does it mean "seq (negate @ Int) ()"? Does it mean "seq (negate @ MonochromsSecretNumInstance) ()"?
2021-03-23 20:41:42 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ->)
2021-03-23 20:41:43 +0100electricityZZZZ(~electrici@135-180-3-82.static.sonic.net) (Quit: Leaving)
2021-03-23 20:41:43 +0100 <monochrom> Answer: "Ambiguous type variable a0 in ..."
2021-03-23 20:41:50 +0100 <Gurkenglas> i agree
2021-03-23 20:42:01 +0100 <monochrom> Meta-Answer: Why would it bother? I call XY Problem.
2021-03-23 20:42:02 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9)
2021-03-23 20:42:16 +0100 <Gurkenglas> you mean, nobody would actually want to seq negate ()?
2021-03-23 20:42:51 +0100 <monochrom> I mean the feature you're wanting is both half-baked and an XY problem.
2021-03-23 20:42:57 +0100atraii(~atraii@2601:681:8700:c471:182c:49ac:c430:1f21) (Ping timeout: 268 seconds)
2021-03-23 20:43:23 +0100Nahra(~Nahra@unaffiliated/nahra) (Ping timeout: 245 seconds)
2021-03-23 20:43:34 +0100 <Gurkenglas> the X would be "giff Hask pls"
2021-03-23 20:45:08 +0100 <Gurkenglas> or do you call that another Y
2021-03-23 20:45:17 +0100 <monochrom> I think that to achieve Hask it is much simpler to just remove seq.
2021-03-23 20:45:37 +0100Nahra(~Nahra@unaffiliated/nahra)
2021-03-23 20:45:45 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-03-23 20:45:56 +0100carlomagno(~cararell@148.87.23.5)
2021-03-23 20:46:07 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-03-23 20:46:12 +0100kmein(~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao)
2021-03-23 20:46:22 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-23 20:46:31 +0100kmein(~weechat@static.173.83.99.88.clients.your-server.de)
2021-03-23 20:47:23 +0100 <Gurkenglas> i like things like glb and lub though (glb a b = most defined value which is less defined than both of a and b; lub a b = least defined value which is more defined than both of a and b, if any such exist)
2021-03-23 20:47:53 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2021-03-23 20:48:31 +0100 <Gurkenglas> not sure whether those require seq, but surely "\y -> if x is less defined than y then y else x" does
2021-03-23 20:49:01 +0100 <monochrom> You can furthermore add back seq in a restricted, disciplined way by creating a class "class Seq a where seq :: a -> b -> b" so you can still have the niceness of foldl' but its type now has a Seq constraint.
2021-03-23 20:50:00 +0100 <monochrom> This was actually the state of old Haskell versions. This means if you get your hands on a very old version of Hugs, it's actually an executable model of Hask that is highly faithful.
2021-03-23 20:50:27 +0100 <dolio> Well, functions had an instance, though.
2021-03-23 20:50:37 +0100 <monochrom> Ah damn.
2021-03-23 20:50:38 +0100 <dolio> And it didn't do something undecidable. :)
2021-03-23 20:51:17 +0100 <monochrom> Well, can always fork the source code and remove that. Hugs source code was and still is relatively simple.
2021-03-23 20:52:08 +0100 <Gurkenglas> dolio, by undecidable do you mean seeing whether f touches its argument ⊥ without blowing up, or doing things depending on whether f is a function?
2021-03-23 20:52:15 +0100Deide(~Deide@217.155.19.23)
2021-03-23 20:52:23 +0100 <monochrom> But really if you are interested in Hask you don't need foldl' so you don't need seq so just remove it.
2021-03-23 20:52:24 +0100kritzefitz(~kritzefit@212.86.56.80)
2021-03-23 20:53:15 +0100 <monochrom> If you need it for one particular ADT, just write one specific function for that ADT.
2021-03-23 20:53:15 +0100 <Gurkenglas> Why not want Hask and the ability to construct as many definedness-monotonic functions as possible?
2021-03-23 20:53:39 +0100 <dolio> Testing if a function is point-wise bottom sounds undecidable.
2021-03-23 20:53:58 +0100 <dolio> In general.
2021-03-23 20:54:06 +0100 <Gurkenglas> dolio, what would require such a decision?
2021-03-23 20:54:26 +0100 <dolio> The insistance that `⊥ = const ⊥` in domain theory.
2021-03-23 20:54:46 +0100 <monochrom> I don't see how Hask itself doesn't already have many levels of definedness.
2021-03-23 20:55:12 +0100 <Gurkenglas> dolio, how does this insistence require such a decision?
2021-03-23 20:55:47 +0100 <dolio> Well, for one, your description of `seq` to begin this conversation was actually not what it is specified to do. You were changing the definition.
2021-03-23 20:56:27 +0100 <Gurkenglas> dolio, sure, I was proposing a change of its behavior. One can do it the usual way and define a new term to work like I describe, then deprecate the old one over a bunch of years
2021-03-23 20:56:29 +0100 <dolio> What it is specified to do is be ⊥ if its frist argument is ⊥, and equal to its second argument if its first argument is not ⊥.
2021-03-23 20:56:59 +0100 <dolio> So, if you adhere to the domain theoretic notion of the function space, that requires determining if functions are point-wise ⊥.
2021-03-23 20:58:03 +0100 <Gurkenglas> I see. I agree that seq as specified can't be implemented with ⊥ = const ⊥.
2021-03-23 20:58:26 +0100frozenErebus(~frozenEre@94.128.81.87) (Ping timeout: 240 seconds)
2021-03-23 20:59:04 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-23 20:59:10 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9) (Remote host closed the connection)
2021-03-23 20:59:33 +0100Noldorin(~noldorin@unaffiliated/noldorin)
2021-03-23 21:00:02 +0100stree(~stree@68.36.8.116) (Ping timeout: 260 seconds)
2021-03-23 21:00:08 +0100 <dolio> It might actually be implementable, but so expensive that it would be completely unusable.
2021-03-23 21:00:37 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-23 21:00:41 +0100 <dolio> Because it needs to run the function on all possible inputs in parallel and see if any finish.
2021-03-23 21:01:31 +0100 <Gurkenglas> i suppose it depends on whether we say it has to check all terms or all values - there are uncountably large types to use for the input, after all
2021-03-23 21:01:33 +0100 <dolio> I mean, the fact that it is a valid domain theoretic function means that you can implement it in principle.
2021-03-23 21:01:54 +0100 <sclv> i would run it on all possible inputs in serial, but just do it faster
2021-03-23 21:02:09 +0100 <monochrom> As usual, denotational semantics happily ignores costs.
2021-03-23 21:02:24 +0100 <sclv> u just need a system clock indexed by an uncountable ordinal
2021-03-23 21:02:34 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-23 21:02:35 +0100 <dolio> The models where this would work would be able to enumerate all possible values, because only the ones definable in the language count.
2021-03-23 21:02:41 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2021-03-23 21:02:52 +0100Sathiana(~kath@185-113-98-38.cust.bredband2.com)
2021-03-23 21:02:59 +0100 <monochrom> sclv, ever heard of functional reactive programming? >:)
2021-03-23 21:03:11 +0100 <dolio> So, check all possible Haskell terms.
2021-03-23 21:03:13 +0100 <monochrom> its time model is the continuum.
2021-03-23 21:03:33 +0100 <monochrom> although, not sure how much it insist on the ordinal aspect.
2021-03-23 21:03:42 +0100 <sclv> ok sorry i should have send higher uncountable ordinal
2021-03-23 21:04:18 +0100 <dolio> Of course, those models are in some sense bad in their own ways.
2021-03-23 21:04:56 +0100 <Gurkenglas> dolio, but aren't there uncountably many valid domain-theoretic functions so they can't all be implementable?
2021-03-23 21:05:31 +0100smerdyakov(~dan@5.146.195.159)
2021-03-23 21:05:34 +0100petersen(~petersen@redhat/juhp) (Ping timeout: 256 seconds)
2021-03-23 21:05:38 +0100 <dolio> This is how you implement it on a computer. Computers implementations aren't abstract mathematical domains.
2021-03-23 21:06:00 +0100ubert1(~Thunderbi@p200300ecdf25d9f2e6b318fffe838f33.dip0.t-ipconnect.de)
2021-03-23 21:06:19 +0100 <dolio> The domain theoretic function is just given by the specification that `it is ⊥ if ...`.
2021-03-23 21:06:46 +0100 <sclv> this is really about skolem's paradox https://en.wikipedia.org/wiki/Skolem%27s_paradox
2021-03-23 21:08:29 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-23 21:08:40 +0100petersen(~petersen@redhat/juhp)
2021-03-23 21:08:51 +0100 <dolio> The domain theoretic description is just a simplifying abstraction for talking about the behavior of actual implementations. The implementations don't work in terms of domains.
2021-03-23 21:08:56 +0100heebo(~user@cpc97956-croy24-2-0-cust20.19-2.cable.virginm.net) (Ping timeout: 244 seconds)
2021-03-23 21:10:21 +0100 <dolio> The way the implementation works is that if the function is point-wise bottom, it will never find a value to stop the parallel evaluation, so the overall result will be bottom.
2021-03-23 21:10:27 +0100redmp(~redmp@172.58.38.247)
2021-03-23 21:11:23 +0100 <dolio> And if it's not point-wise bottom, eventually the right point might be found and work can continue.
2021-03-23 21:12:19 +0100 <dolio> That behavior corresponds to the domain theoretic definition.
2021-03-23 21:12:45 +0100stree(~stree@68.36.8.116)
2021-03-23 21:13:23 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-03-23 21:15:29 +0100 <Gurkenglas> dolio, if the function f to be judged equal or not equal to const ⊥ has an argument type with a value more defined than any other, you can simply check whether f applied to that value is ⊥ :)
2021-03-23 21:19:18 +0100 <Gurkenglas> (...such argument types are isomorphic to A -> () for some A, I think...)
2021-03-23 21:21:03 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-23 21:22:48 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2021-03-23 21:25:15 +0100smerdyakov(~dan@5.146.195.159) (Quit: Leaving)
2021-03-23 21:25:35 +0100smerdyakov(~dan@5.146.195.159)
2021-03-23 21:25:36 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-23 21:25:53 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr)
2021-03-23 21:26:36 +0100vnz(~vnz@unaffiliated/vnz) (Quit: ZNC - http://znc.in)
2021-03-23 21:26:47 +0100towel_towel
2021-03-23 21:27:46 +0100 <dolio> Most domains are not like that.
2021-03-23 21:27:47 +0100jneira(501e65b6@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.182)
2021-03-23 21:27:54 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-23 21:28:10 +0100apeyroux(~alex@78.20.138.88.rev.sfr.net) (Ping timeout: 258 seconds)
2021-03-23 21:28:34 +0100vnz(~vnz@2001:bc8:604:94f::1)
2021-03-23 21:28:34 +0100vnz(~vnz@2001:bc8:604:94f::1) (Changing host)
2021-03-23 21:28:34 +0100vnz(~vnz@unaffiliated/vnz)
2021-03-23 21:28:37 +0100Nahra(~Nahra@unaffiliated/nahra) (Ping timeout: 260 seconds)
2021-03-23 21:31:04 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-23 21:32:31 +0100 <dolio> If you use lattice theory instead you'd have that, but I don't know as much about lattice theoretic semantics.
2021-03-23 21:33:17 +0100 <wz1000> I would really like to mask in ConduitT
2021-03-23 21:33:31 +0100 <wz1000> but I don't think there is a way
2021-03-23 21:34:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-03-23 21:35:05 +0100 <dolio> I think prima facie you'd have a better story for lub, too, because it would exist even if the values mismatch on the 'well-defined' parts. But I think you need to wait for all branches to complete, so that's bad.
2021-03-23 21:37:56 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9)
2021-03-23 21:38:35 +0100ozataman(~ozataman@pool-151-202-25-12.nycmny.fios.verizon.net)
2021-03-23 21:39:48 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-23 21:42:31 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9) (Ping timeout: 244 seconds)
2021-03-23 21:44:46 +0100apeyroux(~alex@78.20.138.88.rev.sfr.net)
2021-03-23 21:54:12 +0100conal(~conal@64.71.133.70)
2021-03-23 21:55:28 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 245 seconds)
2021-03-23 22:00:32 +0100 <monochrom> Lattices are nice in giving you a sense of symmetry in "both join and meet exist, not just biasedly one of them". In the same sense classical logic is more symmetric than intuitionistic logic.
2021-03-23 22:01:03 +0100kritzefitz(~kritzefit@212.86.56.80) (Ping timeout: 256 seconds)
2021-03-23 22:01:25 +0100farzad(~farzad@5.234.226.127)
2021-03-23 22:01:45 +0100 <monochrom> But I learned it the hard way, even resisted for a while, that once computation is involved, that nice symmetry has to be broken. Necessarily one side is much more computable than the other. Too bad, but c'est la vie.
2021-03-23 22:01:54 +0100 <ski> @hackage lvish
2021-03-23 22:01:55 +0100 <lambdabot> https://hackage.haskell.org/package/lvish
2021-03-23 22:02:55 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-23 22:03:19 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-03-23 22:05:00 +0100 <monochrom> You will find lattice theory --- admitting both join and meet --- more popular in semantics of stateful programming, e.g., most spaces of Dijkstra's weakest preconditions. But immediately you will also find that one of them stands for angelic non-determinism, a miraculous notion that is nice to have in math but everyone knows it is unimplementable.
2021-03-23 22:05:22 +0100 <ski> being able to have multiple stages (more than just "not forced", and "forced, possibly containing unforced components") could also be useful. an example is "improving intervals", where one attempts to represent real numbers, by successively better rational interval approximations. you can e.g. write a binary-search of a root, using a `clamp' (`clamp lo hi x = max lo (min hi x) = min hi (max lo x)'), with an
2021-03-23 22:05:28 +0100 <ski> implementation that at first looks like it can't terminate, due to no base case. calling `>' will force successively better approximations, until (if) it can tell the answer
2021-03-23 22:06:13 +0100 <ski> (another possibility for multiple instantiation states would be something like splay trees, or other such things, where you can switch to an alternate representation, based of usage patterns)
2021-03-23 22:07:47 +0100skiidly recalls browsing a paper about using topological methods to analyze concurrency, e.g. deadlock. avoiding "forbidden regions" of a multidimensional state-space, where one traces out a monotone/increasing path
2021-03-23 22:10:41 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 256 seconds)
2021-03-23 22:11:43 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2021-03-23 22:12:08 +0100v01d4lph4(~v01d4lph4@106.212.133.35)
2021-03-23 22:12:08 +0100cantstanya(~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection)
2021-03-23 22:12:46 +0100 <farzad> hi guys, is ClassyPrelude still a thing? im having trouble setting it up in a fresh project
2021-03-23 22:12:57 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds)
2021-03-23 22:14:13 +0100 <monochrom> ski: In the case of improving intervals, I think we can fake it with [(Rationa, Rational)] as lists of successively improving intervals. To be sure, as usual, encodings suck.
2021-03-23 22:14:29 +0100cantstanya(~chatting@gateway/tor-sasl/cantstanya)
2021-03-23 22:15:30 +0100 <monochrom> Haha great, improving intervals and splay trees are advocates of mutable state. >:)
2021-03-23 22:16:01 +0100Pickchea(~private@unaffiliated/pickchea) (Quit: Leaving)
2021-03-23 22:16:49 +0100codygman`(~user@209.251.131.98) (Ping timeout: 272 seconds)
2021-03-23 22:17:00 +0100v01d4lph4(~v01d4lph4@106.212.133.35) (Ping timeout: 265 seconds)
2021-03-23 22:17:53 +0100conal(~conal@64.71.133.70)
2021-03-23 22:19:04 +0100DTZUZU(~DTZUZO@207.81.119.43)
2021-03-23 22:19:15 +0100DTZUZU_(~DTZUZO@205.ip-149-56-132.net) (Read error: Connection reset by peer)
2021-03-23 22:20:37 +0100farzad_(~farzad@46.100.80.143)
2021-03-23 22:23:02 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
2021-03-23 22:23:09 +0100farzad(~farzad@5.234.226.127) (Ping timeout: 256 seconds)
2021-03-23 22:23:46 +0100DTZUZU(~DTZUZO@207.81.119.43) (Ping timeout: 265 seconds)
2021-03-23 22:25:32 +0100solidus-river(~mike@174.127.249.180) ()
2021-03-23 22:25:35 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-23 22:25:41 +0100cfricke(~cfricke@unaffiliated/cfricke) (Ping timeout: 272 seconds)
2021-03-23 22:25:54 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr)
2021-03-23 22:26:31 +0100forp(57e3c46d@87.227.196.109)
2021-03-23 22:26:42 +0100 <ski> monochrom : yea. the same mutability of the heart of by-need
2021-03-23 22:26:52 +0100 <ski> s/of/at/1
2021-03-23 22:27:38 +0100Vadrigar_(~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
2021-03-23 22:28:26 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-23 22:28:51 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2021-03-23 22:29:38 +0100forp(57e3c46d@87.227.196.109) (Client Quit)
2021-03-23 22:30:13 +0100 <redmp> logs for this channel stop march 13 http://tunes.org/~nef/logs/haskell/?C=M
2021-03-23 22:30:23 +0100solvr(57e3c46d@87.227.196.109)
2021-03-23 22:31:31 +0100solvr(57e3c46d@87.227.196.109) (Client Quit)
2021-03-23 22:31:48 +0100solvr(57e3c46d@87.227.196.109)
2021-03-23 22:33:02 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
2021-03-23 22:33:23 +0100redmp(~redmp@172.58.38.247) (Quit: leaving)
2021-03-23 22:34:08 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-23 22:34:32 +0100 <monochrom> Hrm, yikes.
2021-03-23 22:35:28 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9)
2021-03-23 22:38:32 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9) (Remote host closed the connection)
2021-03-23 22:38:40 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9)
2021-03-23 22:38:52 +0100forgottenone(~forgotten@176.42.23.95) (Remote host closed the connection)
2021-03-23 22:40:56 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:acf0:35a9:d96b:256f) (Ping timeout: 240 seconds)
2021-03-23 22:42:26 +0100shellin(bab7266a@186.183.38.106)
2021-03-23 22:43:30 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2021-03-23 22:43:52 +0100Sathiana(~kath@185-113-98-38.cust.bredband2.com) (Quit: WeeChat 3.1)
2021-03-23 22:44:10 +0100 <ski> @tell redmp try <https://ircbrowse.tomsmeding.com/browse/haskell>
2021-03-23 22:44:10 +0100 <lambdabot> Consider it noted.
2021-03-23 22:47:37 +0100_flow_(~none@salem.informatik.uni-erlangen.de) (Quit: WeeChat 2.9)
2021-03-23 22:48:15 +0100shellin(bab7266a@186.183.38.106) ()
2021-03-23 22:49:13 +0100 <falsifian> @help tell
2021-03-23 22:49:13 +0100 <lambdabot> tell <nick> <message>. When <nick> shows activity, tell them <message>.
2021-03-23 22:49:22 +0100 <falsifian> Cool!
2021-03-23 22:50:32 +0100acidjnk_new(~acidjnk@p200300d0c72b958398d78e73e557de79.dip0.t-ipconnect.de)
2021-03-23 22:51:11 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9) (Remote host closed the connection)
2021-03-23 22:51:19 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 265 seconds)
2021-03-23 22:51:22 +0100ubert1(~Thunderbi@p200300ecdf25d9f2e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-03-23 22:56:28 +0100 <lukelau_> Are there any http libraries that allow me to stream http responses in a lightweight manner?
2021-03-23 22:57:08 +0100 <lukelau_> everything I’ve seen so far either involves setting up conduits or io-streams, but what I really want is just a lazy bytestring that just streams the response
2021-03-23 22:58:23 +0100Noldorin(~noldorin@unaffiliated/noldorin) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-03-23 23:02:24 +0100 <__minoru__shirae> @help untell
2021-03-23 23:02:24 +0100 <lambdabot> help <command>. Ask for help for <command>. Try 'list' for all commands
2021-03-23 23:04:29 +0100usr25(~usr25@unaffiliated/usr25)
2021-03-23 23:04:43 +0100forgottenone(~forgotten@176.42.23.95)
2021-03-23 23:05:38 +0100 <__minoru__shirae> lukelau_: how about using network package directly?
2021-03-23 23:05:58 +0100Noldorin(~noldorin@unaffiliated/noldorin)
2021-03-23 23:06:59 +0100 <__minoru__shirae> there is a Network.Socket.ByteString.Lazy module: https://hackage.haskell.org/package/network-3.1.2.1/docs/Network-Socket-ByteString-Lazy.html
2021-03-23 23:09:31 +0100Rudd0(~Rudd0@185.189.115.108)
2021-03-23 23:09:52 +0100 <lukelau_> __minoru__shirae: hm was hoping i wouldnt have to drop down to the socket level
2021-03-23 23:10:32 +0100 <lukelau_> is there a reason though as to why http packages currently wait for the entire response before returning lazy results?
2021-03-23 23:11:12 +0100 <lukelau_> i gather that some might want to throw an exception if the status code isn’t 200, but thats the first thing that arrives
2021-03-23 23:13:57 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr)
2021-03-23 23:15:58 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:30aa:5abb:2db7:7fb5)
2021-03-23 23:17:20 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Quit: Lost terminal)
2021-03-23 23:18:02 +0100knupfer(~Thunderbi@i59F7FF9C.versanet.de) (Ping timeout: 264 seconds)
2021-03-23 23:19:16 +0100 <__minoru__shirae> lukelau_: I think that an exception you're talking about has different semantics than http response code semantics
2021-03-23 23:20:46 +0100 <__minoru__shirae> server can start sending you a 200 response with a big body and fail in the middle of it
2021-03-23 23:20:57 +0100stree(~stree@68.36.8.116) (Ping timeout: 264 seconds)
2021-03-23 23:21:34 +0100malumore(~malumore@151.62.117.161) (Remote host closed the connection)
2021-03-23 23:21:44 +0100 <__minoru__shirae> http protocol doesn't guarrantee that once started, a transaction of sending an answer can't fail, right?
2021-03-23 23:21:59 +0100 <lukelau_> I guess
2021-03-23 23:22:07 +0100malumore(~malumore@151.62.117.161)
2021-03-23 23:22:14 +0100 <lukelau_> And by fail that presumably means the connection is closed before Content-Length bytes are read?
2021-03-23 23:22:34 +0100 <__minoru__shirae> yeah, something like that
2021-03-23 23:22:42 +0100apeyroux(~alex@78.20.138.88.rev.sfr.net) (Ping timeout: 256 seconds)
2021-03-23 23:23:04 +0100 <__minoru__shirae> because you would need time travel to fix the response code of that response
2021-03-23 23:24:40 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-23 23:25:35 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-23 23:25:54 +0100zebrag(~inkbottle@aaubervilliers-654-1-109-157.w86-212.abo.wanadoo.fr)
2021-03-23 23:26:19 +0100 <__minoru__shirae> wait, do you have to know the Content-Length beforehand?
2021-03-23 23:26:39 +0100 <__minoru__shirae> then that's another reason
2021-03-23 23:26:47 +0100 <Axman6> lukelau_: what about wreq? https://hackage.haskell.org/package/wreq-0.5.3.3/docs/Network-Wreq.html
2021-03-23 23:26:48 +0100 <__minoru__shirae> but I'm not sure if it's required
2021-03-23 23:27:29 +0100 <lukelau_> __minoru__shirae: no, the http request i’m making streams blobs of json separated by newlines
2021-03-23 23:27:34 +0100 <lukelau_> so its content-length is infinite really
2021-03-23 23:27:55 +0100 <Axman6> get :: String -> IO (Response ByteString) (and that's a lazy bytestring)
2021-03-23 23:27:55 +0100 <monochrom> wreq looks like what you want.
2021-03-23 23:28:04 +0100 <lukelau_> iI
2021-03-23 23:28:10 +0100 <lukelau_> I’ll give wreq a try, thanks
2021-03-23 23:28:13 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:30aa:5abb:2db7:7fb5) (Ping timeout: 268 seconds)
2021-03-23 23:28:18 +0100 <lukelau_> So far HTTP and req have been blocking for me
2021-03-23 23:28:20 +0100 <monochrom> I just forgot it because I'm not familiar with any http library.
2021-03-23 23:29:34 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-23 23:29:46 +0100 <Axman6> but really, lazy bytestrings are not a great way to deal with streaming data
2021-03-23 23:29:53 +0100dragestil(~quassel@fsf/member/dragestil) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2021-03-23 23:30:57 +0100 <lukelau_> argh wreq blocks anyway
2021-03-23 23:31:15 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-23 23:31:37 +0100conal(~conal@64.71.133.70)
2021-03-23 23:32:49 +0100wonko7(~wonko7@62.115.229.50) (Ping timeout: 272 seconds)
2021-03-23 23:33:19 +0100 <wz1000> unsafeInterleaveIO?
2021-03-23 23:34:00 +0100stree(~stree@68.36.8.116)
2021-03-23 23:34:40 +0100 <monochrom> unsafeInterleaveIO doesn't reduce blocking unless you actually have something else to do in the meantime.
2021-03-23 23:34:49 +0100lemmih(~lemmih@2406:3003:2072:44:ae54:3bb1:1680:3911) (Remote host closed the connection)
2021-03-23 23:35:07 +0100lemmih(~lemmih@2406:3003:2072:44:1345:21f1:41a5:e328)
2021-03-23 23:35:08 +0100 <Gurkenglas> "To make packages available add them to the stack.yaml in the IHaskell directory and run stack solver && stack install." <- stack solver says "Invalid argument: 'solver'", what do I do?
2021-03-23 23:35:41 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 256 seconds)
2021-03-23 23:36:57 +0100 <sclv> Did stack delete the solver command? Iirc it may have, not sure...
2021-03-23 23:37:06 +0100 <Axman6> Perhaps check the release notes for stack to see what happened to it
2021-03-23 23:37:43 +0100nf(~n@monade.li) (Quit: Fairfarren.)
2021-03-23 23:38:21 +0100nf(~n@monade.li)
2021-03-23 23:38:52 +0100 <glguy> sclv: IIRC it stopped working when cabal changed and was then deprecated in favor of fixing
2021-03-23 23:39:35 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2021-03-23 23:39:49 +0100ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-03-23 23:41:13 +0100heatsink(~heatsink@2600:1700:bef1:5e10:b09b:3609:dd4b:42c9)
2021-03-23 23:41:44 +0100 <sclv> right, so that sadly answers Gurkenglas ' question in the negative
2021-03-23 23:41:57 +0100GZJ0X_(~gzj@unaffiliated/gzj)
2021-03-23 23:42:03 +0100 <sclv> I guess the answer is "you have to figure it all out by hand". i don't know what the standard workflow for that is
2021-03-23 23:42:03 +0100 <Gurkenglas> It's still in the user guide :( did they say what one should use instead?
2021-03-23 23:42:21 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-23 23:42:30 +0100 <lukelau_> Axman6: yeah, http-conduit works, looks like i’m going into the conduit ecosystem now!
2021-03-23 23:42:52 +0100Nik05(~Nik05@unaffiliated/nik05) (Quit: ZNC 1.8.2 - https://znc.in)
2021-03-23 23:43:04 +0100_ashbreeze_(~mark@64.85.214.234.reverse.socket.net) (Remote host closed the connection)
2021-03-23 23:43:17 +0100 <Axman6> good luck!
2021-03-23 23:43:33 +0100 <Gurkenglas> like, i would like to import modules from a package whose name I know. what do I need to do?
2021-03-23 23:43:44 +0100Nik05(~Nik05@unaffiliated/nik05)
2021-03-23 23:44:42 +0100LKoen(~LKoen@194.250.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2021-03-23 23:44:51 +0100_ashbreeze_(~mark@64.85.214.234.reverse.socket.net)
2021-03-23 23:45:26 +0100 <sclv> Gurkenglas: add it to the extra deps section https://docs.haskellstack.org/en/stable/GUIDE/#curated-package-sets
2021-03-23 23:45:39 +0100 <sclv> i assume you did that, and then stack solver failed to run
2021-03-23 23:45:50 +0100wonko7(~wonko7@45.15.17.60)
2021-03-23 23:45:56 +0100gzj(~gzj@unaffiliated/gzj) (Ping timeout: 265 seconds)
2021-03-23 23:45:59 +0100 <sclv> so what that means is I think that you can still try to proceed, but you may get a failure because some transitive dep of that package is missing
2021-03-23 23:46:10 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:30aa:5abb:2db7:7fb5)
2021-03-23 23:46:12 +0100 <sclv> so you need to go add that transitive dep to extra deps, and repeat
2021-03-23 23:46:17 +0100malumore(~malumore@151.62.117.161) (Ping timeout: 260 seconds)
2021-03-23 23:46:34 +0100 <sclv> and hope you don't accidentally introduce a conflict, or take care using Mad Thinking Skillz to ensure you don't
2021-03-23 23:46:39 +0100 <sclv> (i.e. run a solver in your head)
2021-03-23 23:47:11 +0100texasmynsted(~texasmyns@99.96.221.112)
2021-03-23 23:47:16 +0100 <wz1000> Does Conduit really have to way to mask exceptions?
2021-03-23 23:47:22 +0100codygman__(~user@47.186.207.161)
2021-03-23 23:47:30 +0100 <wz1000> How do people write any exception safe code with it?
2021-03-23 23:47:40 +0100 <sclv> they don't
2021-03-23 23:47:55 +0100conal(~conal@64.71.133.70)
2021-03-23 23:47:57 +0100 <Axman6> I thought ResourceT was part of doing that
2021-03-23 23:48:00 +0100 <wz1000> huh, pipes doesn't either
2021-03-23 23:48:23 +0100ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-03-23 23:48:37 +0100 <Axman6> I would guess you rely on being able to do it in the monad your conduits use, not the conduits themselves
2021-03-23 23:48:44 +0100vchlup_(~vchlup@nat.brnet.cz) (Remote host closed the connection)
2021-03-23 23:49:27 +0100 <wz1000> But I want to mask around await!
2021-03-23 23:50:21 +0100 <Axman6> BEst I can do is, no you don't :)
2021-03-23 23:50:56 +0100 <sclv> or don't use conduit
2021-03-23 23:51:01 +0100vchlup(~vchlup@nat.brnet.cz)
2021-03-23 23:51:11 +0100 <wz1000> how do I ensure values don't get lost in the ether when I send a timeout and recover from it
2021-03-23 23:51:31 +0100 <wz1000> do people really use this for network applications?
2021-03-23 23:51:33 +0100 <sclv> i don't think you can do that with conduit
2021-03-23 23:51:57 +0100 <wz1000> seems like a fundamental limitation
2021-03-23 23:52:00 +0100 <sclv> agreed
2021-03-23 23:52:11 +0100 <wz1000> which streaming library should I use?
2021-03-23 23:52:23 +0100 <sclv> what's the full use case
2021-03-23 23:53:08 +0100fendor_(~fendor@91.141.1.53.wireless.dyn.drei.com) (Remote host closed the connection)
2021-03-23 23:53:13 +0100 <wz1000> parsing/validating a stream of values
2021-03-23 23:53:41 +0100 <sclv> what's the IO component?
2021-03-23 23:53:51 +0100 <wz1000> it is interactive
2021-03-23 23:54:04 +0100 <sclv> how is stream produced
2021-03-23 23:54:05 +0100 <Axman6> I guess one answer is using threads which send values using MVars/Chans/TMVars/TChans etc. to another thread which processes values using conduit
2021-03-23 23:54:17 +0100 <sclv> or not using conduit
2021-03-23 23:54:22 +0100 <wz1000> via interaction with a server
2021-03-23 23:54:23 +0100 <sclv> its extraneous to a parallel architecture
2021-03-23 23:54:24 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-03-23 23:54:36 +0100 <wz1000> think request/response
2021-03-23 23:54:37 +0100 <sclv> yeah i always just structure that stuff with tchans and especially bounded tchans
2021-03-23 23:54:58 +0100 <Axman6> yeah for rerquests response stuff, threads are the way to go usually
2021-03-23 23:56:53 +0100aarvar(~foewfoiew@2601:602:a080:fa0:49ff:dc3d:e55f:8dd)
2021-03-23 23:58:28 +0100ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-03-23 23:58:37 +0100farzad_(~farzad@46.100.80.143) (Quit: Leaving)
2021-03-23 23:59:32 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-03-23 23:59:37 +0100frankdmartinez(~frankdmar@62.182.99.65)