2024/01/26

2024-01-26 00:00:34 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2024-01-26 00:01:54 +0100mima(~mmh@aftr-62-216-211-209.dynamic.mnet-online.de)
2024-01-26 00:05:20 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan)
2024-01-26 00:08:00 +0100tri(~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection)
2024-01-26 00:09:26 +0100dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 252 seconds)
2024-01-26 00:15:15 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2024-01-26 00:15:39 +0100wlhn(~wenzel@dl5rzs8hfxtxc2s075t2y-3.rev.dnainternet.fi)
2024-01-26 00:15:51 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan)
2024-01-26 00:22:52 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-01-26 00:23:57 +0100tri(~tri@ool-18bbef1a.static.optonline.net)
2024-01-26 00:26:45 +0100dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net)
2024-01-26 00:26:56 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-01-26 00:27:56 +0100acidjnk_new(~acidjnk@p200300d6e737e7109cde0c014502dbcd.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2024-01-26 00:28:41 +0100tri(~tri@ool-18bbef1a.static.optonline.net) (Ping timeout: 252 seconds)
2024-01-26 00:29:44 +0100michalz(~michalz@185.246.207.197) (Quit: ZNC 1.8.2 - https://znc.in)
2024-01-26 00:32:23 +0100julie_pilgrim(~julie_pil@user/julie-pilgrim/x-1240752) (Remote host closed the connection)
2024-01-26 00:33:38 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-01-26 00:42:01 +0100Adran(~adran@botters/adran) (Quit: Este é o fim.)
2024-01-26 00:42:22 +0100mei(~mei@user/mei) (Remote host closed the connection)
2024-01-26 00:44:45 +0100mei(~mei@user/mei)
2024-01-26 00:45:19 +0100Square2(~Square4@user/square)
2024-01-26 00:48:37 +0100xff0x(~xff0x@ai085147.d.east.v6connect.net) (Ping timeout: 246 seconds)
2024-01-26 00:48:57 +0100Square(~Square@user/square) (Ping timeout: 260 seconds)
2024-01-26 00:49:06 +0100Square2Square
2024-01-26 00:49:41 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2024-01-26 00:49:59 +0100azimut_(~azimut@gateway/tor-sasl/azimut)
2024-01-26 00:50:42 +0100xff0x(~xff0x@178.255.149.135)
2024-01-26 00:59:49 +0100xff0x(~xff0x@178.255.149.135) (Ping timeout: 246 seconds)
2024-01-26 01:02:02 +0100xff0x(~xff0x@ai085147.d.east.v6connect.net)
2024-01-26 01:03:25 +0100azimut_(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2024-01-26 01:03:56 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2024-01-26 01:07:02 +0100Nixkernal(~Nixkernal@115.16.194.178.dynamic.wline.res.cust.swisscom.ch) (Ping timeout: 256 seconds)
2024-01-26 01:07:37 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 276 seconds)
2024-01-26 01:09:15 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-01-26 01:15:30 +0100dtman34(~dtman34@2601:447:d000:93c9:26e6:4184:3fb9:5726) (Ping timeout: 260 seconds)
2024-01-26 01:17:22 +0100mima(~mmh@aftr-62-216-211-209.dynamic.mnet-online.de) (Ping timeout: 276 seconds)
2024-01-26 01:25:47 +0100thegeekinside(~thegeekin@189.180.65.186) (Ping timeout: 264 seconds)
2024-01-26 01:26:38 +0100Adran(~adran@botters/adran)
2024-01-26 01:26:40 +0100thegeekinside(~thegeekin@189.180.65.186)
2024-01-26 01:38:35 +0100finsternis(~X@23.226.237.192)
2024-01-26 01:47:34 +0100innegatives_(uid621315@id-621315.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-01-26 01:52:39 +0100 <shapr> bgamari_: do you know of hx8k support for clash? That, I want to compile clash to the fomu? https://tomu.im/fomu.html
2024-01-26 01:54:53 +0100noumenon(~noumenon@113.51-175-156.customer.lyse.net)
2024-01-26 02:21:44 +0100Tuplanolla(~Tuplanoll@91-159-68-95.elisa-laajakaista.fi) (Quit: Leaving.)
2024-01-26 02:22:45 +0100mei(~mei@user/mei) (Remote host closed the connection)
2024-01-26 02:25:10 +0100mei(~mei@user/mei)
2024-01-26 02:34:05 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
2024-01-26 02:34:40 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2024-01-26 02:40:37 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
2024-01-26 02:47:40 +0100AWizzArd(~code@user/awizzard) ()
2024-01-26 03:03:18 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-01-26 03:11:57 +0100TonyStone(~TonyStone@074-076-057-186.res.spectrum.com)
2024-01-26 03:19:23 +0100Ackermann(~alex@075-139-208-209.res.spectrum.com)
2024-01-26 03:20:32 +0100aforemny_(~aforemny@2001:9e8:6cca:7200:b659:7e3b:e0a9:bb8f)
2024-01-26 03:21:51 +0100aforemny(~aforemny@2001:9e8:6cf9:9a00:4bfc:c9f0:6a8:dc47) (Ping timeout: 260 seconds)
2024-01-26 03:22:01 +0100xff0x(~xff0x@ai085147.d.east.v6connect.net) (Ping timeout: 264 seconds)
2024-01-26 03:34:19 +0100_________(~nobody@user/noodly) (Ping timeout: 256 seconds)
2024-01-26 03:35:53 +0100causal(~eric@50.35.85.7)
2024-01-26 03:43:10 +0100mobivme(~mobivme@112.201.111.217) (Read error: Connection reset by peer)
2024-01-26 03:46:07 +0100mobivme(~mobivme@112.201.111.217)
2024-01-26 04:07:10 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2024-01-26 04:08:12 +0100mobivme(~mobivme@112.201.111.217) (Remote host closed the connection)
2024-01-26 04:09:55 +0100thegeekinside(~thegeekin@189.180.65.186) (Ping timeout: 260 seconds)
2024-01-26 04:16:03 +0100mwnaylor(~mwnaylor@2601:5cf:837e:2bb0::68fa)
2024-01-26 04:17:04 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c1cf:e14:7781:abcb) (Remote host closed the connection)
2024-01-26 04:17:28 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c1cf:e14:7781:abcb)
2024-01-26 04:27:52 +0100 <mwnaylor> Does anyone here have experience w/ Clojure?
2024-01-26 04:30:11 +0100 <mwnaylor> I've only dabbled w/ Haskell, but the pure functionality helped me when delving into Scala and Clojure.
2024-01-26 04:39:50 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2024-01-26 04:50:25 +0100td_(~td@i53870927.versanet.de) (Ping timeout: 255 seconds)
2024-01-26 04:50:37 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Quit: peterbecich)
2024-01-26 04:51:12 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-01-26 04:52:21 +0100td_(~td@i5387091B.versanet.de)
2024-01-26 04:59:28 +0100ddellacosta(~ddellacos@ool-44c73d16.dyn.optonline.net)
2024-01-26 05:11:06 +0100igemnace(~ian@user/igemnace)
2024-01-26 05:17:19 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 05:17:49 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
2024-01-26 05:18:20 +0100igemnace(~ian@user/igemnace) (Quit: WeeChat 4.2.1)
2024-01-26 05:21:09 +0100 <xacktm> anyone know if http://dev.stephendiehl.com/hask/ is temporarily down or has been down for a while? Any 2.5 version mirrors?
2024-01-26 05:34:32 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds)
2024-01-26 05:38:16 +0100trev(~trev@user/trev)
2024-01-26 05:39:11 +0100 <EvanR> down for me too, not just you!
2024-01-26 05:39:40 +0100 <EvanR> mwnaylor, yes I can decomplect if necessary
2024-01-26 05:42:52 +0100 <haskellbridge> 06<s​m> it has been down for years, I don't understand it, please contact him
2024-01-26 05:54:10 +0100 <Axman6> tri: I didn't follow the whole discussion, but as for why you'd want to fold over a Maybe value, IMO it's more useful think of it as optionally doing something. So look at foldMap print, if you give that a Just it'll print it, if you give it a Nothing, it'll just return IO ()
2024-01-26 05:54:30 +0100 <Axman6> % foldMap print (Just 10)
2024-01-26 05:54:30 +0100 <yahb2> 10
2024-01-26 05:54:37 +0100 <monochrom> That reminds me of a true story. A certain university's IT support once had this on their email support page: "If you still have trouble with email, send us an email at ..."
2024-01-26 05:54:39 +0100 <Axman6> % foldMap print (Nothing :: Maybe Int)
2024-01-26 05:54:39 +0100 <yahb2> <no output>
2024-01-26 05:57:53 +0100aforemny(~aforemny@2001:9e8:6cda:4600:7747:ed4:88dc:55a7)
2024-01-26 05:59:05 +0100mwnaylor(~mwnaylor@2601:5cf:837e:2bb0::68fa) (Quit: Client closed)
2024-01-26 05:59:28 +0100aforemny_(~aforemny@2001:9e8:6cca:7200:b659:7e3b:e0a9:bb8f) (Ping timeout: 276 seconds)
2024-01-26 06:01:24 +0100 <EvanR> to find your phone, use the find my phone app
2024-01-26 06:02:02 +0100 <EvanR> to fix your internet, follow the guide at this URL
2024-01-26 06:02:09 +0100 <Axman6> monochrom: it's not a certain email that you work at is it? XD
2024-01-26 06:02:27 +0100 <Axman6> EvanR: to be fair, my watch does an a find my phoner app...
2024-01-26 06:02:28 +0100 <EvanR> to see in the dark, first look for the flashlight
2024-01-26 06:02:31 +0100 <Axman6> phone*
2024-01-26 06:02:43 +0100 <monochrom> No, it was my friend's university. :)
2024-01-26 06:03:00 +0100 <EvanR> glow in the dark sunglasses
2024-01-26 06:09:22 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-01-26 06:15:26 +0100michalz(~michalz@185.246.207.221)
2024-01-26 06:24:34 +0100 <tri> how could i compose String -> Either String (Vector a) to Vector a -> IO () please?
2024-01-26 06:25:27 +0100 <tri> i have toRecord :: String -> Either String (Vector a)
2024-01-26 06:25:37 +0100 <tri> and printRecord :: Vector a -> IO ()
2024-01-26 06:26:00 +0100 <tri> i'd like to unwrap the Vector a in the Either and feed into the printRecord function
2024-01-26 06:26:11 +0100 <tri> of course without pattern matching
2024-01-26 06:26:50 +0100 <tri> im looking for something like >>=, but the return of printRecord is IO, not Either so i can't use Monad
2024-01-26 06:29:57 +0100 <tri> ... or pattern matching is the only option i have?.,.
2024-01-26 06:32:21 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-01-26 06:42:46 +0100 <ski> @where WIWIK
2024-01-26 06:42:46 +0100 <lambdabot> "What I Wish I Knew When Learning Haskell" by Stephen Diehl at <https://github.com/sdiehl/wiwinwlh/blob/master/tutorial.md>,<https://web.archive.org/web/20220513191346/https://dev.stephendiehl.com/
2024-01-26 06:42:46 +0100 <lambdabot> hask/>
2024-01-26 06:42:50 +0100 <ski> xacktm ^
2024-01-26 06:43:18 +0100 <ski> sm ^
2024-01-26 06:43:55 +0100 <tri> is that for me?
2024-01-26 06:44:00 +0100 <ski> no
2024-01-26 06:44:03 +0100 <tri> ah ok
2024-01-26 06:44:10 +0100 <haskellbridge> 06<s​m> both broken links, right ?
2024-01-26 06:44:23 +0100 <ski> both links work for me
2024-01-26 06:46:36 +0100 <ski> tri : what should happen if you get `Left' ?
2024-01-26 06:46:42 +0100 <haskellbridge> 06<s​m> Element was failing on the first, I see it now: https://github.com/sdiehl/wiwinwlh/blob/master/tutorial.md
2024-01-26 06:46:42 +0100 <haskellbridge> 06<s​m> The second shows me: Nothing to see here, move along.
2024-01-26 06:46:56 +0100 <haskellbridge> 06<s​m> still please contact sdiehl to update his page
2024-01-26 06:47:04 +0100 <ski> sm : lambdabot broke it over two lines, please reassemble
2024-01-26 06:47:11 +0100 <haskellbridge> 06<s​m> (xacktm)
2024-01-26 06:47:28 +0100 <ski> or, here : <https://github.com/sdiehl/wiwinwlh/blob/master/tutorial.md>,<https://web.archive.org/web/20220513191346/https://dev.stephendiehl.com/hask/>
2024-01-26 06:47:35 +0100 <EvanR> you can easily compose them with >>= to get a String -> Either String (IO ())
2024-01-26 06:47:46 +0100 <EvanR> leading to ski's question about Left
2024-01-26 06:47:54 +0100 <tri> haskellbridge: hmm i was not thinking about it, cause i was trying to run it in repl. So I just want to extract the Right value and feed it into the other funtion to see the result
2024-01-26 06:48:26 +0100 <EvanR> you can issue two commands in repl... Right x <- toRecord "whatever"
2024-01-26 06:48:28 +0100 <haskellbridge> 06<s​m> https://web.archive.org/web/20220513191346/https://dev.stephendiehl.com/hask/ works, thanks
2024-01-26 06:48:32 +0100 <EvanR> printRecord x
2024-01-26 06:49:03 +0100 <EvanR> shoot, the first one isn't IO. let Right x = toRecord "whatever"
2024-01-26 06:49:03 +0100 <tri> EvanR: Right x <- toRecord "whavetever" that's a legit syntax?
2024-01-26 06:49:06 +0100 <tri> i gotta try it out
2024-01-26 06:49:08 +0100 <ski> yes, tri
2024-01-26 06:49:17 +0100 <ski> it's just pattern-matching
2024-01-26 06:49:18 +0100 <EvanR> it would be if toRecord "whatever" were an IO action
2024-01-26 06:49:21 +0100 <haskellbridge> 06<s​m> FTR links enclosed in angle brackets don't work in Element, and angle brackets are generally superfluous here
2024-01-26 06:51:03 +0100 <tri> ski: Right positions <- printPositions didn't work in my repl
2024-01-26 06:51:20 +0100 <tri> positions :: Either String Position
2024-01-26 06:51:31 +0100 <tri> printPositions :: Position -> IO ()
2024-01-26 06:51:58 +0100 <tri> i typed Right positions <- printPositions as you said pattern matching and didn't work
2024-01-26 06:53:53 +0100 <tri> ah i see what you meant there
2024-01-26 06:53:58 +0100 <tri> anyway
2024-01-26 06:54:08 +0100 <tri> given these types
2024-01-26 06:54:14 +0100 <tri> positions :: Either String Position
2024-01-26 06:54:19 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2024-01-26 06:54:20 +0100 <tri> printPositions :: Position -> IO ()
2024-01-26 06:54:28 +0100 <EvanR> let Right x = toRecord "whatever"
2024-01-26 06:54:29 +0100 <ski> sm : "Appendix C. Delimiting a URI in Context", "Uniform Resource Identifier (URI): Generic Syntax" (RFC 3986) in 2005-01 at <https://www.rfc-editor.org/rfc/rfc3986#appendix-C>
2024-01-26 06:54:42 +0100 <tri> is there a way feed positions to printPositions without pattern matching on the Right value?
2024-01-26 06:54:57 +0100 <haskellbridge> 06<s​m> why are you quoting standards at me :)
2024-01-26 06:55:37 +0100 <EvanR> if IO () were a Monoid you could use Foldable to do it...
2024-01-26 06:55:37 +0100 <ski> @type fromRight
2024-01-26 06:55:38 +0100 <lambdabot> b -> Either a b -> b
2024-01-26 06:56:08 +0100 <EvanR> but it's not (though there is a newtype for that)
2024-01-26 06:56:26 +0100_________(~nobody@user/noodly)
2024-01-26 06:56:38 +0100 <tri> ski: fromRight looks like the right function for me, but it's not shown when I type :t fromRight
2024-01-26 06:56:43 +0100 <ski> sm : "here" and "Element" being ?
2024-01-26 06:56:51 +0100 <ski> @index fromRight
2024-01-26 06:56:51 +0100 <lambdabot> bzzt
2024-01-26 06:57:06 +0100 <ski> @type Data.Either.fromRight
2024-01-26 06:57:07 +0100 <EvanR> tri, realistically, if you do this more than once, write a function for it in your source file that you are loading in the repl
2024-01-26 06:57:08 +0100 <lambdabot> b -> Either a b -> b
2024-01-26 06:57:33 +0100 <EvanR> good technique in general to just start appending your work to the source file
2024-01-26 06:57:37 +0100 <EvanR> then reload
2024-01-26 06:58:20 +0100 <ski> tri : an alternative solution would be to get `IO (Either String ())' / `ExceptT String IO ()', or just `Either String (IO ())' as EvanR suggested
2024-01-26 06:59:20 +0100 <haskellbridge> 06<s​m> ski: ignore me. I was just letting you know that when you write links in angle brackets, they don't work for people like me connected to this channel via the Element matrix client. So in this context whitespace works better. Thanks
2024-01-26 06:59:23 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2024-01-26 06:59:26 +0100 <EvanR> also since this pertains to printing out a record somehow, look into pretty printer libraries
2024-01-26 06:59:43 +0100 <EvanR> because it's unfortunately not built in
2024-01-26 06:59:50 +0100 <tri> how does IO (Either String ()) help me when in the context of positions and printPositions function
2024-01-26 07:00:00 +0100 <tri> positions :: Either String Position
2024-01-26 07:00:07 +0100 <tri> printPositions :: positions -> IO ()
2024-01-26 07:00:14 +0100 <tri> i dont see where IO (Either String ()) fit in sorry
2024-01-26 07:01:16 +0100 <EvanR> if you want to crash on Left, you could write a function which does that or use fromRight
2024-01-26 07:01:33 +0100 <EvanR> and just work with Position directly
2024-01-26 07:02:17 +0100 <tri> yea i mean i kind of understand now
2024-01-26 07:02:24 +0100 <EvanR> ExceptT lets you always be dealing with Either and IO together
2024-01-26 07:02:28 +0100 <EvanR> at all times
2024-01-26 07:02:53 +0100 <ski> sm, oh, so it was related to Matrix then
2024-01-26 07:03:07 +0100 <tri> basically i need to handle the Error case all the time, just Monad abstract that away for me, so i will only need to be worried about the actual value when using monad
2024-01-26 07:03:11 +0100 <EvanR> which is often redundant beacuse IO has exceptions already
2024-01-26 07:03:22 +0100 <tri> but since this is different strcutre, i can't use monad
2024-01-26 07:03:29 +0100 <EvanR> ExceptT is a monad
2024-01-26 07:03:43 +0100 <tri> so i either need to pattern match, or use fromString to have a default value to account for when Either is a Left
2024-01-26 07:04:01 +0100 <EvanR> to keep it simple, just pattern match
2024-01-26 07:04:23 +0100 <tri> oh i see ExceptT is a monad transformer
2024-01-26 07:04:29 +0100 <tri> too bad i didn't read to that chapter yet
2024-01-26 07:04:32 +0100 <EvanR> and if everything is IO, react to Left by throwing an IO exception
2024-01-26 07:04:37 +0100mulk(~mulk@p5b2dc93f.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2024-01-26 07:04:55 +0100 <EvanR> which is basically what fromRight would do. You have an embarrassment of riches of ways to do it
2024-01-26 07:05:09 +0100 <ski> tri : either you could handle the `Left str', by saying what it should do in that case. or you could punt the decision of what to do, to the caller/user, by either using `Either String (IO ())', or by doing `IO (Either String ())' / `ExceptT String IO ()'
2024-01-26 07:06:15 +0100 <ski> `fromString' ?
2024-01-26 07:06:50 +0100 <tri> gotta change my name to something other than tri. Get alerted whenever someone types string
2024-01-26 07:07:13 +0100 <ski> maybe you could change alerting to only react to full words ?
2024-01-26 07:07:17 +0100 <EvanR> or fix your client because tri within "string" obviously isn't trying to notify you
2024-01-26 07:07:23 +0100benjaminl(~benjaminl@user/benjaminl) (Remote host closed the connection)
2024-01-26 07:07:57 +0100 <EvanR> we're too far past the end of IRC to be using bad clients
2024-01-26 07:08:11 +0100benjaminl(~benjaminl@user/benjaminl)
2024-01-26 07:08:35 +0100 <tri> can someone type string again?
2024-01-26 07:08:40 +0100 <EvanR> string again
2024-01-26 07:08:48 +0100 <tri> ok im good now thank you
2024-01-26 07:09:39 +0100 <ski> tri_
2024-01-26 07:09:42 +0100 <ski> tri:
2024-01-26 07:09:44 +0100 <ski> tri,
2024-01-26 07:09:49 +0100 <tri> worked
2024-01-26 07:10:03 +0100 <ski> the latter two alerts, maybe ?
2024-01-26 07:10:35 +0100mulk(~mulk@p5b112b23.dip0.t-ipconnect.de)
2024-01-26 07:11:28 +0100 <haskellbridge> 05<i​rregularsphere> lol imagine someone named "i"
2024-01-26 07:12:19 +0100 <ski> -NickServ(NickServ@services.libera.chat)- Last seen : (less than two weeks ago)
2024-01-26 07:14:20 +0100 <tri> all 3 alerted
2024-01-26 07:14:34 +0100 <EvanR> tri
2024-01-26 07:14:36 +0100 <ski> interesting
2024-01-26 07:14:42 +0100 <ski> _tri
2024-01-26 07:14:52 +0100 <EvanR> everyone
2024-01-26 07:14:59 +0100 <ski> stalfos
2024-01-26 07:15:04 +0100 <tri> https://paste.tomsmeding.com/WdoPcFhp
2024-01-26 07:15:20 +0100 <EvanR> holy crap the indentation
2024-01-26 07:15:21 +0100 <tri> could you guys do a quick code review for me on this please
2024-01-26 07:15:36 +0100 <EvanR> I have to admit I'm a never nester
2024-01-26 07:15:37 +0100 <tri> so that i can write more idiomatic haskell
2024-01-26 07:15:49 +0100 <tri> really, hmm i think that's from F# habit
2024-01-26 07:16:06 +0100 <tri> well im not sure if F# enforces that, i may be blaming it wrongly
2024-01-26 07:17:00 +0100 <EvanR> I'd say make your parser responsible for returning valid data type and don't go through a second round of validation
2024-01-26 07:17:01 +0100 <ski> printPositions positions = V.mapM_ print
2024-01-26 07:17:06 +0100 <tri> anyway, my program is to read a csv file, parse it to records, and print back out
2024-01-26 07:17:10 +0100 <ski> er
2024-01-26 07:17:16 +0100 <ski> printPositions = V.mapM_ print
2024-01-26 07:17:19 +0100 <ski> rather
2024-01-26 07:17:41 +0100 <EvanR> at the point where the parser is used, you can deal with the failure case and be done with it
2024-01-26 07:17:57 +0100 <EvanR> continuing on with the non-Either value
2024-01-26 07:18:06 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2024-01-26 07:18:30 +0100 <EvanR> in other words "parse don't validate" :tm:
2024-01-26 07:19:03 +0100 <ski> toPositions rawString = fmap snd (decodeByName (BL8.fromString rawString))
2024-01-26 07:19:20 +0100 <ski> @where parse-don't-validate
2024-01-26 07:19:20 +0100 <lambdabot> "Parse, don't validate" by lexi-lambda in 2019-11-05 at <https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/>
2024-01-26 07:19:58 +0100 <tri> EvanR: you are talking about toPositions right? which mean, I should handle the Left case there? wdym by not validate?
2024-01-26 07:20:13 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
2024-01-26 07:20:22 +0100mulk(~mulk@p5b112b23.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2024-01-26 07:20:29 +0100 <ski> EvanR : fwiw, i always nest module bodies like that
2024-01-26 07:21:09 +0100mulk(~mulk@p5b112b6b.dip0.t-ipconnect.de)
2024-01-26 07:21:10 +0100 <EvanR> your CSV parser is doing only part of the work to extract the expected data structure
2024-01-26 07:21:47 +0100 <EvanR> if you do that then wait until later on in the program ruby-on-rails-style to check for the rest of the validation, it's especially annoying in haskell
2024-01-26 07:22:51 +0100gabiruh_(~gabiruh@vps19177.publiccloud.com.br)
2024-01-26 07:23:04 +0100bilegeek(~bilegeek@2600:1008:b020:6a16:a1f8:280d:2323:e2f)
2024-01-26 07:23:07 +0100 <tri> EvanR: i don't get what you mean. So you are saying my program shouldn't worry about Left case?
2024-01-26 07:23:07 +0100gabiruh(~gabiruh@vps19177.publiccloud.com.br) (Ping timeout: 260 seconds)
2024-01-26 07:23:10 +0100 <ski> hm, where's the "validate" here, though ?
2024-01-26 07:23:17 +0100 <EvanR> not sure what decodeByName is doing or how it could fail, but parse don't validate would suggest doing that in the parser
2024-01-26 07:23:36 +0100 <tri> decodeByName is from a library cassava
2024-01-26 07:23:46 +0100 <tri> it returns Either. There is no way i cannot ignore it
2024-01-26 07:23:55 +0100 <EvanR> you start with CSV and want a Vector Position
2024-01-26 07:24:08 +0100 <EvanR> or parse failure
2024-01-26 07:24:20 +0100 <tri> yes that's right
2024-01-26 07:24:24 +0100 <ski> iow `Either (..) (Vector Position)'
2024-01-26 07:24:33 +0100 <tri> so what's the problem
2024-01-26 07:24:52 +0100 <EvanR> I guess nothing
2024-01-26 07:24:57 +0100 <tri> the csv could be non-parsable so there is the left case
2024-01-26 07:25:04 +0100 <EvanR> ok then
2024-01-26 07:25:06 +0100 <tri> otherwise it will parse successfully to Haskell type
2024-01-26 07:25:17 +0100 <tri> no im asking, im not mocking you
2024-01-26 07:25:37 +0100 <EvanR> feel free to mock me because looks basically like you already are doing it
2024-01-26 07:25:47 +0100 <EvanR> one parse step I mean
2024-01-26 07:26:07 +0100 <tri> wait so what you said earlier is still valid?
2024-01-26 07:26:31 +0100 <tri> because now you seem to agree with me what im doing, but earlier so said something about my parser shouldn't do validation
2024-01-26 07:27:47 +0100 <EvanR> I thought the parser was elsewhere
2024-01-26 07:28:39 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-01-26 07:28:56 +0100 <EvanR> so in the business logic, case analysis on the result of toPosition <string> solves it
2024-01-26 07:29:27 +0100 <EvanR> in the Right section, you no longer deal with Either
2024-01-26 07:29:41 +0100 <tri> ah i see
2024-01-26 07:29:51 +0100 <tri> yes I agree with you about that poitn
2024-01-26 07:30:04 +0100 <tri> keeping the parser free from other responsiblities
2024-01-26 07:30:36 +0100 <ski> tri : you saw my other two suggestions ?
2024-01-26 07:30:38 +0100 <tri> ski: you mentioned mapM_ instead of forM_
2024-01-26 07:30:52 +0100 <tri> i was about to reply to you
2024-01-26 07:30:53 +0100 <tri> sorry
2024-01-26 07:30:55 +0100 <tri> anyway
2024-01-26 07:30:57 +0100 <ski> and `fmap' (or `<$>' if you prefer)
2024-01-26 07:31:08 +0100 <tri> yea i know about mapM_ and forM_
2024-01-26 07:31:15 +0100 <tri> i just read about them yesterday
2024-01-26 07:31:28 +0100 <tri> they are basically the same, with flip args
2024-01-26 07:31:46 +0100 <ski> (you could still use `where', if you want to name `content'. and you could use a lambda if you want to name `header' and `v' as well)
2024-01-26 07:31:51 +0100 <ski> yes
2024-01-26 07:32:55 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2024-01-26 07:33:04 +0100 <tri> well i have a thought from forM_ and mapM_
2024-01-26 07:33:37 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2024-01-26 07:33:43 +0100 <tri> i only know about them because i read the Foldable (or Traversable) chapter in a book
2024-01-26 07:33:57 +0100 <ski> yes ?
2024-01-26 07:33:57 +0100 <tri> and i know they are the same with flipped args
2024-01-26 07:34:19 +0100 <tri> but without reading that book, and without you pointing out mapM_ equivalent to forM_
2024-01-26 07:34:29 +0100 <tri> how do i know about that
2024-01-26 07:34:44 +0100 <ski> you pick it up, after a while
2024-01-26 07:34:58 +0100 <tri> and i think forM or mapM is from typeclass Foldable or something
2024-01-26 07:35:01 +0100 <EvanR> mapM is listed in the Control.Monad utility docs
2024-01-26 07:35:11 +0100 <ski> `Traversable'
2024-01-26 07:35:11 +0100 <EvanR> or used to be before Foldable
2024-01-26 07:35:16 +0100 <EvanR> Traverable
2024-01-26 07:36:02 +0100 <tri> yea my thought in general is there are pieces of good stuff like these that i can't find else where, other than fortuniately someone points me to it
2024-01-26 07:36:17 +0100 <tri> in other word, luck and experience
2024-01-26 07:36:20 +0100 <ski> .. hanging around in this channel helps
2024-01-26 07:36:55 +0100 <tri> yea, so that's why i worded it as thought, not a question. Because I kinda know the answer already
2024-01-26 07:36:57 +0100 <EvanR> along with other handy monad stuff... forever, sequence, join, filterM, zipWithM, replicateM...
2024-01-26 07:37:11 +0100 <EvanR> some of which got generalized
2024-01-26 07:37:26 +0100 <tri> oh i think i know a better way to word it
2024-01-26 07:37:59 +0100 <tri> if i want to do something in C#, even though idk the actual method, i can just search my idea on google and i will know what i need
2024-01-26 07:38:10 +0100 <EvanR> it's great that documentation i haskell exists, coming from other areas which don't value it for whatever reason xD
2024-01-26 07:38:10 +0100 <tri> but here in haskell, like that forM and mapM
2024-01-26 07:38:29 +0100 <EvanR> compares favorably
2024-01-26 07:38:30 +0100 <tri> i would never think about there is an equivalent flipping function like these 2
2024-01-26 07:38:48 +0100 <EvanR> @src forM_
2024-01-26 07:38:48 +0100 <lambdabot> forM_ = flip mapM_
2024-01-26 07:39:00 +0100rosco(~rosco@175.136.156.77)
2024-01-26 07:39:08 +0100 <tri> in other words, in C# iam comfortable to research what i don't know
2024-01-26 07:39:16 +0100 <tri> but haskell, i don't know what i dont know
2024-01-26 07:39:27 +0100 <tri> anw, the asnwer is just expereince :)
2024-01-26 07:39:39 +0100 <EvanR> haskell does have a lot of stuff on stack overflow if that's what you consider the way to learn xD
2024-01-26 07:39:55 +0100 <EvanR> but experimentation and documentation goes a long way after you have the basics
2024-01-26 07:39:59 +0100 <ski> how would you search for similar variants of operations, in C#, if you didn't suspect there to be variants ?
2024-01-26 07:40:53 +0100acidjnk_new(~acidjnk@p200300d6e737e7740dc421a1b52e3505.dip0.t-ipconnect.de)
2024-01-26 07:41:49 +0100 <EvanR> there's this thing with knowing true names. Maybe you never heard of mapM_ or forM_ but if you knew Control.Monad that leads to the next level via haddocks
2024-01-26 07:41:56 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2024-01-26 07:41:59 +0100 <EvanR> in some idealized setting
2024-01-26 07:42:19 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2024-01-26 07:42:58 +0100 <tri> ski: i just tried that fmap snd and that's really interseting
2024-01-26 07:43:16 +0100 <tri> i read about it, but applying it feels really good
2024-01-26 07:43:31 +0100 <EvanR> also Prelude docs lists everything you can say without importing anything
2024-01-26 07:43:59 +0100 <EvanR> but you'll never know if you don't know "Prelude"
2024-01-26 07:44:06 +0100skiidly wonders about arithmetic on Calkin-Wilf
2024-01-26 07:44:46 +0100 <ski> @src Either fmap
2024-01-26 07:44:46 +0100 <lambdabot> fmap _ (Left x) = Left x
2024-01-26 07:44:47 +0100 <lambdabot> fmap f (Right y) = Right (f y)
2024-01-26 07:46:03 +0100 <tri> yea that fmap is really cool!
2024-01-26 07:46:06 +0100 <tri> anyway
2024-01-26 07:46:09 +0100 <tri> im going to bed now
2024-01-26 07:46:12 +0100 <tri> 1:30am alrady
2024-01-26 07:46:28 +0100 <tri> thanks for the help guys
2024-01-26 07:48:25 +0100 <ski> good night, pleasant dreams
2024-01-26 07:48:30 +0100 <ski> and don't forget to have fun !
2024-01-26 08:04:41 +0100 <xacktm> ty for updated wiwik links, seems original has been down for 1.5 years, but these copies are nice alternatives
2024-01-26 08:07:19 +0100 <ski> np
2024-01-26 08:12:45 +0100mei(~mei@user/mei) (Ping timeout: 260 seconds)
2024-01-26 08:13:21 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-01-26 08:14:23 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 08:16:26 +0100mei(~mei@user/mei)
2024-01-26 08:19:06 +0100CiaoSen(~Jura@2a05:5800:294:ba00:ca4b:d6ff:fec1:99da)
2024-01-26 08:19:11 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds)
2024-01-26 08:23:43 +0100oneeyedalien(~oneeyedal@user/oneeyedalien)
2024-01-26 08:23:54 +0100igemnace(~ian@user/igemnace)
2024-01-26 08:23:59 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2024-01-26 08:24:16 +0100euleritian(~euleritia@dynamic-176-006-191-038.176.6.pool.telefonica.de)
2024-01-26 08:26:42 +0100h2t(~h2t@user/h2t) (Quit: ZNC - https://znc.in)
2024-01-26 08:27:05 +0100h2t(~h2t@user/h2t)
2024-01-26 08:27:31 +0100Square2(~Square@user/square)
2024-01-26 08:27:55 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2024-01-26 08:31:10 +0100Square(~Square4@user/square) (Ping timeout: 268 seconds)
2024-01-26 08:33:26 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
2024-01-26 08:34:06 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2024-01-26 08:34:52 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-01-26 08:41:58 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
2024-01-26 08:43:04 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 08:47:10 +0100mulk(~mulk@p5b112b6b.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2024-01-26 08:47:42 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 260 seconds)
2024-01-26 08:48:02 +0100mulk(~mulk@pd9514f7f.dip0.t-ipconnect.de)
2024-01-26 08:53:32 +0100chele(~chele@user/chele)
2024-01-26 08:54:39 +0100vpan(~vpan@212.117.1.172)
2024-01-26 09:00:02 +0100tt1231(~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Quit: The Lounge - https://thelounge.chat)
2024-01-26 09:01:27 +0100tt1231(~tt123@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com)
2024-01-26 09:02:01 +0100euleritian(~euleritia@dynamic-176-006-191-038.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-01-26 09:02:11 +0100fendor(~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c)
2024-01-26 09:02:53 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2024-01-26 09:03:15 +0100euleritian(~euleritia@dynamic-176-006-191-038.176.6.pool.telefonica.de)
2024-01-26 09:04:25 +0100euleritian(~euleritia@dynamic-176-006-191-038.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-01-26 09:04:43 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-01-26 09:06:46 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2024-01-26 09:07:56 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2024-01-26 09:09:10 +0100Square2(~Square@user/square) (Ping timeout: 255 seconds)
2024-01-26 09:11:13 +0100shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 264 seconds)
2024-01-26 09:14:31 +0100danse-nr3(~danse@151.57.0.37)
2024-01-26 09:15:48 +0100oneeyedalien(~oneeyedal@user/oneeyedalien) (Quit: Leaving)
2024-01-26 09:17:40 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 09:21:37 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-01-26 09:22:37 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds)
2024-01-26 09:25:54 +0100mima(~mmh@aftr-62-216-211-130.dynamic.mnet-online.de)
2024-01-26 09:30:15 +0100Ackermann(~alex@075-139-208-209.res.spectrum.com) (Quit: WeeChat 4.2.1)
2024-01-26 09:33:02 +0100monochrom(trebla@216.138.220.146) (Quit: ZNC 1.8.2+deb3.1 - https://znc.in)
2024-01-26 09:37:28 +0100kuribas(~user@2a02:1808:85:4e45:3098:6d94:6d5c:34f0)
2024-01-26 09:38:22 +0100monochrom(trebla@216.138.220.146)
2024-01-26 09:42:39 +0100tolt(~weechat-h@li219-154.members.linode.com) (Ping timeout: 256 seconds)
2024-01-26 09:43:07 +0100tolt(~weechat-h@li219-154.members.linode.com)
2024-01-26 09:47:49 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2024-01-26 09:53:58 +0100ft(~ft@p508dbda4.dip0.t-ipconnect.de) (Quit: leaving)
2024-01-26 09:55:05 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2024-01-26 09:56:05 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2024-01-26 09:58:00 +0100mmhat(~mmh@p200300f1c73bf474ee086bfffe095315.dip0.t-ipconnect.de)
2024-01-26 09:58:12 +0100mmhat(~mmh@p200300f1c73bf474ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
2024-01-26 10:00:02 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2024-01-26 10:02:42 +0100__monty__(~toonn@user/toonn)
2024-01-26 10:04:05 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2024-01-26 10:04:32 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2024-01-26 10:05:41 +0100kuribas(~user@2a02:1808:85:4e45:3098:6d94:6d5c:34f0) (Ping timeout: 260 seconds)
2024-01-26 10:08:23 +0100danse-nr3(~danse@151.57.0.37) (Ping timeout: 264 seconds)
2024-01-26 10:08:36 +0100danse-nr3(~danse@151.47.84.164)
2024-01-26 10:10:32 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 10:18:01 +0100kuribas(~user@2a02:1808:85:4e45:ea4a:64fd:731e:f7a3)
2024-01-26 10:21:11 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds)
2024-01-26 10:21:49 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2024-01-26 10:22:49 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-01-26 10:26:49 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 264 seconds)
2024-01-26 10:28:42 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2024-01-26 10:34:33 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2024-01-26 10:34:48 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2024-01-26 10:38:13 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 264 seconds)
2024-01-26 10:38:24 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c1cf:e14:7781:abcb) (Remote host closed the connection)
2024-01-26 10:45:35 +0100danse-nr3(~danse@151.47.84.164) (Ping timeout: 264 seconds)
2024-01-26 10:49:35 +0100econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-01-26 10:54:09 +0100danse-nr3(~danse@151.47.84.164)
2024-01-26 10:55:41 +0100xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 240 seconds)
2024-01-26 10:56:52 +0100tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
2024-01-26 10:57:47 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-01-26 10:58:12 +0100euleritian(~euleritia@77.22.252.56)
2024-01-26 10:58:16 +0100biberu\(~biberu@user/biberu)
2024-01-26 10:58:50 +0100ham2(~ham@user/ham)
2024-01-26 11:00:02 +0100hamster(~ham@user/ham) (Read error: Connection reset by peer)
2024-01-26 11:00:19 +0100cheater_(~Username@user/cheater)
2024-01-26 11:01:44 +0100biberu(~biberu@user/biberu) (Ping timeout: 252 seconds)
2024-01-26 11:01:45 +0100mjacob_(~mjacob@adrastea.uberspace.de) (Ping timeout: 252 seconds)
2024-01-26 11:01:45 +0100biberu\biberu
2024-01-26 11:02:50 +0100cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2024-01-26 11:02:55 +0100cheater_cheater
2024-01-26 11:03:31 +0100mjacob(~mjacob@adrastea.uberspace.de)
2024-01-26 11:04:10 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds)
2024-01-26 11:15:34 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c1cf:e14:7781:abcb)
2024-01-26 11:20:42 +0100kuribas`(~user@ip-188-118-57-242.reverse.destiny.be)
2024-01-26 11:22:38 +0100kuribas(~user@2a02:1808:85:4e45:ea4a:64fd:731e:f7a3) (Ping timeout: 260 seconds)
2024-01-26 11:23:01 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com)
2024-01-26 11:24:42 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 11:27:32 +0100Nixkernal(~Nixkernal@115.16.194.178.dynamic.wline.res.cust.swisscom.ch)
2024-01-26 11:29:48 +0100Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 256 seconds)
2024-01-26 11:30:37 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 268 seconds)
2024-01-26 11:31:33 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds)
2024-01-26 11:33:11 +0100rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-01-26 11:33:30 +0100rvalue(~rvalue@user/rvalue)
2024-01-26 11:36:12 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-01-26 11:38:13 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds)
2024-01-26 11:38:18 +0100bilegeek(~bilegeek@2600:1008:b020:6a16:a1f8:280d:2323:e2f) (Quit: Leaving)
2024-01-26 11:39:16 +0100nschoe(nschoe@gateway/vpn/protonvpn/nschoe)
2024-01-26 11:45:11 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 11:46:17 +0100pavonia(~user@user/siracusa)
2024-01-26 11:50:05 +0100mreh(~mreh@2a00:23c7:2803:ef01:4860:7737:fc69:542b)
2024-01-26 11:56:49 +0100pointlessslippe1(~pointless@212.82.82.3) (Read error: Connection reset by peer)
2024-01-26 11:58:35 +0100gmg(~user@user/gehmehgeh)
2024-01-26 11:59:35 +0100liyang(uid322268@id-322268.uxbridge.irccloud.com)
2024-01-26 11:59:47 +0100pointlessslippe1(~pointless@212.82.82.3)
2024-01-26 12:03:36 +0100 <albet70> could we say CPS always return a Cont r a?
2024-01-26 12:06:09 +0100 <kuribas`> b
2024-01-26 12:06:52 +0100 <c_wraith> if you wanted to be really loose with the definition of "return", I suppose
2024-01-26 12:09:22 +0100 <c_wraith> If you wanted to be more precise, you could say something like "in CPS style, functions end with a tail call to an extra parameter instead of returning a value"
2024-01-26 12:10:17 +0100 <c_wraith> Which is a bit weird of a definition, talking about tail calls.. But it turns out that's actually important.
2024-01-26 12:13:08 +0100mreh(~mreh@2a00:23c7:2803:ef01:4860:7737:fc69:542b) (Ping timeout: 250 seconds)
2024-01-26 12:15:59 +0100nschoe(nschoe@gateway/vpn/protonvpn/nschoe) (Ping timeout: 252 seconds)
2024-01-26 12:18:43 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 268 seconds)
2024-01-26 12:19:47 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds)
2024-01-26 12:22:18 +0100nschoe(nschoe@gateway/vpn/protonvpn/nschoe)
2024-01-26 12:26:27 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2024-01-26 12:31:09 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 12:32:41 +0100CiaoSen(~Jura@2a05:5800:294:ba00:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds)
2024-01-26 12:33:30 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2024-01-26 12:33:46 +0100Nixkernal(~Nixkernal@115.16.194.178.dynamic.wline.res.cust.swisscom.ch) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2024-01-26 12:36:35 +0100euleritian(~euleritia@77.22.252.56) (Read error: Connection reset by peer)
2024-01-26 12:36:44 +0100mreh(~mreh@host86-160-168-81.range86-160.btcentralplus.com)
2024-01-26 12:37:01 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-01-26 12:37:37 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 264 seconds)
2024-01-26 12:39:48 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2024-01-26 12:39:58 +0100Chai-T-Rex(~ChaiTRex@user/chaitrex)
2024-01-26 12:47:13 +0100cfricke(~cfricke@user/cfricke)
2024-01-26 12:48:04 +0100noumenon(~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving)
2024-01-26 12:49:32 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 252 seconds)
2024-01-26 12:51:03 +0100Guest3894(~ricardo@84.16.179.218) (Read error: Connection reset by peer)
2024-01-26 12:55:04 +0100crook1389(uid581388@id-581388.ilkley.irccloud.com)
2024-01-26 13:02:43 +0100 <mxs> can we do constraint polymorphism without the "constraints" package with QuantifiedConstraints? something like
2024-01-26 13:02:45 +0100 <mxs> forall i k v (c :: Constraint). Task c k v -> Store i k v -> v
2024-01-26 13:04:25 +0100 <[Leary]> mxs: That doesn't even need QuantifiedConstraints, only ConstraintKinds.
2024-01-26 13:05:08 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-01-26 13:05:59 +0100xff0x(~xff0x@ai085147.d.east.v6connect.net)
2024-01-26 13:10:25 +0100kuribas`(~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 276 seconds)
2024-01-26 13:16:25 +0100 <mxs> [Leary]: it does indeed if I use the correct kind: (c :: (Type -> Type) -> Constraint) lol. thank you
2024-01-26 13:16:25 +0100danse-nr3(~danse@151.47.84.164) (Ping timeout: 256 seconds)
2024-01-26 13:17:39 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-01-26 13:21:25 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 13:25:53 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 260 seconds)
2024-01-26 13:45:51 +0100a51(a51@gateway/vpn/protonvpn/a51)
2024-01-26 13:46:19 +0100danse-nr3(~danse@151.47.56.96)
2024-01-26 13:46:32 +0100vpan(~vpan@212.117.1.172) (Quit: Leaving.)
2024-01-26 13:49:22 +0100kuribas`(~user@ip-188-118-57-242.reverse.destiny.be)
2024-01-26 13:56:36 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 14:00:53 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 240 seconds)
2024-01-26 14:05:44 +0100liyang(uid322268@id-322268.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2024-01-26 14:08:36 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 14:19:48 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 256 seconds)
2024-01-26 14:24:52 +0100mei(~mei@user/mei) (Remote host closed the connection)
2024-01-26 14:27:16 +0100mei(~mei@user/mei)
2024-01-26 14:27:44 +0100a51(a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.0)
2024-01-26 14:28:52 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2024-01-26 14:34:25 +0100 <haskellbridge> 15<J​ade> ghci is kinda scuffed
2024-01-26 14:34:45 +0100 <haskellbridge> 15<J​ade> ```
2024-01-26 14:34:46 +0100 <haskellbridge> 15<J​ade> :run print$1 ) -- lol
2024-01-26 14:34:48 +0100 <haskellbridge> 15<J​ade> 1
2024-01-26 14:34:49 +0100 <haskellbridge> 15<J​ade> ```
2024-01-26 14:35:37 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 14:35:54 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-01-26 14:38:09 +0100mwnaylor(~mwnaylor@2601:5cf:837e:2bb0::68fa)
2024-01-26 14:39:13 +0100CiaoSen(~Jura@2a05:5800:294:ba00:ca4b:d6ff:fec1:99da)
2024-01-26 14:41:13 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds)
2024-01-26 14:47:49 +0100CiaoSen(~Jura@2a05:5800:294:ba00:ca4b:d6ff:fec1:99da) (Ping timeout: 264 seconds)
2024-01-26 14:48:35 +0100haritz(~hrtz@user/haritz) (Remote host closed the connection)
2024-01-26 14:48:58 +0100haritz(~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220)
2024-01-26 14:49:02 +0100haritz(~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host)
2024-01-26 14:49:02 +0100haritz(~hrtz@user/haritz)
2024-01-26 14:54:40 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2024-01-26 14:58:29 +0100alexherbo2(~alexherbo@2a02-8440-3241-0e10-044d-f6a7-6278-1638.rev.sfr.net)
2024-01-26 14:58:52 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2024-01-26 15:02:18 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2024-01-26 15:02:23 +0100 <_________> @Jade that's because ghci does 'System.Environment.withArgs [")","--","lol"] (print$1)'; you can verify this with ':run System.Environment.getArgs>>=print ) -- lol'
2024-01-26 15:02:23 +0100 <lambdabot> Sorry, look up one word at a time please.
2024-01-26 15:02:29 +0100euleritian(~euleritia@dynamic-176-006-183-156.176.6.pool.telefonica.de)
2024-01-26 15:17:12 +0100nschoe2(~nschoe@2a01:e0a:8e:a190:b8c5:4c31:134e:a33e)
2024-01-26 15:17:21 +0100shriekingnoise(~shrieking@186.137.175.87)
2024-01-26 15:18:14 +0100igemnace(~ian@user/igemnace) (Read error: Connection reset by peer)
2024-01-26 15:18:47 +0100nschoe(nschoe@gateway/vpn/protonvpn/nschoe) (Ping timeout: 268 seconds)
2024-01-26 15:19:03 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 15:24:21 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 256 seconds)
2024-01-26 15:24:49 +0100crook1389(uid581388@id-581388.ilkley.irccloud.com) (Quit: Connection closed for inactivity)
2024-01-26 15:25:52 +0100thegeekinside(~thegeekin@189.180.65.186)
2024-01-26 15:27:41 +0100ddellacosta(~ddellacos@ool-44c73d16.dyn.optonline.net) (Ping timeout: 240 seconds)
2024-01-26 15:35:03 +0100igemnace(~ian@user/igemnace)
2024-01-26 15:35:11 +0100tomsmedingwonders what command lambdabot interpreted that as
2024-01-26 15:35:43 +0100mreh(~mreh@host86-160-168-81.range86-160.btcentralplus.com) (Quit: Client closed)
2024-01-26 15:41:31 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 15:43:39 +0100crook1389(uid581388@id-581388.ilkley.irccloud.com)
2024-01-26 15:43:56 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-01-26 15:44:31 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 15:45:43 +0100danse-nr3(~danse@151.47.56.96) (Ping timeout: 260 seconds)
2024-01-26 15:48:04 +0100ell(~ellie@user/ellie) (Quit: Leaving)
2024-01-26 15:49:10 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds)
2024-01-26 15:50:49 +0100nschoe2(~nschoe@2a01:e0a:8e:a190:b8c5:4c31:134e:a33e) (Ping timeout: 264 seconds)
2024-01-26 15:51:20 +0100CiaoSen(~Jura@2a05:5800:294:ba00:ca4b:d6ff:fec1:99da)
2024-01-26 15:54:15 +0100danse-nr3(~danse@151.47.56.96)
2024-01-26 16:01:20 +0100mima(~mmh@aftr-62-216-211-130.dynamic.mnet-online.de) (Ping timeout: 268 seconds)
2024-01-26 16:05:57 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 16:06:44 +0100 <haskellbridge> 15<J​ade> yeah I know that's why I noticed it ^^
2024-01-26 16:06:45 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-01-26 16:06:54 +0100 <haskellbridge> 15<J​ade> I've been writing some ghci stuff
2024-01-26 16:07:46 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 16:08:11 +0100euleritian(~euleritia@dynamic-176-006-183-156.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-01-26 16:08:30 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-01-26 16:08:35 +0100Chai-T-Rex(~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds)
2024-01-26 16:08:58 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1)
2024-01-26 16:09:16 +0100a51(a51@gateway/vpn/protonvpn/a51)
2024-01-26 16:10:58 +0100mwnaylor(~mwnaylor@2601:5cf:837e:2bb0::68fa) (Quit: Ping timeout (120 seconds))
2024-01-26 16:12:25 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds)
2024-01-26 16:14:20 +0100szkl(uid110435@uxbridge.irccloud.com)
2024-01-26 16:15:08 +0100alexherbo2(~alexherbo@2a02-8440-3241-0e10-044d-f6a7-6278-1638.rev.sfr.net) (Remote host closed the connection)
2024-01-26 16:16:24 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 16:24:46 +0100cfricke(~cfricke@user/cfricke) (Quit: WeeChat 4.1.2)
2024-01-26 16:25:23 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
2024-01-26 16:25:59 +0100euleritian(~euleritia@dynamic-176-006-183-156.176.6.pool.telefonica.de)
2024-01-26 16:26:16 +0100mei(~mei@user/mei) (Quit: mei)
2024-01-26 16:27:27 +0100sm(~user@plaintextaccounting/sm) (Remote host closed the connection)
2024-01-26 16:31:46 +0100mei(~mei@user/mei)
2024-01-26 16:33:11 +0100euleritian(~euleritia@dynamic-176-006-183-156.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-01-26 16:33:29 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-01-26 16:36:49 +0100mwnaylor(~mwnaylor@c-174-179-137-129.hsd1.va.comcast.net)
2024-01-26 16:38:31 +0100mwnaylor(~mwnaylor@c-174-179-137-129.hsd1.va.comcast.net) ()
2024-01-26 16:41:37 +0100alexherbo2(~alexherbo@2a02-8440-3140-b89b-a08f-42e2-c7fb-39b2.rev.sfr.net)
2024-01-26 16:42:40 +0100Sgeo(~Sgeo@user/sgeo)
2024-01-26 16:53:30 +0100a51(a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.0)
2024-01-26 16:54:01 +0100Cale(~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com)
2024-01-26 16:54:12 +0100ft(~ft@p508dbda4.dip0.t-ipconnect.de)
2024-01-26 16:58:56 +0100a51(a51@gateway/vpn/protonvpn/a51)
2024-01-26 17:02:59 +0100kuribas`(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
2024-01-26 17:08:44 +0100sawilagar(~sawilagar@user/sawilagar)
2024-01-26 17:08:52 +0100sawilagar(~sawilagar@user/sawilagar) (Remote host closed the connection)
2024-01-26 17:10:49 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-01-26 17:11:01 +0100euleritian(~euleritia@dynamic-176-006-183-156.176.6.pool.telefonica.de)
2024-01-26 17:11:10 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2024-01-26 17:11:37 +0100tri_(~tri@2607:fb90:555f:4ea1:19e3:4f62:5d64:230f)
2024-01-26 17:13:00 +0100rosco(~rosco@175.136.156.77) (Quit: Lost terminal)
2024-01-26 17:14:34 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-01-26 17:15:33 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 256 seconds)
2024-01-26 17:23:12 +0100rvalue(~rvalue@user/rvalue) (Remote host closed the connection)
2024-01-26 17:23:30 +0100rvalue(~rvalue@user/rvalue)
2024-01-26 17:30:23 +0100euleritian(~euleritia@dynamic-176-006-183-156.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-01-26 17:30:40 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-01-26 17:30:51 +0100fendor(~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Remote host closed the connection)
2024-01-26 17:35:13 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2024-01-26 17:35:45 +0100euleritian(~euleritia@dynamic-176-006-183-156.176.6.pool.telefonica.de)
2024-01-26 17:36:08 +0100euleritian(~euleritia@dynamic-176-006-183-156.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-01-26 17:36:16 +0100danse-nr3(~danse@151.47.56.96) (Ping timeout: 246 seconds)
2024-01-26 17:36:25 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-01-26 17:37:00 +0100CiaoSen(~Jura@2a05:5800:294:ba00:ca4b:d6ff:fec1:99da) (Ping timeout: 256 seconds)
2024-01-26 17:38:21 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-01-26 17:45:25 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Ping timeout: 264 seconds)
2024-01-26 17:45:51 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2024-01-26 17:48:57 +0100chele(~chele@user/chele) (Remote host closed the connection)
2024-01-26 17:54:46 +0100drdo(~drdo@bl14-14-49.dsl.telepac.pt) (Ping timeout: 255 seconds)
2024-01-26 17:55:41 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:c1cf:e14:7781:abcb) (Remote host closed the connection)
2024-01-26 17:56:12 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5014:5b74:113d:d036)
2024-01-26 17:56:23 +0100Szilva(~Szilva@80-95-85-12.pool.digikabel.hu) (Ping timeout: 260 seconds)
2024-01-26 17:57:54 +0100Szilva(~Szilva@87-97-12-229.pool.digikabel.hu)
2024-01-26 17:59:26 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2024-01-26 17:59:43 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2024-01-26 18:03:37 +0100sudden(~cat@user/sudden) (Quit: leaving)
2024-01-26 18:04:51 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2024-01-26 18:05:53 +0100drdo(~drdo@bl14-14-49.dsl.telepac.pt)
2024-01-26 18:06:07 +0100alexherbo2(~alexherbo@2a02-8440-3140-b89b-a08f-42e2-c7fb-39b2.rev.sfr.net) (Remote host closed the connection)
2024-01-26 18:06:26 +0100alexherbo2(~alexherbo@2a02-8440-3140-b89b-a08f-42e2-c7fb-39b2.rev.sfr.net)
2024-01-26 18:09:05 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2024-01-26 18:11:20 +0100sudden(~cat@user/sudden)
2024-01-26 18:21:29 +0100econo_(uid147250@id-147250.tinside.irccloud.com)
2024-01-26 18:22:32 +0100yeahitsme(~bob@user/yeahitsme) (Read error: Connection reset by peer)
2024-01-26 18:22:36 +0100bobby(~bob@80.158-248-1.customer.lyse.net)
2024-01-26 18:25:15 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2024-01-26 18:25:38 +0100rosco(~rosco@175.136.156.77)
2024-01-26 18:25:39 +0100euleritian(~euleritia@dynamic-176-007-014-252.176.7.pool.telefonica.de)
2024-01-26 18:26:05 +0100Square2(~Square@user/square)
2024-01-26 18:26:27 +0100euleritian(~euleritia@dynamic-176-007-014-252.176.7.pool.telefonica.de) (Read error: Connection reset by peer)
2024-01-26 18:26:45 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-01-26 18:30:53 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-01-26 18:31:43 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-01-26 18:32:39 +0100rosco(~rosco@175.136.156.77) (Quit: Lost terminal)
2024-01-26 18:36:01 +0100Erutuon(~Erutuon@user/erutuon)
2024-01-26 18:38:38 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-01-26 18:38:47 +0100euleritian(~euleritia@dynamic-176-007-014-252.176.7.pool.telefonica.de)
2024-01-26 18:39:11 +0100euleritian(~euleritia@dynamic-176-007-014-252.176.7.pool.telefonica.de) (Read error: Connection reset by peer)
2024-01-26 18:39:29 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-01-26 18:40:39 +0100tri_(~tri@2607:fb90:555f:4ea1:19e3:4f62:5d64:230f) (Remote host closed the connection)
2024-01-26 18:41:26 +0100Silver_X(~Silver_X@182.178.217.170)
2024-01-26 18:41:55 +0100alexherbo2(~alexherbo@2a02-8440-3140-b89b-a08f-42e2-c7fb-39b2.rev.sfr.net) (Remote host closed the connection)
2024-01-26 18:42:09 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 18:42:34 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-01-26 18:42:35 +0100Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Ping timeout: 260 seconds)
2024-01-26 18:43:18 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-01-26 18:44:17 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2024-01-26 18:44:44 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-01-26 18:46:47 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 260 seconds)
2024-01-26 18:48:50 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-01-26 18:54:01 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds)
2024-01-26 18:58:49 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 276 seconds)
2024-01-26 19:00:06 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-01-26 19:01:42 +0100mima(~mmh@aftr-62-216-211-173.dynamic.mnet-online.de)
2024-01-26 19:02:09 +0100alexherbo2(~alexherbo@2a02-8440-3140-b89b-a08f-42e2-c7fb-39b2.rev.sfr.net)
2024-01-26 19:13:23 +0100Silver_X(~Silver_X@182.178.217.170) (Ping timeout: 260 seconds)
2024-01-26 19:19:40 +0100HikariNee(~HikariNee@49.43.1.13)
2024-01-26 19:21:03 +0100HikariNee(~HikariNee@49.43.1.13) (Remote host closed the connection)
2024-01-26 19:22:10 +0100bobby(~bob@80.158-248-1.customer.lyse.net) (Quit: Leaving)
2024-01-26 19:22:25 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
2024-01-26 19:24:28 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-01-26 19:31:17 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-01-26 19:34:07 +0100tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net)
2024-01-26 19:35:01 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2024-01-26 19:39:31 +0100zer0bitz(~zer0bitz@user/zer0bitz) (Read error: Connection reset by peer)
2024-01-26 19:48:02 +0100motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 260 seconds)
2024-01-26 19:48:08 +0100Sciencentistguy(~sciencent@hacksoc/ordinary-member)
2024-01-26 19:48:17 +0100michalz(~michalz@185.246.207.221) (Quit: ZNC 1.8.2 - https://znc.in)
2024-01-26 19:48:45 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5014:5b74:113d:d036) (Remote host closed the connection)
2024-01-26 19:51:19 +0100zer0bitz(~zer0bitz@user/zer0bitz)
2024-01-26 19:53:34 +0100foul_owl(~kerry@185.219.141.160) (Ping timeout: 256 seconds)
2024-01-26 19:58:01 +0100Tuplanolla(~Tuplanoll@91-159-68-95.elisa-laajakaista.fi)
2024-01-26 20:07:30 +0100foul_owl(~kerry@174-21-148-34.tukw.qwest.net)
2024-01-26 20:17:05 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-01-26 20:17:29 +0100mima(~mmh@aftr-62-216-211-173.dynamic.mnet-online.de) (Ping timeout: 260 seconds)
2024-01-26 20:19:31 +0100mima(~mmh@aftr-62-216-211-173.dynamic.mnet-online.de)
2024-01-26 20:19:36 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5014:5b74:113d:d036)
2024-01-26 20:24:25 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5014:5b74:113d:d036) (Ping timeout: 264 seconds)
2024-01-26 20:28:30 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2024-01-26 20:31:20 +0100fpstudent(~fpstudent@80.233.51.182)
2024-01-26 20:33:22 +0100 <fpstudent> Hi I have to create a web proxy for my networks class, I would like to use haskell to do it but I have never used third party libraries do we have something good for that purpose or should I stick with java?
2024-01-26 20:36:07 +0100 <Clint> there are libraries
2024-01-26 20:41:46 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 246 seconds)
2024-01-26 20:43:05 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds)
2024-01-26 20:43:19 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-01-26 20:45:47 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2024-01-26 20:48:46 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2024-01-26 20:51:26 +0100alexherbo2(~alexherbo@2a02-8440-3140-b89b-a08f-42e2-c7fb-39b2.rev.sfr.net) (Remote host closed the connection)
2024-01-26 20:51:45 +0100alexherbo2(~alexherbo@2a02-8440-3140-b89b-a08f-42e2-c7fb-39b2.rev.sfr.net)
2024-01-26 20:54:49 +0100Lycurgus(~georg@user/Lycurgus)
2024-01-26 20:59:44 +0100rosco(~rosco@175.136.156.77)
2024-01-26 20:59:44 +0100Silver_X(~Silver_X@182.178.217.170)
2024-01-26 21:09:03 +0100rosco(~rosco@175.136.156.77) (Quit: Lost terminal)
2024-01-26 21:09:16 +0100causal(~eric@50.35.85.7) (Quit: WeeChat 4.1.1)
2024-01-26 21:10:23 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:5014:5b74:113d:d036)
2024-01-26 21:13:01 +0100Silver_X(~Silver_X@182.178.217.170) (Quit: Leaving)
2024-01-26 21:17:37 +0100Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2024-01-26 21:19:18 +0100fpstudent(~fpstudent@80.233.51.182) (Quit: Client closed)
2024-01-26 21:32:31 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-01-26 21:42:14 +0100trev(~trev@user/trev) (Quit: trev)
2024-01-26 21:42:24 +0100benjaminl(~benjaminl@user/benjaminl) (Remote host closed the connection)
2024-01-26 21:43:10 +0100benjaminl(~benjaminl@user/benjaminl)
2024-01-26 22:02:51 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-01-26 22:04:29 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-01-26 22:05:52 +0100vulpine(xfnw@tilde.team) (Quit: Connection reset by purr)
2024-01-26 22:07:04 +0100test11111(~test11111@2001-8e0-21bb-6c00-6d9-f5ff-feac-7928.litex.ftth.ip6.as8758.net)
2024-01-26 22:07:40 +0100test11111(~test11111@2001-8e0-21bb-6c00-6d9-f5ff-feac-7928.litex.ftth.ip6.as8758.net) (Remote host closed the connection)
2024-01-26 22:08:37 +0100vulpine(~xfnw@tilde.team)
2024-01-26 22:11:02 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving)
2024-01-26 22:11:34 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2024-01-26 22:20:38 +0100ulvarrefr(~user@188.124.56.153)
2024-01-26 22:23:50 +0100tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
2024-01-26 22:26:36 +0100tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2024-01-26 22:33:50 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-01-26 22:35:53 +0100 <juri_> so, is hspec drunk, or am i going insane? i use a property test to find a testcase that breaks after 1 test (2 shrinks). great, i'll go the function that is throwing error, and try to make it dump in the first recursion, instead of the second. ok, success, it stops in the first recursion, rather than the second, in test case 1 (2 shrinks)... but... the random values are different. even tho i'm specifying a
2024-01-26 22:35:59 +0100 <juri_> seed manually. when i stop on recursion 1, i get one set of random values, but when i stop on the second, i get a second set of random values. even tho both times, error is called after 1 test and 2 shrinks.
2024-01-26 22:36:20 +0100juri_gives up, and writes a unit test.
2024-01-26 22:36:43 +0100 <juri_> sooo close to being useful.
2024-01-26 22:36:54 +0100 <juri_> missed it by ><.
2024-01-26 22:48:44 +0100ell(~ellie@user/ellie)
2024-01-26 22:54:36 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2024-01-26 23:02:39 +0100tremon(~tremon@83.80.159.219)
2024-01-26 23:04:35 +0100zetef(~quassel@5.2.182.98)
2024-01-26 23:06:45 +0100zetef(~quassel@5.2.182.98) (Remote host closed the connection)
2024-01-26 23:15:45 +0100igemnace(~ian@user/igemnace) (Read error: Connection reset by peer)
2024-01-26 23:17:55 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-01-26 23:19:13 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-01-26 23:25:13 +0100nicos(~nsm@2800:2131:5400:883:28f6:1624:5755:79b0)
2024-01-26 23:25:28 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-01-26 23:28:52 +0100alexherbo2(~alexherbo@2a02-8440-3140-b89b-a08f-42e2-c7fb-39b2.rev.sfr.net) (Remote host closed the connection)
2024-01-26 23:29:11 +0100alexherbo2(~alexherbo@2a02-8440-3140-b89b-a08f-42e2-c7fb-39b2.rev.sfr.net)
2024-01-26 23:33:07 +0100igemnace(~ian@user/igemnace)
2024-01-26 23:35:26 +0100Lycurgus(~georg@user/Lycurgus)
2024-01-26 23:36:00 +0100lovasko(~lovasko@213.55.225.33)
2024-01-26 23:37:56 +0100 <lovasko> hello - I am having trouble working out the types. I have a function that takes the MutableByteArray# as its argument, into which an FFI function is writing. To ensure non-deletion by GC, I need to wrap the FFI call with keepAlive#, presumably using the realWorld# state, or somehow extracting it from IO... my current version that does not work goes
2024-01-26 23:37:57 +0100 <lovasko> something like this: ret <- keepAlive# array realWorld# (c_read array len)
2024-01-26 23:38:01 +0100 <shapr> juri_: it's probably the shrinking code
2024-01-26 23:38:05 +0100Lycurgus(~georg@user/Lycurgus) (Client Quit)
2024-01-26 23:39:03 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-01-26 23:39:03 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-01-26 23:39:43 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-01-26 23:42:06 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2024-01-26 23:42:12 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2024-01-26 23:43:03 +0100chiselfuse(~chiselfus@user/chiselfuse)
2024-01-26 23:46:05 +0100nicos(~nsm@2800:2131:5400:883:28f6:1624:5755:79b0) (Ping timeout: 260 seconds)
2024-01-26 23:48:18 +0100benjaminl(~benjaminl@user/benjaminl) (Remote host closed the connection)
2024-01-26 23:49:06 +0100benjaminl(~benjaminl@user/benjaminl)
2024-01-26 23:51:28 +0100RemiYukoAkechiShiro
2024-01-26 23:52:10 +0100nicos(~nsm@186.143.134.1)
2024-01-26 23:57:17 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-01-26 23:58:09 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)