2023-11-02 00:00:09 +0100 | juri__ | juri_ |
2023-11-02 00:02:16 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 255 seconds) |
2023-11-02 00:02:21 +0100 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5) |
2023-11-02 00:10:09 +0100 | <Axeman6> | @remember yin haskell is nice; sometimes I get annoyed at all its imperfections but then i try another languages and I remember to be grateful |
2023-11-02 00:10:09 +0100 | <lambdabot> | I will remember. |
2023-11-02 00:10:18 +0100 | <Axeman6> | @quote yin |
2023-11-02 00:10:18 +0100 | <lambdabot> | yin says: haskell is nice; sometimes I get annoyed at all its imperfections but then i try another languages and I remember to be grateful |
2023-11-02 00:10:25 +0100 | <Axeman6> | @botsnack |
2023-11-02 00:10:26 +0100 | <lambdabot> | :) |
2023-11-02 00:13:43 +0100 | <jack-o-lanterndk> | Lovely sentiment |
2023-11-02 00:19:15 +0100 | <Axeman6> | dsal: if you can extract the common functionality into a record, then you can just pass those into your app monad's reader or whatever, it's basically ghetto type classes |
2023-11-02 00:19:16 +0100 | <EvanR> | haskell is the worst programming language, except for all the other ones |
2023-11-02 00:20:02 +0100 | <dsal> | Axeman6: yeah, that's how it works. I just have people on different systems complaining about not knowing how to make it compile against postgres, which _I_ use, but isn't necessary for everyone. |
2023-11-02 00:21:15 +0100 | <EvanR> | ship it with a dummy version of postgres which cabal detects, but it does nothing, goes nowhere (GNDN) |
2023-11-02 00:29:26 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-11-02 00:33:20 +0100 | pixelmonk | (~pixelmonk@173.46.79.26) (Ping timeout: 258 seconds) |
2023-11-02 00:38:30 +0100 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2023-11-02 00:42:20 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 256 seconds) |
2023-11-02 00:45:17 +0100 | hippoid | (~hippoid@c-98-213-162-40.hsd1.il.comcast.net) (Quit: WeeChat 4.0.1) |
2023-11-02 00:46:20 +0100 | <dsal> | This is currently just another failing campaign to get everyone using nix so I don't have to think about things. |
2023-11-02 00:47:00 +0100 | <geekosaur> | are you buying me a bigger ssd? |
2023-11-02 00:48:14 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-11-02 00:48:46 +0100 | <Axeman6> | It's Nix, just store everything on someone else's SSD and reference it by hash |
2023-11-02 00:49:03 +0100 | <jack-o-lanterndk> | Once you're accepting a record-of-functions (or providing it in a separate package), is it possible to make the postgres stuff its own package? |
2023-11-02 00:50:17 +0100 | pixelmonk | (~pixelmonk@173.46.79.26) |
2023-11-02 00:57:03 +0100 | arahael | (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 240 seconds) |
2023-11-02 01:00:32 +0100 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-11-02 01:01:15 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2023-11-02 01:03:47 +0100 | Guest91 | (~Guest37@149.159.195.52) (Quit: Client closed) |
2023-11-02 01:05:53 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:ec87:948a:1a8:d401) |
2023-11-02 01:06:45 +0100 | htor | (~htor@84.208.240.181) (Quit: htor) |
2023-11-02 01:07:51 +0100 | lg188 | (~lg188@82.18.98.230) (Ping timeout: 260 seconds) |
2023-11-02 01:08:14 +0100 | lg188 | (~lg188@82.18.98.230) |
2023-11-02 01:09:49 +0100 | <dsal> | Basically only one file knows anything about postgres. Plus maybe one more to decide to reference it. It feels like it should be easy enough to split off. |
2023-11-02 01:09:59 +0100 | <dsal> | At some point, there's some linkage, though. |
2023-11-02 01:13:25 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2023-11-02 01:27:05 +0100 | <thegman> | is there a way to have a modifiable variable inside of a function |
2023-11-02 01:27:45 +0100 | <thegman> | i added `where z = 1` and but i think it gets re set to that every time the function runs (its recursive) |
2023-11-02 01:28:26 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Ping timeout: 255 seconds) |
2023-11-02 01:29:43 +0100 | <geekosaur> | no |
2023-11-02 01:30:01 +0100 | <geekosaur> | youu have to pass changing things as parameters |
2023-11-02 01:32:51 +0100 | Square2 | (~Square@user/square) (Ping timeout: 255 seconds) |
2023-11-02 01:33:32 +0100 | <thegman> | what does that mean |
2023-11-02 01:33:45 +0100 | <thegman> | do you mean passing the arguments back to the function |
2023-11-02 01:34:20 +0100 | Guest35 | (~Guest35@194.127.199.107) |
2023-11-02 01:34:25 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2023-11-02 01:34:30 +0100 | <thegman> | im doing that with `z` but it just goes back to the where part and sets it back to 1 |
2023-11-02 01:38:28 +0100 | <geekosaur> | yes |
2023-11-02 01:39:17 +0100 | <geekosaur> | bindings are immutable in Haskell; `z` will always be 1. (You may be temporarily shadowing it but that will go away when you recurse) |
2023-11-02 01:41:35 +0100 | <thegman> | dang |
2023-11-02 01:42:25 +0100 | <thegman> | the function i have needs to keep the original value of an input while modifying modifying it when doing another iteration |
2023-11-02 01:43:02 +0100 | <Guest35> | hi. i've been reading "making our own types and typeclasses" from "learn you a haskell" and i don't understand one sentence which revolves around this piece of code: `https://paste.tomsmeding.com/Ne7LNFJH/raw/1` |
2023-11-02 01:43:02 +0100 | <Guest35> | the sentence in question is: "Making `Frank` an instance of `Tofu` is pretty simple. We see that `tofu` takes a `j a` (so an example type of that form would be `Maybe Int`) and returns a `t a j`. So if we replace Frank with `j`, the result type would be `Frank Int Maybe`." |
2023-11-02 01:43:03 +0100 | <Guest35> | shouldn't it be "So if we replace t with Frank, the result type would be Frank Int Maybe" as we would then get |
2023-11-02 01:43:03 +0100 | <Guest35> | `tofu :: Maybe Int -> Frank Int Maybe` |
2023-11-02 01:43:18 +0100 | <yushyin> | thegman: you can represent 'state' as a parameter to the function |
2023-11-02 01:48:13 +0100 | <Axeman6> | Guest35: I'm not sure I understand the question, but if you turn on the InstanceSigs extension, you can hadd the type you think should be there and see if GHC agrees |
2023-11-02 01:48:21 +0100 | <geekosaur> | Guest35, yes, I think that's right. I can |
2023-11-02 01:48:44 +0100 | <geekosaur> | 't find an errata page for the online version, and it's not shown in the errata for the print version |
2023-11-02 01:48:45 +0100 | <Axeman6> | I also think you are right though, nice work |
2023-11-02 01:49:32 +0100 | <geekosaur> | you're already starting to think in terms of typed, that'll get you far |
2023-11-02 01:49:37 +0100 | <geekosaur> | *types |
2023-11-02 01:50:26 +0100 | <thegman> | what the heck is state |
2023-11-02 01:51:13 +0100 | thegeekinside | (~thegeekin@189.141.80.123) |
2023-11-02 01:51:14 +0100 | <geekosaur> | the stuff that needs to change with each recursion |
2023-11-02 01:51:49 +0100 | <geekosaur> | literally; we even have a State monad which hides the passing and returning of "mutable" values for us |
2023-11-02 01:52:30 +0100 | <geekosaur> | so we work with `a` but it's really `s -> (s, a)` |
2023-11-02 01:52:33 +0100 | <thegman> | i still need to figure out what monads are |
2023-11-02 01:52:35 +0100 | <yushyin> | https://en.wikipedia.org/wiki/State_(computer_science)#Program_state o.o |
2023-11-02 01:52:42 +0100 | <thegman> | word on the street is they are the big bad wolf of haskell |
2023-11-02 01:52:53 +0100 | <geekosaur> | not really |
2023-11-02 01:53:20 +0100 | <geekosaur> | people spread that because they don't want to have to think about Haskell. but it's immutability that really bugs them |
2023-11-02 01:53:48 +0100 | <Guest35> | Axeman6 geekosaur, thanks for help, i couldn't make sense of that sentence no matter how i spun it |
2023-11-02 01:56:00 +0100 | <geekosaur> | well. they also pretend IO is hard because it's a monad. but IO is not hard because it's a monad; it's hard because it's IO |
2023-11-02 01:56:46 +0100 | <geekosaur> | the monad is literally a state monad that ensures that things happen in the correct order by passing the state between operations |
2023-11-02 01:56:55 +0100 | Guest35 | (~Guest35@194.127.199.107) (Quit: Client closed) |
2023-11-02 01:57:55 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 264 seconds) |
2023-11-02 02:03:55 +0100 | Lycurgus | (~georg@user/Lycurgus) |
2023-11-02 02:05:16 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds) |
2023-11-02 02:05:55 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2023-11-02 02:11:42 +0100 | Guest99 | (~Guest37@149.159.195.52) |
2023-11-02 02:22:13 +0100 | vglfr | (~vglfr@88.155.154.204) |
2023-11-02 02:22:19 +0100 | vglfr | (~vglfr@88.155.154.204) (Read error: Connection reset by peer) |
2023-11-02 02:22:40 +0100 | vglfr | (~vglfr@149.102.244.116) |
2023-11-02 02:26:43 +0100 | ubert1 | (~Thunderbi@178.165.171.18.wireless.dyn.drei.com) |
2023-11-02 02:28:12 +0100 | ubert | (~Thunderbi@77.119.210.181.wireless.dyn.drei.com) (Ping timeout: 240 seconds) |
2023-11-02 02:28:12 +0100 | ubert1 | ubert |
2023-11-02 02:28:47 +0100 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
2023-11-02 02:40:36 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-11-02 02:42:56 +0100 | fweht | (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-11-02 02:44:03 +0100 | [_] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 258 seconds) |
2023-11-02 02:47:07 +0100 | xff0x | (~xff0x@ai101218.d.east.v6connect.net) (Ping timeout: 264 seconds) |
2023-11-02 02:47:34 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-11-02 02:48:06 +0100 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-11-02 02:53:08 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
2023-11-02 02:59:26 +0100 | Taneb | (~Taneb@runciman.hacksoc.org) (Ping timeout: 255 seconds) |
2023-11-02 02:59:41 +0100 | Taneb | (~Taneb@runciman.hacksoc.org) |
2023-11-02 03:03:51 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2023-11-02 03:05:29 +0100 | Guest99 | (~Guest37@149.159.195.52) (Quit: Client closed) |
2023-11-02 03:11:03 +0100 | santiagopim | (~user@90.167.66.131) (Ping timeout: 260 seconds) |
2023-11-02 03:15:10 +0100 | aforemny_ | (~aforemny@i59F516CD.versanet.de) |
2023-11-02 03:16:12 +0100 | aforemny | (~aforemny@2001:9e8:6cde:2400:d38b:278:6ff7:5f3f) (Ping timeout: 240 seconds) |
2023-11-02 03:24:19 +0100 | ystael | (~ystael@user/ystael) (Ping timeout: 264 seconds) |
2023-11-02 03:28:30 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
2023-11-02 03:28:44 +0100 | otto_s | (~user@p5b044594.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
2023-11-02 03:28:52 +0100 | <EvanR> | thegman, f original current = ... f original current' ... where current' is the updated value |
2023-11-02 03:29:11 +0100 | <EvanR> | keeps the original original throughout |
2023-11-02 03:29:53 +0100 | <EvanR> | f previous current = ... f current current' ... remembers 1 previous step of history, but not the original original, in this case |
2023-11-02 03:30:03 +0100 | otto_s | (~user@p5b0440a1.dip0.t-ipconnect.de) |
2023-11-02 03:31:03 +0100 | <EvanR> | or you could combine them and use 3 parameters |
2023-11-02 03:31:31 +0100 | <EvanR> | f original previous current = ... f original current current' ... |
2023-11-02 03:34:03 +0100 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2023-11-02 03:35:59 +0100 | <EvanR> | unrelated, ignore monad tutorials and if anything focus on Functor first xD |
2023-11-02 03:36:28 +0100 | <EvanR> | aka the thing languages should be stealing from haskell and probably could easily |
2023-11-02 03:38:45 +0100 | <meejah> | I think I found this one most useful: https://www.adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html |
2023-11-02 03:39:25 +0100 | <probie> | EvanR: Can most languages easily steal functor? You need to be able to talk about higher kinded types |
2023-11-02 03:40:45 +0100 | <EvanR> | like haskell actually doesn't enforce the functor laws, some languages could not enforce the types either xD |
2023-11-02 03:41:00 +0100 | <EvanR> | but even other functional languages don't even try, look at clojure |
2023-11-02 03:41:03 +0100 | vglfr | (~vglfr@149.102.244.116) (Ping timeout: 240 seconds) |
2023-11-02 03:43:11 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2023-11-02 03:43:32 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2023-11-02 03:43:43 +0100 | <EvanR> | some of their data structures have a map operation, but sometimes it takes the liberty changing the data structure |
2023-11-02 03:44:28 +0100 | <EvanR> | all functory data types should have map that works like fmap |
2023-11-02 03:45:55 +0100 | thegman | (~Srain@072-239-207-086.res.spectrum.com) (Read error: Connection reset by peer) |
2023-11-02 03:49:14 +0100 | vglfr | (~vglfr@46.96.14.220) |
2023-11-02 03:50:32 +0100 | <EvanR> | meejah, that article has the goofiest possible art |
2023-11-02 03:50:45 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2023-11-02 03:51:46 +0100 | <probie> | Simply having a map operation is convenient, but not as convenient as Functor. I'm still going to struggle to write functions over arbitrary functors, like `unzip :: Functor f => f (a, b) -> (f a, f b)` in a statically typed language without higher kinded types |
2023-11-02 03:52:36 +0100 | <EvanR> | many languages have ways of writing "generic" code |
2023-11-02 03:52:49 +0100 | <EvanR> | they just don't have the map operation called the right thing or take the same arguments |
2023-11-02 03:53:11 +0100 | <EvanR> | the name changes and the arguments aren't compatible, making the generic code impossible |
2023-11-02 03:53:22 +0100 | <EvanR> | not just talking about typed languages |
2023-11-02 03:55:44 +0100 | ddellacosta | (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 258 seconds) |
2023-11-02 03:57:23 +0100 | ddellacosta | (~ddellacos@ool-44c738de.dyn.optonline.net) |
2023-11-02 03:57:56 +0100 | AssCrackBandit | (~user@cust-west-par-46-193-2-167.cust.wifirst.net) (Ping timeout: 255 seconds) |
2023-11-02 04:04:41 +0100 | Buggys | (Buggys@Buggy.shelltalk.net) (Ping timeout: 246 seconds) |
2023-11-02 04:05:34 +0100 | edr | (~edr@user/edr) (Quit: Leaving) |
2023-11-02 04:08:55 +0100 | friendshipaka | (~Friendshi@user/Friendship) (Read error: Connection reset by peer) |
2023-11-02 04:10:26 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:ec87:948a:1a8:d401) (Remote host closed the connection) |
2023-11-02 04:10:31 +0100 | thegeekinside | (~thegeekin@189.141.80.123) (Ping timeout: 264 seconds) |
2023-11-02 04:10:43 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-11-02 04:10:43 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-11-02 04:10:43 +0100 | finn_elija | FinnElija |
2023-11-02 04:10:46 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:ec87:948a:1a8:d401) |
2023-11-02 04:10:48 +0100 | Friendship | (~Friendshi@user/Friendship) |
2023-11-02 04:15:41 +0100 | rosco | (~rosco@yp-150-69.tm.net.my) |
2023-11-02 04:23:35 +0100 | thegeekinside | (~thegeekin@189.141.80.123) |
2023-11-02 04:27:51 +0100 | thegeekinside | (~thegeekin@189.141.80.123) (Ping timeout: 240 seconds) |
2023-11-02 04:29:53 +0100 | sabino | (~sabino@user/sabino) (Quit: Lambda _ -> x) |
2023-11-02 04:34:32 +0100 | Lycurgus | (~georg@user/Lycurgus) |
2023-11-02 04:50:55 +0100 | Buggys | (Buggys@shelltalk.net) |
2023-11-02 04:53:05 +0100 | derpyxdhs | (~Thunderbi@user/derpyxdhs) |
2023-11-02 05:01:53 +0100 | td_ | (~td@i5387092B.versanet.de) (Ping timeout: 260 seconds) |
2023-11-02 05:02:54 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2023-11-02 05:03:16 +0100 | td_ | (~td@i5387090E.versanet.de) |
2023-11-02 05:29:53 +0100 | Inst | (~Inst@120.244.192.250) |
2023-11-02 05:29:57 +0100 | <Inst> | I have to say, China is great |
2023-11-02 05:30:02 +0100 | <Inst> | Was briefly doing random searches on Baidu |
2023-11-02 05:30:27 +0100 | <Inst> | What I find is a random Chinese e-girl video doing exercises in Baby Rudin while wearing blue contacts. |
2023-11-02 05:30:43 +0100 | <Inst> | First comment: "This proof is wrong" |
2023-11-02 05:30:44 +0100 | <Inst> | ???? |
2023-11-02 05:33:14 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds) |
2023-11-02 05:36:04 +0100 | Inst_ | (~Inst@120.244.192.250) |
2023-11-02 05:38:10 +0100 | <monochrom> | Perhaps the e-girl was wrong. Did you check it? |
2023-11-02 05:38:15 +0100 | Inst | (~Inst@120.244.192.250) (Ping timeout: 240 seconds) |
2023-11-02 05:42:25 +0100 | <Inst_> | Ehhh, I think it's probably just how women are expected to look on certain platforms, it's probably wrong to call her an e-girl, or for that matter, to judge her based on her appearance. |
2023-11-02 05:42:27 +0100 | <Inst_> | https://www.bilibili.com/video/BV1UW4y1G7W2/ |
2023-11-02 05:43:24 +0100 | <Inst_> | "Even a smart elementary school student can prove this" |
2023-11-02 05:45:00 +0100 | <Inst_> | Oh, she's actually a mom. And while the proof looks correct at the outset, let me see why she's upset about it. |
2023-11-02 05:45:32 +0100 | <Inst_> | Complaining about how "if her kid was still 2, it'd be acceptable, but now they're 5, it's totally unacceptable." |
2023-11-02 05:45:39 +0100 | <Inst_> | I'm probably not getting the humor in this. |
2023-11-02 05:48:05 +0100 | <Inst_> | Okay, that's probably why this is the top-linked video, because the joke is that "Baby Rudin" is literally for babies. |
2023-11-02 05:49:29 +0100 | <monochrom> | Oh, that. |
2023-11-02 05:51:20 +0100 | aforemny | (~aforemny@2001:9e8:6cfe:d400:32c5:cb0c:efd9:aea6) |
2023-11-02 05:51:55 +0100 | aforemny_ | (~aforemny@i59F516CD.versanet.de) (Ping timeout: 255 seconds) |
2023-11-02 05:53:24 +0100 | Jackneill_ | (~Jackneill@20014C4E1E16F000C6DFD3C15F3E3440.dsl.pool.telekom.hu) |
2023-11-02 05:56:18 +0100 | Jackneill | (~Jackneill@20014C4E1E03D8004F80E1E499FDC965.dsl.pool.telekom.hu) (Ping timeout: 272 seconds) |
2023-11-02 06:08:21 +0100 | [Leary] | (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
2023-11-02 06:08:37 +0100 | [Leary] | (~Leary]@user/Leary/x-0910699) |
2023-11-02 06:12:59 +0100 | vglfr | (~vglfr@46.96.14.220) (Read error: Connection reset by peer) |
2023-11-02 06:20:40 +0100 | qqq | (~qqq@92.43.167.61) (Ping timeout: 252 seconds) |
2023-11-02 06:22:29 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-11-02 06:22:50 +0100 | Lycurgus | (~georg@user/Lycurgus) (Quit: Lost terminal) |
2023-11-02 06:24:16 +0100 | <Inst_> | the reason she'd claim that the proof would garner a zero is because of duplication of work |
2023-11-02 06:24:57 +0100 | <Inst_> | i.e, let o be either aaddition or subtraction, and use inverses to prove that r + x and rx are irrational if r is rational and non-zero, and x is irrational |
2023-11-02 06:28:38 +0100 | <Inst_> | *addition or multiplication |
2023-11-02 06:30:11 +0100 | <EvanR> | irrationals need their own word, the negation of rational defines it as the absence of something instead of highlighting the meat of the matter xD |
2023-11-02 06:31:25 +0100 | <Inst_> | Okay, I think I know what's going on |
2023-11-02 06:31:32 +0100 | <Inst_> | she is in fact a glamour model streaming online. |
2023-11-02 06:31:46 +0100 | <Inst_> | However, there's regulatory requirements that demand that her content be educational at least on occasion. |
2023-11-02 06:31:54 +0100 | <Inst_> | So, consequently... she decides to stream Baby Rudin. |
2023-11-02 06:32:10 +0100 | <Inst_> | Which is awesome. |
2023-11-02 06:33:28 +0100 | michalz | (~michalz@185.246.207.218) |
2023-11-02 06:34:36 +0100 | <monochrom> | Yeah. |
2023-11-02 06:44:39 +0100 | pixelmonk | (~pixelmonk@173.46.79.26) (Quit: WeeChat 4.1.0) |
2023-11-02 06:45:19 +0100 | Friendship | (~Friendshi@user/Friendship) (Ping timeout: 264 seconds) |
2023-11-02 06:49:18 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-11-02 06:49:57 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-11-02 06:54:14 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
2023-11-02 07:00:50 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-11-02 07:05:28 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-11-02 07:06:27 +0100 | acidjnk | (~acidjnk@p200300d6e72b931400da001bbea1022f.dip0.t-ipconnect.de) |
2023-11-02 07:14:21 +0100 | vglfr | (~vglfr@46.96.14.220) |
2023-11-02 07:14:44 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2023-11-02 07:15:11 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-11-02 07:25:27 +0100 | elkcl | (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 240 seconds) |
2023-11-02 07:25:50 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds) |
2023-11-02 07:30:10 +0100 | rosco | (~rosco@yp-150-69.tm.net.my) (Quit: Lost terminal) |
2023-11-02 07:30:23 +0100 | rosco | (~rosco@yp-150-69.tm.net.my) |
2023-11-02 07:34:13 +0100 | elkcl | (~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) |
2023-11-02 07:34:43 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 260 seconds) |
2023-11-02 07:35:56 +0100 | vglfr | (~vglfr@46.96.14.220) (Read error: Connection reset by peer) |
2023-11-02 07:36:07 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-11-02 07:36:42 +0100 | chomwitt | (~chomwitt@2a02:587:7a2d:bc00:1ac0:4dff:fedb:a3f1) |
2023-11-02 07:41:24 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:ec87:948a:1a8:d401) (Remote host closed the connection) |
2023-11-02 08:17:53 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:ec87:948a:1a8:d401) |
2023-11-02 08:23:12 +0100 | danza | (~francesco@151.47.169.71) |
2023-11-02 08:34:45 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2023-11-02 08:34:50 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2023-11-02 08:35:08 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2023-11-02 08:36:41 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-11-02 08:43:19 +0100 | lortabac | (~lorenzo@2a01:e0a:541:b8f0:7e1b:b86f:7cc3:2e52) |
2023-11-02 08:45:37 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 255 seconds) |
2023-11-02 08:47:51 +0100 | danza | (~francesco@151.47.169.71) (Ping timeout: 240 seconds) |
2023-11-02 08:52:46 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-11-02 08:53:07 +0100 | derpyxdhs | (~Thunderbi@user/derpyxdhs) (Quit: derpyxdhs) |
2023-11-02 08:58:23 +0100 | tzh | (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz) |
2023-11-02 09:02:25 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2023-11-02 09:12:01 +0100 | td_ | (~td@i5387090E.versanet.de) (Ping timeout: 260 seconds) |
2023-11-02 09:13:03 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-11-02 09:13:30 +0100 | td_ | (~td@i5387092B.versanet.de) |
2023-11-02 09:15:50 +0100 | danse-nr3 | (~danse@151.47.166.154) |
2023-11-02 09:18:21 +0100 | misterfish | (~misterfis@87.215.131.102) |
2023-11-02 09:25:23 +0100 | danse-nr3 | (~danse@151.47.166.154) (Remote host closed the connection) |
2023-11-02 09:25:48 +0100 | danse-nr3 | (~danse@151.47.166.154) |
2023-11-02 09:26:21 +0100 | talismanick | (~user@2601:204:ef00:bb0::1ab2) |
2023-11-02 09:28:52 +0100 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2023-11-02 09:29:46 +0100 | fendor | (~fendor@2a02:8388:1640:be00:2a62:2dd0:490d:f2ca) |
2023-11-02 09:31:57 +0100 | FinnBoat | (~user@176-151-21-224.abo.bbox.fr) |
2023-11-02 09:33:13 +0100 | chele | (~chele@user/chele) |
2023-11-02 09:55:10 +0100 | seeg123456 | (~seeg12345@64.176.64.83) (Remote host closed the connection) |
2023-11-02 09:58:28 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-11-02 10:01:11 +0100 | seeg123456 | (~seeg12345@64.176.64.83) |
2023-11-02 10:08:47 +0100 | seeg123456 | (~seeg12345@64.176.64.83) (Quit: Gateway shutdown) |
2023-11-02 10:09:03 +0100 | seeg123456 | (~seeg12345@64.176.64.83) |
2023-11-02 10:10:49 +0100 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-11-02 10:17:03 +0100 | Umeaboy | (~Umeaboy@94-255-145-133.cust.bredband2.com) |
2023-11-02 10:20:17 +0100 | <Umeaboy> | Hi! I fully get that I can install GHC using ghcup, but what if I want to port it to a new distro? I'm using Mageia and we only have gcc-gnat, but I need to know what order to package all the dependencies in order to rebuild the src.rpm from OpenSuse or similar. Mageia (which forked from Mandriva) didn't move their GHC version from Mandriva when they forked so I have to rebuild and repackage all that. The wiki only tells people how |
2023-11-02 10:20:17 +0100 | <Umeaboy> | to build from source, but not how to actually build all the dependencies in the right order. |
2023-11-02 10:20:30 +0100 | <Umeaboy> | I could use some help. |
2023-11-02 10:21:34 +0100 | <Umeaboy> | I have already built ghc-bootstrap, ghc-bootstrap-helpers and I'm trying to package xmlada and grpbuild, but I can't finish it. |
2023-11-02 10:23:41 +0100 | migas9 | (~migas@static.140.65.63.178.clients.your-server.de) (Remote host closed the connection) |
2023-11-02 10:24:00 +0100 | migas9 | (~migas@static.140.65.63.178.clients.your-server.de) |
2023-11-02 10:30:07 +0100 | nckhexen | nckx |
2023-11-02 10:31:04 +0100 | cods | (~fred@tuxee.net) (Ping timeout: 255 seconds) |
2023-11-02 10:31:07 +0100 | danse-nr3 | (~danse@151.47.166.154) (Read error: Connection reset by peer) |
2023-11-02 10:31:46 +0100 | danse-nr3 | (~danse@151.47.128.166) |
2023-11-02 10:33:45 +0100 | qqq | (~qqq@92.43.167.61) |
2023-11-02 10:38:04 +0100 | Pickchea | (~private@user/pickchea) |
2023-11-02 10:39:35 +0100 | <danse-nr3> | is it important for your users to have it packaged Umeaboy? Possibly better to rely on external system rather that having a packaged version without the right throughput to maintain it |
2023-11-02 10:40:30 +0100 | <Umeaboy> | danse-nr3: Yes, For instance, the program called Shellcheck that checks code errors in scripts is built by GHC so now I need to port GHC for Mageia. |
2023-11-02 10:40:39 +0100 | <Umeaboy> | Plus amongst of other projects. |
2023-11-02 10:40:56 +0100 | <danse-nr3> | i see |
2023-11-02 10:41:30 +0100 | <Umeaboy> | danse-nr3: Can yuo assist me? :) |
2023-11-02 10:41:57 +0100 | <Umeaboy> | I can do the job, but I need to know how to package ghc dependencies. |
2023-11-02 10:42:12 +0100 | <Umeaboy> | Like the devel packages for instance. |
2023-11-02 10:42:36 +0100 | <danse-nr3> | i don't think i can help much, i mostly use ghcup. Can the distro use prebuilt versions? |
2023-11-02 10:43:02 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
2023-11-02 10:43:12 +0100 | <danse-nr3> | (of programs written in haskell, so that users do not have to build locally) |
2023-11-02 10:44:09 +0100 | <danse-nr3> | there is also #ghc and #hackage where people deal more often with installing from scratch |
2023-11-02 10:44:34 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2023-11-02 10:45:02 +0100 | <danse-nr3> | also, considering how many distros are there around, i am surprised there is no doc to get the dependencies right ... but i don't have time to search for docs right now |
2023-11-02 10:45:31 +0100 | ft | (~ft@p4fc2a529.dip0.t-ipconnect.de) (Quit: leaving) |
2023-11-02 10:46:54 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2023-11-02 10:47:19 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2023-11-02 10:48:39 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) |
2023-11-02 10:50:50 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-11-02 10:55:32 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
2023-11-02 10:58:06 +0100 | cfricke | (~cfricke@user/cfricke) |
2023-11-02 10:58:27 +0100 | Umeaboy | (~Umeaboy@94-255-145-133.cust.bredband2.com) (Quit: Leaving) |
2023-11-02 11:01:31 +0100 | cyphase | (~cyphase@user/cyphase) (Ping timeout: 264 seconds) |
2023-11-02 11:05:23 +0100 | cyphase | (~cyphase@user/cyphase) |
2023-11-02 11:11:58 +0100 | Guest21 | (~Guest21@194.127.199.82) |
2023-11-02 11:12:07 +0100 | Guest21 | (~Guest21@194.127.199.82) (Client Quit) |
2023-11-02 11:13:24 +0100 | Lycurgus | (~georg@user/Lycurgus) |
2023-11-02 11:15:48 +0100 | oo_miguel | (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) |
2023-11-02 11:28:48 +0100 | qqq | (~qqq@92.43.167.61) (Remote host closed the connection) |
2023-11-02 11:34:28 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) |
2023-11-02 11:35:20 +0100 | random-jellyfish | (~tiber@user/random-jellyfish) (Remote host closed the connection) |
2023-11-02 11:35:44 +0100 | random-jellyfish | (~tiber@2a02:2f04:11e:c600:79b7:1b78:95b:d6a) |
2023-11-02 11:35:45 +0100 | random-jellyfish | (~tiber@2a02:2f04:11e:c600:79b7:1b78:95b:d6a) (Changing host) |
2023-11-02 11:35:45 +0100 | random-jellyfish | (~tiber@user/random-jellyfish) |
2023-11-02 11:39:43 +0100 | kimiamania46 | (~b4f4a2ab@user/kimiamania) (Quit: Ping timeout (120 seconds)) |
2023-11-02 11:40:02 +0100 | kimiamania46 | (~b4f4a2ab@user/kimiamania) |
2023-11-02 11:51:47 +0100 | htor | (~htor@84.208.240.181) |
2023-11-02 11:54:50 +0100 | arahael | (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) |
2023-11-02 12:00:43 +0100 | migas4 | (~migas@astra4961.startdedicated.net) (Ping timeout: 260 seconds) |
2023-11-02 12:06:47 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2023-11-02 12:07:06 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2023-11-02 12:10:22 +0100 | danse-nr3 | (~danse@151.47.128.166) (Ping timeout: 255 seconds) |
2023-11-02 12:11:11 +0100 | FinnBoat | (~user@176-151-21-224.abo.bbox.fr) (Ping timeout: 246 seconds) |
2023-11-02 12:11:25 +0100 | Katarushisu1 | (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat) |
2023-11-02 12:12:45 +0100 | Katarushisu1 | (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) |
2023-11-02 12:22:33 +0100 | santiagopim | (~user@90.167.66.131) |
2023-11-02 12:26:30 +0100 | __monty__ | (~toonn@user/toonn) |
2023-11-02 12:36:03 +0100 | pretty_dumm_guy | (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
2023-11-02 12:45:14 +0100 | hexeme | (~hexeme@user/hexeme) (Ping timeout: 255 seconds) |
2023-11-02 12:47:52 +0100 | hexeme | (~hexeme@user/hexeme) |
2023-11-02 12:49:20 +0100 | Pickchea | (~private@user/pickchea) (Ping timeout: 258 seconds) |
2023-11-02 12:57:33 +0100 | danse-nr3 | (~danse@151.47.128.166) |
2023-11-02 13:03:53 +0100 | edr | (~edr@user/edr) |
2023-11-02 13:05:09 +0100 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 4.0.5) |
2023-11-02 13:08:30 +0100 | arahael | (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 258 seconds) |
2023-11-02 13:09:59 +0100 | <yin> | is there a difference between using these 2 forms, from a performance perspective? https://paste.jrvieira.com/1698926967807 |
2023-11-02 13:11:51 +0100 | <dminuoso> | yin: Nope |
2023-11-02 13:11:53 +0100 | acidjnk | (~acidjnk@p200300d6e72b931400da001bbea1022f.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2023-11-02 13:12:05 +0100 | <dminuoso> | Well, assuming its a truthful translation of course. |
2023-11-02 13:12:34 +0100 | <mauke> | why not f (T0 x) = |
2023-11-02 13:14:43 +0100 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 264 seconds) |
2023-11-02 13:14:49 +0100 | mmhat | (~mmh@p200300f1c7445e43ee086bfffe095315.dip0.t-ipconnect.de) |
2023-11-02 13:14:53 +0100 | mmhat | (~mmh@p200300f1c7445e43ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
2023-11-02 13:17:24 +0100 | htor | (~htor@84.208.240.181) (Quit: htor) |
2023-11-02 13:28:39 +0100 | acidjnk | (~acidjnk@p200300d6e72b931400da001bbea1022f.dip0.t-ipconnect.de) |
2023-11-02 13:28:57 +0100 | arahael | (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) |
2023-11-02 13:31:20 +0100 | <yin> | mauke: `t` in this case is actually `h t` |
2023-11-02 13:32:11 +0100 | <mauke> | that changes performance |
2023-11-02 13:32:13 +0100 | <yin> | i just hate nesting case expressions an like to adhere to a style |
2023-11-02 13:32:27 +0100 | <mauke> | also, f (h -> T0 x) |
2023-11-02 13:32:31 +0100 | <yin> | mauke: betweeen the two examples? |
2023-11-02 13:32:42 +0100 | <yin> | mauke: is that a view pattern? |
2023-11-02 13:33:19 +0100 | <yin> | so: https://paste.jrvieira.com/1698928394025 |
2023-11-02 13:38:14 +0100 | danse-nr3 | (~danse@151.47.128.166) (Remote host closed the connection) |
2023-11-02 13:38:38 +0100 | danse-nr3 | (~danse@151.47.128.166) |
2023-11-02 13:41:10 +0100 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2023-11-02 13:42:37 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 258 seconds) |
2023-11-02 13:45:51 +0100 | acidjnk | (~acidjnk@p200300d6e72b931400da001bbea1022f.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2023-11-02 13:51:20 +0100 | poscat | (~poscat@user/poscat) (Quit: Bye) |
2023-11-02 13:56:32 +0100 | random-jellyfish | (~tiber@user/random-jellyfish) (Ping timeout: 246 seconds) |
2023-11-02 14:00:29 +0100 | misterfish | (~misterfis@87.215.131.102) (Ping timeout: 255 seconds) |
2023-11-02 14:00:35 +0100 | Inst_ | (~Inst@120.244.192.250) (Ping timeout: 240 seconds) |
2023-11-02 14:02:29 +0100 | shapr | (~user@2600:1700:c640:3100:d86f:e811:dfe1:a875) |
2023-11-02 14:03:37 +0100 | poscat | (~poscat@user/poscat) |
2023-11-02 14:13:31 +0100 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-11-02 14:19:25 +0100 | poscat0x04 | (~poscat@user/poscat) |
2023-11-02 14:19:48 +0100 | son0p | (~ff@181.136.122.143) (Ping timeout: 272 seconds) |
2023-11-02 14:20:08 +0100 | poscat | (~poscat@user/poscat) (Ping timeout: 260 seconds) |
2023-11-02 14:21:38 +0100 | arahael | (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds) |
2023-11-02 14:30:56 +0100 | danse-nr3 | (~danse@151.47.128.166) (Read error: Connection reset by peer) |
2023-11-02 14:31:06 +0100 | jinsun | (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
2023-11-02 14:31:14 +0100 | danse-nr3 | (~danse@ba-19-159-48.service.infuturo.it) |
2023-11-02 14:31:21 +0100 | jinsun | (~jinsun@user/jinsun) |
2023-11-02 14:37:20 +0100 | ystael | (~ystael@user/ystael) |
2023-11-02 14:41:20 +0100 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
2023-11-02 14:50:42 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-11-02 14:52:20 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-11-02 14:57:28 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
2023-11-02 15:01:24 +0100 | chomwitt | (~chomwitt@2a02:587:7a2d:bc00:1ac0:4dff:fedb:a3f1) (Ping timeout: 240 seconds) |
2023-11-02 15:01:37 +0100 | haskellbridge | (~haskellbr@069-135-003-034.biz.spectrum.com) (Remote host closed the connection) |
2023-11-02 15:01:52 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2023-11-02 15:02:41 +0100 | masterbuilder | (~masterbui@user/masterbuilder) (Quit: leaving) |
2023-11-02 15:03:01 +0100 | gatekempt | (~gatekempt@user/gatekempt) |
2023-11-02 15:05:08 +0100 | haskellbridge | (~haskellbr@069-135-003-034.biz.spectrum.com) |
2023-11-02 15:05:08 +0100 | ChanServ | +v haskellbridge |
2023-11-02 15:05:36 +0100 | xff0x | (~xff0x@ai101218.d.east.v6connect.net) |
2023-11-02 15:06:51 +0100 | Guest84 | (~Guest84@194.127.199.107) |
2023-11-02 15:14:43 +0100 | shapr | (~user@2600:1700:c640:3100:d86f:e811:dfe1:a875) (Remote host closed the connection) |
2023-11-02 15:14:56 +0100 | shapr | (~user@2600:1700:c640:3100:ec3b:814b:6065:5646) |
2023-11-02 15:15:32 +0100 | jack-o-lanterndk | jackdk |
2023-11-02 15:15:41 +0100 | Guest84 | (~Guest84@194.127.199.107) (Quit: Client closed) |
2023-11-02 15:16:05 +0100 | notzmv | (~zmv@user/notzmv) |
2023-11-02 15:17:05 +0100 | <danse-nr3> | i am sick of rewriting every JSON instance trivially any time an interface could break upon type change :( |
2023-11-02 15:18:03 +0100 | <danse-nr3> | but i cannot think of any clever idea to detect breaking changes... |
2023-11-02 15:19:50 +0100 | <EvanR> | are you saying the interface would not break by the types break |
2023-11-02 15:19:58 +0100 | <EvanR> | but the types break* |
2023-11-02 15:20:25 +0100 | <danse-nr3> | when one updates a type, an automatically derived JSON instance could propagate the change where that is not safe without warnings |
2023-11-02 15:20:56 +0100 | <danse-nr3> | so i have to rewrite instances a lot for each interface that might break |
2023-11-02 15:21:24 +0100 | <exarkun> | As in, propagate it into the JSON representation? |
2023-11-02 15:21:29 +0100 | <danse-nr3> | yeah |
2023-11-02 15:21:45 +0100 | <danse-nr3> | and in parsing |
2023-11-02 15:21:48 +0100 | <exarkun> | "Golden" tests I guess |
2023-11-02 15:22:14 +0100 | <exarkun> | Gotta have a specification of what you want _somewhere_, at least |
2023-11-02 15:22:40 +0100 | <danse-nr3> | yeah i have been thinking to spend some free time to write something, but does not seem trivial. Similarly to Arbitrary, one has to generate all representations to detect which ones become invalid |
2023-11-02 15:23:00 +0100 | <exarkun> | You could have round-trip tests that serialize with one version of your code and deserialize with another version |
2023-11-02 15:23:16 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2023-11-02 15:23:19 +0100 | <danse-nr3> | that is also not trivial but yea |
2023-11-02 15:23:28 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2023-11-02 15:23:35 +0100 | <danse-nr3> | (and again generating all representation is a task there) |
2023-11-02 15:23:55 +0100 | <exarkun> | You already have Arbitrary instances for all these types through right |
2023-11-02 15:24:09 +0100 | <danse-nr3> | not really. Would that help? |
2023-11-02 15:24:37 +0100 | <exarkun> | It would just mean that one big chunk of your work is done already |
2023-11-02 15:25:29 +0100 | <danse-nr3> | i thought Arbitrary was not for this. Would hardly need to produce different cases for a list for instance |
2023-11-02 15:25:46 +0100 | <danse-nr3> | no need to try different Ints |
2023-11-02 15:26:06 +0100 | <exarkun> | Perhaps I misunderstand the situation |
2023-11-02 15:26:52 +0100 | <danse-nr3> | yea it is a problem that can seem trivial or complex, i guess that's the reason why it is so frustrating :P |
2023-11-02 15:26:54 +0100 | <exarkun> | It sounded like you have some types defined by your codebase with derived JSON serializers/deserializers and sometimes you change the types and you wanted tool support telling you when those changes have a semantic change on the JSON |
2023-11-02 15:27:18 +0100 | <exarkun> | (Like you have tool support telling you when those changes have semantic changes on the Haskell code using those types) |
2023-11-02 15:27:49 +0100 | <danse-nr3> | yes, but an Arbitrary instance of { a:: Int, b::String } generates a lot of cases that are not interesting to this extent |
2023-11-02 15:28:11 +0100 | <exarkun> | Ah well, sure, but that's just a question of efficiency |
2023-11-02 15:28:33 +0100 | <exarkun> | I believe shapr has written up something about the relative efficiency of different property testing libraries in discovering interesting cases |
2023-11-02 15:28:54 +0100 | <exarkun> | And also has a tool that does something /like/ profile-guided property testing |
2023-11-02 15:29:08 +0100 | <danse-nr3> | i think it would need a different class altogether but no time to study the problem now ... back to monkey coding ... |
2023-11-02 15:29:13 +0100 | <exarkun> | :) |
2023-11-02 15:31:09 +0100 | thegeekinside | (~thegeekin@189.141.80.123) |
2023-11-02 15:33:31 +0100 | shapr | bounces cheerfully |
2023-11-02 15:37:55 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-11-02 15:39:35 +0100 | <shapr> | danse-nr3: if you're interested in coverage driven property testing, I could talk for hours about it. |
2023-11-02 15:40:01 +0100 | <shapr> | This is the fun thing I wrote to "run enough property tests" https://github.com/shapr/kudzu/blob/main/src/Kudzu.hs |
2023-11-02 15:40:43 +0100 | <shapr> | There's a group doing type safe mutation to increase coverage: https://lemonidas.github.io/ |
2023-11-02 15:41:56 +0100 | <danse-nr3> | he also looks handsome, but i am afraid i cannot study this much in depth at the moment :( |
2023-11-02 15:42:08 +0100 | Friendship | (~Friendshi@user/Friendship) |
2023-11-02 15:42:25 +0100 | <shapr> | haha |
2023-11-02 15:42:25 +0100 | <danse-nr3> | thanks for the pointers anyway |
2023-11-02 15:42:41 +0100 | <shapr> | sure yeah, if you ever want to chat about it, I get REALLY EXCITED about property testing |
2023-11-02 15:43:20 +0100 | <danse-nr3> | it is an interesting topic indeed ... but under which abstraction does it equate to interface breakage? |
2023-11-02 15:44:23 +0100 | <shapr> | I like exarkun's idea of roundtrip properties with golden test values. |
2023-11-02 15:44:45 +0100 | <danse-nr3> | yeah, easier than having two versions of some code |
2023-11-02 15:44:46 +0100 | <shapr> | That is, every time you make "a release" you write out some mid-sized legal values |
2023-11-02 15:45:11 +0100 | <shapr> | then you use something like hedgehog's tripping combinator to see if they still work when you run the tests. |
2023-11-02 15:46:06 +0100 | danse-nr3 | looks that up ... while thinking the problem is having a compact set of values without losing errors |
2023-11-02 15:46:47 +0100 | thegeekinside | (~thegeekin@189.141.80.123) (Remote host closed the connection) |
2023-11-02 15:47:12 +0100 | <danse-nr3> | uh "hedgehog tripping combinator" did not seem to yield useful results from a quick search ... |
2023-11-02 15:48:09 +0100 | <shapr> | it's https://hackage.haskell.org/package/hedgehog-1.4/docs/Hedgehog.html#v:tripping |
2023-11-02 15:48:28 +0100 | <danse-nr3> | oh, cheers |
2023-11-02 15:49:52 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2023-11-02 15:49:57 +0100 | <danse-nr3> | i guess if we had golden tests, tripping would not be necessary, just parsing and serialising. The main problem still stands, how to produce meaningful values |
2023-11-02 15:57:01 +0100 | <exarkun> | JSON is simple enough that maybe as long as you hit every involved constructor once, that's complete? |
2023-11-02 15:57:24 +0100 | <exarkun> | unless you have a schema that dictates something more complex |
2023-11-02 15:57:34 +0100 | <danse-nr3> | yes, seems something doing with generics |
2023-11-02 15:57:40 +0100 | <danse-nr3> | s/doing/doable/ |
2023-11-02 15:58:01 +0100 | <EvanR> | oh, tripping is referring to round tripping (good), and not tripping a breaker (problem detected) |
2023-11-02 15:58:22 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2023-11-02 15:58:47 +0100 | <exarkun> | (obligatory nix plug - with nix it's not a big deal to have multiple versions of the code around ;) |
2023-11-02 15:59:43 +0100 | paddymahoney | (~paddymaho@cpe883d24bcf597-cmbc4dfb741f80.cpe.net.cable.rogers.com) (Ping timeout: 264 seconds) |
2023-11-02 16:01:05 +0100 | <int-e> | but you'll have nix |
2023-11-02 16:01:32 +0100 | vglfr | (~vglfr@46.96.14.220) |
2023-11-02 16:03:47 +0100 | snowsauce | (~snowsauce@pa9-84-91-207-96.netvisao.pt) (Remote host closed the connection) |
2023-11-02 16:09:31 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2023-11-02 16:12:14 +0100 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5) |
2023-11-02 16:15:32 +0100 | chomwitt | (~chomwitt@2a02:587:7a2d:bc00:1ac0:4dff:fedb:a3f1) |
2023-11-02 16:29:05 +0100 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2023-11-02 16:35:17 +0100 | sabino | (~sabino@user/sabino) |
2023-11-02 16:38:50 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:ec87:948a:1a8:d401) (Remote host closed the connection) |
2023-11-02 16:38:54 +0100 | falafel | (~falafel@62.175.113.194.dyn.user.ono.com) |
2023-11-02 16:39:06 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:ec87:948a:1a8:d401) |
2023-11-02 16:39:47 +0100 | danse-nr3 | (~danse@ba-19-159-48.service.infuturo.it) (Ping timeout: 255 seconds) |
2023-11-02 16:43:14 +0100 | danse-nr3 | (~danse@ba-19-159-48.service.infuturo.it) |
2023-11-02 16:46:05 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds) |
2023-11-02 16:47:10 +0100 | tremon | (~tremon@83.80.159.219) |
2023-11-02 16:47:45 +0100 | vglfr | (~vglfr@46.96.14.220) (Read error: Connection reset by peer) |
2023-11-02 16:48:08 +0100 | vglfr | (vglfr@gateway/vpn/protonvpn/vglfr) |
2023-11-02 16:48:44 +0100 | <albet70> | how to wrap three monads into one? I saw EitherT r e m a in contstuff |
2023-11-02 16:49:45 +0100 | lortabac | (~lorenzo@2a01:e0a:541:b8f0:7e1b:b86f:7cc3:2e52) (Quit: WeeChat 3.5) |
2023-11-02 16:50:07 +0100 | <danse-nr3> | monad transformers and monad stacks? I think there are the mtl and transformers libraries, with different approaches. For some reason i never need to use these... |
2023-11-02 16:50:22 +0100 | <albet70> | Either Cont IO three effect |
2023-11-02 16:50:24 +0100 | <EvanR> | another example from mtl is RWST, which combines Reader, Writer, and State |
2023-11-02 16:50:41 +0100 | <EvanR> | on top of a 4th monad |
2023-11-02 16:51:01 +0100 | <albet70> | how to combine them? what's the trick? |
2023-11-02 16:51:22 +0100 | <EvanR> | the definition of >>= just has to make all the effects happen |
2023-11-02 16:51:53 +0100 | <albet70> | I mean how to construct the transformer? |
2023-11-02 16:51:54 +0100 | <EvanR> | and the runRWST function gets the process started, giving back an action in the base monad |
2023-11-02 16:52:11 +0100 | <EvanR> | construct an action? |
2023-11-02 16:52:20 +0100 | <geekosaur> | albet70, can you give a concrete example? |
2023-11-02 16:53:07 +0100 | <danse-nr3> | there are a gazillion of tutorials around. Recently there was a very nice one on haskell weekly comparing the mtl and transformers approach, but as usual ... |
2023-11-02 16:53:22 +0100 | <geekosaur> | I mean, in xmonad we have `newtype X a = StateT XState (ReaderT XConf IO) a` so we have three monads, and mtl keeps them straight for us |
2023-11-02 16:53:44 +0100 | <danse-nr3> | ... as usual the chrome history is too lame to find it |
2023-11-02 16:53:45 +0100 | <albet70> | geekosaur , like this EitherT r e m a |
2023-11-02 16:53:57 +0100 | <geekosaur> | you can't do that |
2023-11-02 16:54:28 +0100 | <albet70> | https://wiki.haskell.org/Contstuff |
2023-11-02 16:54:33 +0100 | <geekosaur> | you can combine them the mtl way, the transformers way, or the effects way. you can't just keep appending stuff to an existing monad transformer |
2023-11-02 16:56:17 +0100 | todi | (~todi@p4fd1a3e6.dip0.t-ipconnect.de) |
2023-11-02 16:56:42 +0100 | <geekosaur> | that looks like a different monad library entirely. if it doesn';t have a CPSed monad already then you'll have to write one using the contstuff machinery |
2023-11-02 16:57:16 +0100 | <albet70> | EitherT r (ContT r m) a this can be ok? |
2023-11-02 16:58:18 +0100 | gdown | (~gavin@h69-11-149-109.kndrid.broadband.dynamic.tds.net) |
2023-11-02 16:59:04 +0100 | <geekosaur> | possibly? |
2023-11-02 16:59:23 +0100 | vglfr | (vglfr@gateway/vpn/protonvpn/vglfr) (Ping timeout: 260 seconds) |
2023-11-02 17:00:04 +0100 | <albet70> | if m is IO, this three effect is when it's Right run some a -> IO r action, right? |
2023-11-02 17:01:35 +0100 | vglfr | (~vglfr@46.96.14.220) |
2023-11-02 17:02:09 +0100 | <albet70> | three effect or three effects? use 'is' or 'are', my English is not good |
2023-11-02 17:05:08 +0100 | <EvanR> | these three effects are cool |
2023-11-02 17:05:21 +0100 | zetef | (~zetef@2a02:2f00:5201:4b00:7fc8:6fbe:33d9:ba2a) |
2023-11-02 17:06:03 +0100 | <EvanR> | EitherT sounds like it's supposed to add "terminate early" effects, but ContT can already do that, so I'm confused |
2023-11-02 17:06:10 +0100 | <sshine> | albet70, I don't think people mind the grammar mistakes in English. what matters is that the Haskell types work :) |
2023-11-02 17:07:31 +0100 | acidjnk | (~acidjnk@p200300d6e72b931400da001bbea1022f.dip0.t-ipconnect.de) |
2023-11-02 17:08:15 +0100 | <geekosaur> | ContT actually does terminate early, EitherT just shortcuts around your computation when >>= is given a "left" |
2023-11-02 17:09:01 +0100 | <albet70> | EvanR , when some others function return Either r a, EitherT is useful, Cont isn't |
2023-11-02 17:09:26 +0100 | <geekosaur> | Contstuff looks like a "mother of all monads" (https://www.schoolofhaskell.com/user/dpiponi/the-mother-of-all-monads) implementation |
2023-11-02 17:11:28 +0100 | zetef | (~zetef@2a02:2f00:5201:4b00:7fc8:6fbe:33d9:ba2a) (Quit: Leaving) |
2023-11-02 17:11:45 +0100 | <albet70> | I asked chatgpt what cont effect is, and it tells me cont is about Pause and Resume, head that first time |
2023-11-02 17:11:56 +0100 | <albet70> | and there is Pause monad, aha |
2023-11-02 17:12:30 +0100 | <geekosaur> | I don't think that's how I would describe it, but then Cont always confuses me |
2023-11-02 17:12:56 +0100 | <danse-nr3> | yeah me too. I believe that is a concept coming from other contexts that makes little sense in haskell |
2023-11-02 17:13:04 +0100 | <geekosaur> | Cont/ContT is about being able to exit early by using an escape hatch passed to your computation |
2023-11-02 17:13:33 +0100 | <geekosaur> | (I always have to sit down and work out what ContT is doing, then I forget it again shortly afterward) |
2023-11-02 17:13:35 +0100 | <albet70> | ContT is not just early exit, also Choice |
2023-11-02 17:13:58 +0100 | <albet70> | geekosaur , me too |
2023-11-02 17:14:45 +0100 | pixelmonk | (~pixelmonk@50.205.76.66) |
2023-11-02 17:15:10 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds) |
2023-11-02 17:15:31 +0100 | <albet70> | I learn ContT at least three times one year, then I forget it |
2023-11-02 17:16:29 +0100 | fendor | (~fendor@2a02:8388:1640:be00:2a62:2dd0:490d:f2ca) (Remote host closed the connection) |
2023-11-02 17:17:06 +0100 | <dminuoso> | I like to think of the ContT effect as just yield+reify and goto. |
2023-11-02 17:18:09 +0100 | <kuribas> | There aren't many uses of ContT in haskell, are they? |
2023-11-02 17:18:09 +0100 | <dminuoso> | Part of the reason it feels so difficult, is because it doesnt cover any single clear usecase. |
2023-11-02 17:18:11 +0100 | fendor | (~fendor@2a02:8388:1640:be00:2a62:2dd0:490d:f2ca) |
2023-11-02 17:18:33 +0100 | <dminuoso> | kuribas: Mmm, lets phrase it different: There are many uses for continuations. |
2023-11-02 17:18:42 +0100 | <kuribas> | Sure |
2023-11-02 17:18:53 +0100 | <int-e> | . o O ( let me get back to you on that one ) |
2023-11-02 17:19:13 +0100 | <kuribas> | I used ContT only once, to get a list of resources out of a bracketed function. |
2023-11-02 17:19:34 +0100 | <dminuoso> | Most of my ContT uses have disappeared into explicit continuations |
2023-11-02 17:19:41 +0100 | <dminuoso> | Mostly because it felt much clearer and obvious |
2023-11-02 17:19:51 +0100 | Guest58 | (~Guest37@149.159.199.141) |
2023-11-02 17:20:01 +0100 | <kuribas> | yeah, this |
2023-11-02 17:21:29 +0100 | <albet70> | that goto is tricky |
2023-11-02 17:22:19 +0100 | gatekempt | (~gatekempt@user/gatekempt) (Textual IRC Client: www.textualapp.com) |
2023-11-02 17:24:20 +0100 | falafel | (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 255 seconds) |
2023-11-02 17:30:19 +0100 | <albet70> | that data constructor is really open my mind, I never saw something like it in other languages, you can define some values like V a, you can create infinite values! I learned some monads now, I wonder can we have infinite monads? |
2023-11-02 17:30:44 +0100 | <albet70> | how to create effects? |
2023-11-02 17:30:46 +0100 | <monochrom> | Well [a] has infinite values too. |
2023-11-02 17:31:20 +0100 | <EvanR> | let x = x + 1 |
2023-11-02 17:31:54 +0100 | <EvanR> | x = ∞ |
2023-11-02 17:32:45 +0100 | <geekosaur> | infinite values are allowed, infinite types are not |
2023-11-02 17:32:59 +0100 | <geekosaur> | there are type systems which allow them but ghc's isn't one of them |
2023-11-02 17:33:06 +0100 | <EvanR> | another missed opportuntiy for mayhem |
2023-11-02 17:33:50 +0100 | thegeekinside | (~thegeekin@189.141.80.123) |
2023-11-02 17:34:55 +0100 | Ranhir | (~Ranhir@157.97.53.139) (Read error: Connection reset by peer) |
2023-11-02 17:34:56 +0100 | <monochrom> | My https://www.vex.net/~trebla/haskell/cont.xhtml characterizs Cont as inside-out, inversion of control. Formally, I state and prove an inside-out equation. I think it would be the fundamental theorem of Cont, and it is sufficient and necessary for every use case. I haven't done the similar for ContT, but it should be similar. |
2023-11-02 17:36:06 +0100 | <monochrom> | Eh? I don't know why I had https there. :) |
2023-11-02 17:36:23 +0100 | <geekosaur> | for me it's just habit |
2023-11-02 17:37:17 +0100 | <monochrom> | Ah I think Chrome filled that in. |
2023-11-02 17:38:33 +0100 | rosco | (~rosco@yp-150-69.tm.net.my) (Quit: Lost terminal) |
2023-11-02 17:39:30 +0100 | tzh | (~tzh@c-71-193-181-0.hsd1.or.comcast.net) |
2023-11-02 17:39:34 +0100 | <monochrom> | EvanR: Fortunately, impredicative types are the next best thing for mayhem. >:) |
2023-11-02 17:39:44 +0100 | <geekosaur> | yeh, chrome recently switched to always forcing https |
2023-11-02 17:40:32 +0100 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 255 seconds) |
2023-11-02 17:41:34 +0100 | <dminuoso> | albet70: You see this style *very* *very* often in JavaScript. |
2023-11-02 17:42:11 +0100 | <dminuoso> | It's how you cope with bad library design. You just start tossing continuations at it enough until you goto your goal. |
2023-11-02 17:42:31 +0100 | <dminuoso> | Its sort of how you slap goto in badly written C programs long enough to make it do what you want. |
2023-11-02 17:42:53 +0100 | <dminuoso> | The only difference is that C programmers generally know this to be a bad thing. |
2023-11-02 17:43:45 +0100 | <monochrom> | In fact, a similar inside-out equation is also the best way out there (both for teaching and in research papers) to explain shift-reset. I didn't think it up myself, I was porting best practice. :) |
2023-11-02 17:44:05 +0100 | haskellbridge | (~haskellbr@069-135-003-034.biz.spectrum.com) (Remote host closed the connection) |
2023-11-02 17:44:36 +0100 | <monochrom> | One of the few times Dijkstra was right: A formula is worth a thousand pictures. |
2023-11-02 17:44:38 +0100 | haskellbridge | (~haskellbr@069-135-003-034.biz.spectrum.com) |
2023-11-02 17:44:38 +0100 | ChanServ | +v haskellbridge |
2023-11-02 17:44:38 +0100 | haskellbridge | (~haskellbr@069-135-003-034.biz.spectrum.com) (Read error: Connection reset by peer) |
2023-11-02 17:44:58 +0100 | haskellbridge | (~haskellbr@069-135-003-034.biz.spectrum.com) |
2023-11-02 17:44:58 +0100 | ChanServ | +v haskellbridge |
2023-11-02 17:45:03 +0100 | <monochrom> | haskellbridge come back!!!!! :( |
2023-11-02 17:45:04 +0100 | <monochrom> | :) |
2023-11-02 17:45:29 +0100 | <monochrom> | OK most of the times Dijkstra was right. :) |
2023-11-02 17:45:42 +0100 | <APic> | ☺ |
2023-11-02 17:45:54 +0100 | <geekosaur> | for some reason it crashes the first time when I restart it (I added a channel) |
2023-11-02 17:46:08 +0100 | <geekosaur> | reported it upstream, heard nothing back |
2023-11-02 17:51:48 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-11-02 17:56:26 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1)) |
2023-11-02 18:02:22 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
2023-11-02 18:03:46 +0100 | zetef | (~quassel@2a02:2f00:5201:4b00:7fc8:6fbe:33d9:ba2a) |
2023-11-02 18:12:36 +0100 | <EvanR> | crashes? what's the error message |
2023-11-02 18:13:37 +0100 | Square | (~Square@user/square) |
2023-11-02 18:17:53 +0100 | Nachtgespenst | (~user@user/siracusa) (Quit: Bye!) |
2023-11-02 18:18:35 +0100 | random-jellyfish | (~tiber@2a02:2f04:11e:c600:79b7:1b78:95b:d6a) |
2023-11-02 18:18:35 +0100 | random-jellyfish | (~tiber@2a02:2f04:11e:c600:79b7:1b78:95b:d6a) (Changing host) |
2023-11-02 18:18:35 +0100 | random-jellyfish | (~tiber@user/random-jellyfish) |
2023-11-02 18:20:34 +0100 | <Unicorn_Princess> | how did it come to pass that if/then/else in haskell isn't a mere function/operator, like C's '?' |
2023-11-02 18:21:38 +0100 | <[exa]> | Unicorn_Princess: there's some syntactic convenience in that |
2023-11-02 18:22:16 +0100 | <EvanR> | there is a function if you want to use it |
2023-11-02 18:22:19 +0100 | <EvanR> | :t bool |
2023-11-02 18:22:20 +0100 | <lambdabot> | a -> a -> Bool -> a |
2023-11-02 18:22:51 +0100 | derpyxdhs | (~Thunderbi@user/derpyxdhs) |
2023-11-02 18:23:24 +0100 | zetef | (~quassel@2a02:2f00:5201:4b00:7fc8:6fbe:33d9:ba2a) (Ping timeout: 240 seconds) |
2023-11-02 18:23:38 +0100 | <Unicorn_Princess> | ah, thanks. was looking for Bool -> a -> a -> a, so hoogle didn't turn it up |
2023-11-02 18:23:39 +0100 | <EvanR> | if then else was already a syntax in miranda, and other languages that haskell stole liberally from |
2023-11-02 18:24:07 +0100 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-11-02 18:26:39 +0100 | Guest58 | (~Guest37@149.159.199.141) (Ping timeout: 248 seconds) |
2023-11-02 18:30:01 +0100 | haskellbridge | (~haskellbr@069-135-003-034.biz.spectrum.com) (Remote host closed the connection) |
2023-11-02 18:30:38 +0100 | haskellbridge | (~haskellbr@069-135-003-034.biz.spectrum.com) |
2023-11-02 18:30:38 +0100 | ChanServ | +v haskellbridge |
2023-11-02 18:30:58 +0100 | Ranhir | (~Ranhir@157.97.53.139) |
2023-11-02 18:32:17 +0100 | danse-nr3 | (~danse@ba-19-159-48.service.infuturo.it) (Read error: Connection reset by peer) |
2023-11-02 18:33:02 +0100 | danse-nr3 | (~danse@151.47.151.72) |
2023-11-02 18:33:06 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
2023-11-02 18:35:15 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-11-02 18:37:23 +0100 | derpyxdhs | (~Thunderbi@user/derpyxdhs) (Quit: derpyxdhs) |
2023-11-02 18:37:24 +0100 | zetef | (~quassel@2a02:2f00:5201:4b00:7fc8:6fbe:33d9:ba2a) |
2023-11-02 18:38:49 +0100 | AssCrackBandit | (~user@cust-west-par-46-193-2-167.cust.wifirst.net) |
2023-11-02 18:40:44 +0100 | zetef_ | (~quassel@2a02:2f00:5201:4b00:7fc8:6fbe:33d9:ba2a) |
2023-11-02 18:40:55 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2023-11-02 18:41:51 +0100 | zetef_ | (~quassel@2a02:2f00:5201:4b00:7fc8:6fbe:33d9:ba2a) (Client Quit) |
2023-11-02 18:53:27 +0100 | juri__ | (~juri@79.140.117.143) |
2023-11-02 18:53:51 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-11-02 18:54:28 +0100 | juri_ | (~juri@84-19-175-187.pool.ovpn.com) (Ping timeout: 255 seconds) |
2023-11-02 18:54:43 +0100 | mikoto-chan | (~mikoto-ch@ip-212-239-236-59.dsl.scarlet.be) |
2023-11-02 18:56:04 +0100 | juri__ | (~juri@79.140.117.143) (Read error: Connection reset by peer) |
2023-11-02 18:57:29 +0100 | Guest12 | (~Guest37@149.159.199.141) |
2023-11-02 18:58:27 +0100 | juri_ | (~juri@84-19-175-187.pool.ovpn.com) |
2023-11-02 18:58:50 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds) |
2023-11-02 19:02:39 +0100 | zetef | (~quassel@2a02:2f00:5201:4b00:7fc8:6fbe:33d9:ba2a) (Remote host closed the connection) |
2023-11-02 19:06:36 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2023-11-02 19:07:07 +0100 | zetef | (~quassel@2a02:2f00:5201:4b00:7fc8:6fbe:33d9:ba2a) |
2023-11-02 19:07:26 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-11-02 19:09:29 +0100 | zetef | (~quassel@2a02:2f00:5201:4b00:7fc8:6fbe:33d9:ba2a) (Remote host closed the connection) |
2023-11-02 19:11:01 +0100 | zetef | (~quassel@2a02:2f00:5201:4b00:7fc8:6fbe:33d9:ba2a) |
2023-11-02 19:11:40 +0100 | Teacup | (~teacup@user/teacup) () |
2023-11-02 19:11:57 +0100 | Teacup | (~teacup@user/teacup) |
2023-11-02 19:27:31 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-11-02 19:32:51 +0100 | Square | (~Square@user/square) (Remote host closed the connection) |
2023-11-02 19:34:38 +0100 | Guest12 | (~Guest37@149.159.199.141) (Quit: Client closed) |
2023-11-02 19:36:16 +0100 | John_Ivan | (~John_Ivan@user/john-ivan/x-1515935) (Remote host closed the connection) |
2023-11-02 19:37:36 +0100 | John_Ivan | (~John_Ivan@user/john-ivan/x-1515935) |
2023-11-02 19:41:20 +0100 | John_Ivan | (~John_Ivan@user/john-ivan/x-1515935) (Remote host closed the connection) |
2023-11-02 19:41:50 +0100 | John_Ivan | (~John_Ivan@user/john-ivan/x-1515935) |
2023-11-02 19:44:58 +0100 | Batzy | (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2023-11-02 19:46:18 +0100 | Batzy | (~quassel@user/batzy) |
2023-11-02 19:48:20 +0100 | todi | (~todi@p4fd1a3e6.dip0.t-ipconnect.de) (Quit: ZNC - https://znc.in) |
2023-11-02 19:50:07 +0100 | Guest51 | (~Guest37@149.159.199.141) |
2023-11-02 19:52:56 +0100 | talismanick | (~user@2601:204:ef00:bb0::1ab2) (Ping timeout: 272 seconds) |
2023-11-02 19:56:08 +0100 | neceve | (~neceve@user/neceve) |
2023-11-02 19:58:38 +0100 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 272 seconds) |
2023-11-02 20:04:33 +0100 | Square | (~Square@user/square) |
2023-11-02 20:05:23 +0100 | Square | (~Square@user/square) (Remote host closed the connection) |
2023-11-02 20:12:11 +0100 | pixelmonk | (~pixelmonk@50.205.76.66) (Ping timeout: 255 seconds) |
2023-11-02 20:21:38 +0100 | ridcully | (~ridcully@p57b5294c.dip0.t-ipconnect.de) (Quit: WeeChat 4.0.5) |
2023-11-02 20:21:55 +0100 | ridcully | (~ridcully@p57b5294c.dip0.t-ipconnect.de) |
2023-11-02 20:25:11 +0100 | pixelmonk | (~pixelmonk@50.205.76.66) |
2023-11-02 20:26:06 +0100 | htor | (~htor@84.208.240.181) |
2023-11-02 20:27:00 +0100 | ubert | (~Thunderbi@178.165.171.18.wireless.dyn.drei.com) (Read error: Connection reset by peer) |
2023-11-02 20:30:01 +0100 | Guest51 | (~Guest37@149.159.199.141) (Quit: Client closed) |
2023-11-02 20:39:25 +0100 | vglfr | (~vglfr@46.96.14.220) (Read error: Connection reset by peer) |
2023-11-02 20:51:27 +0100 | danse-nr3 | (~danse@151.47.151.72) (Ping timeout: 240 seconds) |
2023-11-02 20:51:40 +0100 | zer0bitz | (~zer0bitz@user/zer0bitz) (Read error: Connection reset by peer) |
2023-11-02 20:52:28 +0100 | dobblego | (~dibblego@122-199-1-93.ip4.superloop.au) |
2023-11-02 20:52:28 +0100 | dobblego | (~dibblego@122-199-1-93.ip4.superloop.au) (Changing host) |
2023-11-02 20:52:28 +0100 | dobblego | (~dibblego@haskell/developer/dibblego) |
2023-11-02 20:53:44 +0100 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 272 seconds) |
2023-11-02 20:53:45 +0100 | dobblego | dibblego |
2023-11-02 20:58:30 +0100 | vglfr | (~vglfr@46.96.14.220) |
2023-11-02 21:01:55 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:ec87:948a:1a8:d401) (Remote host closed the connection) |
2023-11-02 21:05:50 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-11-02 21:07:20 +0100 | danza | (~francesco@151.47.151.72) |
2023-11-02 21:09:00 +0100 | zer0bitz | (~zer0bitz@user/zer0bitz) |
2023-11-02 21:09:30 +0100 | Pickchea | (~private@user/pickchea) |
2023-11-02 21:24:15 +0100 | Guest98 | (~Guest37@149.159.198.179) |
2023-11-02 21:26:11 +0100 | zetef_ | (~quassel@2a02:2f00:5201:4b00:7fc8:6fbe:33d9:ba2a) |
2023-11-02 21:28:38 +0100 | zetef_ | (~quassel@2a02:2f00:5201:4b00:7fc8:6fbe:33d9:ba2a) (Client Quit) |
2023-11-02 21:29:56 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 260 seconds) |
2023-11-02 21:31:13 +0100 | slack1256 | (~slack1256@181.203.130.240) |
2023-11-02 21:31:30 +0100 | <slack1256> | Is there a mutable IntMap for the ST Monad? |
2023-11-02 21:32:48 +0100 | <EvanR> | or IO monad for that matter |
2023-11-02 21:32:56 +0100 | <slack1256> | Yep |
2023-11-02 21:35:02 +0100 | <dminuoso> | slack1256: Mind my asking, why does it have to be mutable? |
2023-11-02 21:35:32 +0100 | <slack1256> | Test for a company. They are evaluating how fast it is on a single core. |
2023-11-02 21:36:06 +0100 | Guest98 | (~Guest37@149.159.198.179) (Quit: Client closed) |
2023-11-02 21:38:03 +0100 | Inst_ | (~Inst@120.244.192.250) |
2023-11-02 21:41:01 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6063:918b:7689:ac0f) |
2023-11-02 21:41:14 +0100 | <EvanR> | seems like the point of IntMap is persistence, would it even make sense to have a mutable version |
2023-11-02 21:44:50 +0100 | phma | (phma@2001:5b0:2143:d188:322e:c0e7:31f:f4) (Read error: Connection reset by peer) |
2023-11-02 21:45:41 +0100 | phma | (~phma@2001:5b0:211f:22a8:df61:73e6:61a7:454) |
2023-11-02 21:46:59 +0100 | Inst_ | (~Inst@120.244.192.250) (Read error: Connection reset by peer) |
2023-11-02 21:47:04 +0100 | liamzy__ | (~Inst@120.244.192.250) |
2023-11-02 21:47:19 +0100 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-11-02 21:48:15 +0100 | pixelmonk | (~pixelmonk@50.205.76.66) (Ping timeout: 240 seconds) |
2023-11-02 21:49:27 +0100 | danza | (~francesco@151.47.151.72) (Ping timeout: 240 seconds) |
2023-11-02 21:52:10 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2023-11-02 21:52:21 +0100 | pixelmonk | (~pixelmonk@50.205.76.66) |
2023-11-02 21:57:58 +0100 | Nachtgespenst | (~user@user/siracusa) |
2023-11-02 22:04:58 +0100 | <monochrom> | In my unpopular opinion: Benchmark IntMap itself or at most IORef (IntMap). If it's fast enough, take it. If it's too slow, leave it. |
2023-11-02 22:05:33 +0100 | falafel | (~falafel@62.175.113.194.dyn.user.ono.com) |
2023-11-02 22:06:00 +0100 | <monochrom> | If they demand to artificially contrive mutable "IntMap" just to make Haskell look bad (we already know that route will look bad), leave them. |
2023-11-02 22:06:00 +0100 | <slack1256> | Yeah, I will benchmark that. I hate being evaluated by performance. |
2023-11-02 22:06:03 +0100 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-11-02 22:06:45 +0100 | <dminuoso> | Benchmarking a singular IntMap as the basis for evaluating language performance seems someone is just trying to set up Haskell for a predetermined result. |
2023-11-02 22:07:33 +0100 | <monochrom> | I am a reductionist, but a good one, so I know when other people do reductionism wrong, for example this one. :) |
2023-11-02 22:07:37 +0100 | <dminuoso> | It's sort of like benchmarking the thickness of a screw in order to decide whether Volkswagen is worth buying. |
2023-11-02 22:09:25 +0100 | FinnBoat | (~user@2001:861:5863:3d50:413d:b564:79ed:5fe0) |
2023-11-02 22:10:19 +0100 | hippoid | (~hippoid@user/hippoid) |
2023-11-02 22:11:18 +0100 | <EvanR> | you could win the rigged contest by uberrigging it back at them: ask them to benchmark immutable arrays |
2023-11-02 22:11:50 +0100 | <EvanR> | if immutable arrays suck, then language X based on mutable arrays must be terrible |
2023-11-02 22:15:39 +0100 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2023-11-02 22:16:00 +0100 | <monochrom> | People make up their minds first and then look for moving goalpost rationalizations. |
2023-11-02 22:16:15 +0100 | <monochrom> | Every time you prove them wrong, they steel their resolve. |
2023-11-02 22:16:38 +0100 | <monochrom> | This is why I have a "leave them" under a suitable condition. Don't argue. Quit. |
2023-11-02 22:18:59 +0100 | ft | (~ft@p4fc2a529.dip0.t-ipconnect.de) |
2023-11-02 22:21:20 +0100 | fendor | (~fendor@2a02:8388:1640:be00:2a62:2dd0:490d:f2ca) (Remote host closed the connection) |
2023-11-02 22:28:53 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-11-02 22:34:48 +0100 | FinnBoat | (~user@2001:861:5863:3d50:413d:b564:79ed:5fe0) (Ping timeout: 260 seconds) |
2023-11-02 22:36:35 +0100 | <meejah> | EvanR: yeah, i love the art :) |
2023-11-02 22:49:27 +0100 | falafel | (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 240 seconds) |
2023-11-02 22:53:00 +0100 | chomwitt | (~chomwitt@2a02:587:7a2d:bc00:1ac0:4dff:fedb:a3f1) (Ping timeout: 240 seconds) |
2023-11-02 22:55:21 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-11-02 22:56:47 +0100 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
2023-11-02 23:00:22 +0100 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 258 seconds) |
2023-11-02 23:03:20 +0100 | cmtaur^ | (~cd@70-88-177-118-Atlanta.hfc.comcastbusiness.net) |
2023-11-02 23:09:21 +0100 | Lycurgus | (~georg@user/Lycurgus) |
2023-11-02 23:12:08 +0100 | vglfr | (~vglfr@46.96.14.220) (Read error: Connection reset by peer) |
2023-11-02 23:14:57 +0100 | todi | (~todi@p4fd1a3e6.dip0.t-ipconnect.de) |
2023-11-02 23:15:01 +0100 | michalz | (~michalz@185.246.207.218) (Remote host closed the connection) |
2023-11-02 23:17:51 +0100 | slack1256 | (~slack1256@181.203.130.240) (Read error: Connection reset by peer) |
2023-11-02 23:19:03 +0100 | mikoto-chan | (~mikoto-ch@ip-212-239-236-59.dsl.scarlet.be) (Ping timeout: 240 seconds) |
2023-11-02 23:20:39 +0100 | accord | (uid568320@id-568320.hampstead.irccloud.com) |
2023-11-02 23:28:36 +0100 | zetef | (~quassel@2a02:2f00:5201:4b00:7fc8:6fbe:33d9:ba2a) (Ping timeout: 240 seconds) |
2023-11-02 23:29:03 +0100 | neceve | (~neceve@user/neceve) (Ping timeout: 240 seconds) |
2023-11-02 23:29:30 +0100 | Jackneill_ | (~Jackneill@20014C4E1E16F000C6DFD3C15F3E3440.dsl.pool.telekom.hu) (Ping timeout: 258 seconds) |
2023-11-02 23:29:51 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-11-02 23:32:47 +0100 | Lycurgus | (~georg@user/Lycurgus) (Quit: leaving) |
2023-11-02 23:48:13 +0100 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |