2020-11-04 00:00:07 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2020-11-04 00:01:05 +0100 | hekkaidekapus_ | hekkaidekapus |
2020-11-04 00:02:03 +0100 | <hekkaidekapus> | dminuoso: Are you aware of #haskell-ide? I hear it is the place where prompt answers are provided for questions like yours. |
2020-11-04 00:02:42 +0100 | <Uniaika> | -> #Haskell-ide-engine, hekkaidekapus |
2020-11-04 00:03:03 +0100 | <hekkaidekapus> | Uniaika: oopsie, thank you for the correction. |
2020-11-04 00:03:04 +0100 | mrchampion | (~mrchampio@216-211-57-41.dynamic.tbaytel.net) (Ping timeout: 265 seconds) |
2020-11-04 00:04:21 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-11-04 00:04:28 +0100 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) |
2020-11-04 00:05:03 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
2020-11-04 00:06:35 +0100 | <dminuoso> | hekkaidekapus: Ahh, cheers. I was not :) |
2020-11-04 00:07:55 +0100 | mbomba | (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) |
2020-11-04 00:08:39 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2020-11-04 00:08:54 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
2020-11-04 00:11:23 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
2020-11-04 00:14:19 +0100 | conal | (~conal@2600:380:8512:89f8:e48b:604e:1b9f:cf32) |
2020-11-04 00:18:25 +0100 | carlomagno | (~cararell@148.87.23.4) (Remote host closed the connection) |
2020-11-04 00:19:15 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-11-04 00:19:32 +0100 | borne | (~fritjof@200116b86457d500641bd1d418d012e1.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
2020-11-04 00:20:12 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-11-04 00:20:49 +0100 | carlomagno | (~cararell@148.87.23.4) |
2020-11-04 00:23:24 +0100 | jedws | (~jedws@101.184.150.81) |
2020-11-04 00:24:25 +0100 | gtk | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds) |
2020-11-04 00:24:50 +0100 | carlomagno | (~cararell@148.87.23.4) (Remote host closed the connection) |
2020-11-04 00:25:10 +0100 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-11-04 00:25:10 +0100 | irc_user | (uid423822@gateway/web/irccloud.com/x-mlbnqpkqljzoxqfd) |
2020-11-04 00:25:51 +0100 | conal_ | (~conal@64.71.133.70) |
2020-11-04 00:26:02 +0100 | howdoi | (uid224@gateway/web/irccloud.com/x-wivnzygvcxbkqyle) |
2020-11-04 00:26:38 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-04 00:27:01 +0100 | texasmyn_ | (~texasmyns@64.44.55.36) |
2020-11-04 00:27:05 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 00:27:38 +0100 | conal | (~conal@2600:380:8512:89f8:e48b:604e:1b9f:cf32) (Ping timeout: 264 seconds) |
2020-11-04 00:27:44 +0100 | <irc_user> | I was looking at some elm vs purescript discussions and I see a lot of people talking about how you have to write a lot of boilerplate in elm because of lack of type classes. What exactly is the boilerplate that one would have to write in the absence of type classes? |
2020-11-04 00:27:49 +0100 | mrchampion | (~mrchampio@216-211-57-41.dynamic.tbaytel.net) |
2020-11-04 00:28:46 +0100 | dcoutts_ | (~duncan@33.14.75.194.dyn.plus.net) |
2020-11-04 00:28:46 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-04 00:29:10 +0100 | da39a3ee5e6b4b0d | (~textual@n11211935170.netvigator.com) (Ping timeout: 272 seconds) |
2020-11-04 00:29:33 +0100 | <dminuoso> | irc_user: So imagine you wanted to compare two lists for equality. What function would you use? |
2020-11-04 00:29:48 +0100 | DavidEichmann | (~david@43.240.198.146.dyn.plus.net) (Ping timeout: 272 seconds) |
2020-11-04 00:30:23 +0100 | <irc_user> | Hmm sorry I'm not totally into functional yet, but I would probably iterate over them? dminuoso |
2020-11-04 00:30:27 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 00:30:40 +0100 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 260 seconds) |
2020-11-04 00:30:41 +0100 | <dminuoso> | I mean fundamentally, the statement is incorrect since anything you can do with typeclasses, you can do with explicit dictionary passing |
2020-11-04 00:30:48 +0100 | <dminuoso> | But what typeclasses buy you is coherence |
2020-11-04 00:31:13 +0100 | <dolio> | Well, also, adding dictionary arguments for everything you're 'overloading' by is boilerplate. |
2020-11-04 00:31:16 +0100 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
2020-11-04 00:31:27 +0100 | Resurge | (~Thunderbi@213.219.168.185.adsl.dyn.edpnet.net) (Quit: Resurge) |
2020-11-04 00:31:36 +0100 | carlomagno | (~cararell@148.87.23.4) |
2020-11-04 00:31:44 +0100 | <irc_user> | "dictionary"? |
2020-11-04 00:32:04 +0100 | <dminuoso> | Say I hand you a `Set Thing`, and you give some `Set Thing` back. If you're just a library author, you can know about my Thing, so withot some funky tricks you cant operate on that Set with a different Ord |
2020-11-04 00:33:40 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 00:33:50 +0100 | <dminuoso> | irc_user: GHC implements typeclass instances as dictionaries/records. So when you write `f :: Num a => ...` then under the hood this becomes a function taking a `Num a` record, that contains all the method implementations. |
2020-11-04 00:34:01 +0100 | <dminuoso> | (In the absence of optimizations) |
2020-11-04 00:34:03 +0100 | <bqv> | > showsPrec 0 "test" |
2020-11-04 00:34:06 +0100 | <lambdabot> | <[Char] -> [Char]> |
2020-11-04 00:34:12 +0100 | carlomagno | (~cararell@148.87.23.4) (Remote host closed the connection) |
2020-11-04 00:34:43 +0100 | <dolio> | Also, having to manually specify how to build dictionaries for `List a` out of dictionaries for `a` every place you want the former is boilerplate. |
2020-11-04 00:36:00 +0100 | <dminuoso> | Consider the initial example: You will need a comparing function, so some `eqList :: (a -> a -> Bool) -> [a] -> [a] -> Bool`. You have to write this explicitly, and provide it with an appropriate equality function on the elements |
2020-11-04 00:36:15 +0100 | <dminuoso> | You cant reuse any of that if you want equality on maps too |
2020-11-04 00:36:27 +0100 | <dminuoso> | And this promotes great error because there's no assurance we will all agree on the equality functions |
2020-11-04 00:36:40 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-04 00:36:51 +0100 | christo | (~chris@81.96.113.213) (Read error: No route to host) |
2020-11-04 00:36:53 +0100 | <dminuoso> | (Leading go incoherence, where you and I might use conflicting implementations, while sharing some data) |
2020-11-04 00:37:16 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 00:37:36 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) |
2020-11-04 00:37:40 +0100 | <irc_user> | Ohhh, so it would be kind of like generics/traits? |
2020-11-04 00:37:46 +0100 | <dminuoso> | So without typeclasses, you will need to remember how all these eq functions are called, and you can't just automatically derive them. If you have parametrized data types, you will need to write manual higher order equality functions, and explicitly pass more eq functions inside |
2020-11-04 00:38:44 +0100 | <ski> | > showsPrec 0 "bqv" "" |
2020-11-04 00:38:47 +0100 | <lambdabot> | "\"bqv\"" |
2020-11-04 00:39:21 +0100 | <bqv> | figured it out, i just opened ghci |
2020-11-04 00:39:27 +0100 | <bqv> | trying to migrate from prelude to protolude |
2020-11-04 00:39:37 +0100 | <bqv> | monoids are ..definitely nicer |
2020-11-04 00:40:02 +0100 | <irc_user> | I think I see, thank you! I definitely have some more reading to do but this will be great to refer back to. |
2020-11-04 00:40:04 +0100 | <dminuoso> | irc_user: Another motivating example is.. lets say you want to add numbers. |
2020-11-04 00:40:05 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-04 00:40:35 +0100 | <dminuoso> | Unless you have some other elaborate overloading mechanism, you can't use (+), because what type would (+) even have? |
2020-11-04 00:40:36 +0100 | Alleria_ | (~AllahuAkb@2604:2000:1484:26:1965:9c13:18a8:4b5c) |
2020-11-04 00:40:57 +0100 | <dminuoso> | So you'd have `addInt :: Int -> Int -> Int`, `addInteger :: Integer -> Integer -> Integer`, `addFloat :: Float -> Float -> Float`, etc.. |
2020-11-04 00:41:11 +0100 | carlomagno | (~cararell@148.87.23.4) |
2020-11-04 00:41:27 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2020-11-04 00:41:42 +0100 | <dminuoso> | (The moment you ponder about this for a while, you'd probably end up with something like `add :: Num a -> a -> a -> a` with some `data Num a = Num { numAdd :: a -> a -> a, ... }` |
2020-11-04 00:41:46 +0100 | skapazzo | (~skapazzo@151.9.205.227) |
2020-11-04 00:41:47 +0100 | <ski> | it's especially "merge" functions (like `union :: Ord a => Set a -> Set a -> Set a') that benefit from knowing the same ordering was used to build the two input sets |
2020-11-04 00:41:54 +0100 | <dminuoso> | Which brings you back to all the other problems above |
2020-11-04 00:42:45 +0100 | <ski> | (if not for that, one could attempt to bundle the ordering relation inside the set) |
2020-11-04 00:43:56 +0100 | <irc_user> | I see, this makes a lot of sense now, thank you for the descriptive examples |
2020-11-04 00:47:41 +0100 | wroathe_ | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
2020-11-04 00:47:58 +0100 | wroathe_ | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Client Quit) |
2020-11-04 00:48:17 +0100 | wroathe_ | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
2020-11-04 00:48:48 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2020-11-04 00:48:58 +0100 | wroathe_ | wroathe |
2020-11-04 00:50:15 +0100 | skapazzo | (~skapazzo@151.9.205.227) (Quit: Lost terminal) |
2020-11-04 00:51:30 +0100 | hackage | reflex-dom-retractable 0.1.4.0 - Routing and retractable back button for reflex-dom https://hackage.haskell.org/package/reflex-dom-retractable-0.1.4.0 (NCrashed) |
2020-11-04 00:52:03 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
2020-11-04 00:52:58 +0100 | Rudd0^ | (~Rudd0@185.189.115.103) |
2020-11-04 00:54:18 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-11-04 00:57:12 +0100 | Rudd0 | (~Rudd0@185.189.115.98) (Ping timeout: 260 seconds) |
2020-11-04 00:57:16 +0100 | Rudd0^ | (~Rudd0@185.189.115.103) (Ping timeout: 260 seconds) |
2020-11-04 00:59:23 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-11-04 00:59:35 +0100 | Chi1thangoo | (~Chi1thang@87.112.60.168) (Ping timeout: 256 seconds) |
2020-11-04 01:00:02 +0100 | superfly1 | (~superfly@84.39.117.57) () |
2020-11-04 01:00:45 +0100 | hekkaidekapus | doesn’t mean to snitch but poor Ben in #ghc bearing with our old acquaintance larou :) |
2020-11-04 01:02:10 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
2020-11-04 01:02:55 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) |
2020-11-04 01:03:20 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 01:03:38 +0100 | SrPx | (sid108780@gateway/web/irccloud.com/x-yrwlrdlfqyblrniu) (Ping timeout: 264 seconds) |
2020-11-04 01:03:38 +0100 | wpcarro | (sid397589@gateway/web/irccloud.com/x-acwmxyqgeyskyphp) (Ping timeout: 264 seconds) |
2020-11-04 01:03:44 +0100 | liquorice | (sid267884@gateway/web/irccloud.com/x-diraasfarzuiqldj) (Ping timeout: 240 seconds) |
2020-11-04 01:03:44 +0100 | joshmeredith | (sid387798@gateway/web/irccloud.com/x-ewrwlxlkgcoxcbts) (Ping timeout: 240 seconds) |
2020-11-04 01:03:45 +0100 | Cir0X | (sid221743@gateway/web/irccloud.com/x-smmdmragpgxrsuxw) (Ping timeout: 268 seconds) |
2020-11-04 01:03:47 +0100 | cemerick | (sid54985@gateway/web/irccloud.com/x-zrzfloaemrmpgqmz) (Read error: Connection reset by peer) |
2020-11-04 01:03:47 +0100 | lally | (sid388228@gateway/web/irccloud.com/x-vliwvdsdwmscsdor) (Read error: Connection reset by peer) |
2020-11-04 01:03:47 +0100 | banjiewen_ | (sid115913@gateway/web/irccloud.com/x-eopdvyfizptvmxgr) (Write error: Connection reset by peer) |
2020-11-04 01:03:47 +0100 | natim87 | (sid286962@gateway/web/irccloud.com/x-hyhuipwwdjkbudmv) (Read error: Connection reset by peer) |
2020-11-04 01:03:47 +0100 | cvlad- | (sid203065@gateway/web/irccloud.com/x-nspzwlyvupawshac) (Read error: Connection reset by peer) |
2020-11-04 01:03:47 +0100 | fiadliel | (sid399568@gateway/web/irccloud.com/x-krrigsmeuaxeyvln) (Read error: Connection reset by peer) |
2020-11-04 01:03:47 +0100 | AndreasK | (sid320732@gateway/web/irccloud.com/x-jqlvoqrfkfkmzsvx) (Read error: Connection reset by peer) |
2020-11-04 01:03:53 +0100 | machinedgod | (~machinedg@142.169.78.163) (Ping timeout: 260 seconds) |
2020-11-04 01:04:05 +0100 | lally | (sid388228@gateway/web/irccloud.com/x-ajahqmwjiqmyvpjz) |
2020-11-04 01:04:06 +0100 | cemerick | (sid54985@gateway/web/irccloud.com/x-abxbprbujguoyqts) |
2020-11-04 01:04:06 +0100 | Cir0X | (sid221743@gateway/web/irccloud.com/x-aaolygdvoezcqebh) |
2020-11-04 01:04:06 +0100 | cvlad- | (sid203065@gateway/web/irccloud.com/x-rokspjlhyqzgwkmr) |
2020-11-04 01:04:06 +0100 | AndreasK | (sid320732@gateway/web/irccloud.com/x-uioigjqavmrtwcmd) |
2020-11-04 01:04:07 +0100 | fiadliel | (sid399568@gateway/web/irccloud.com/x-vfhgfferfkqpsvwi) |
2020-11-04 01:04:09 +0100 | banjiewen_ | (sid115913@gateway/web/irccloud.com/x-xuhcxuunqkywfagg) |
2020-11-04 01:04:09 +0100 | natim87 | (sid286962@gateway/web/irccloud.com/x-olzvsuojmvwuxdem) |
2020-11-04 01:04:13 +0100 | moistoreos | (~moist_ore@99-160-143-51.lightspeed.nsvltn.sbcglobal.net) |
2020-11-04 01:04:22 +0100 | eruditass | (uid248673@gateway/web/irccloud.com/x-hmiqmtrgdlavbpwr) (Ping timeout: 268 seconds) |
2020-11-04 01:04:27 +0100 | ryjm | (sid383513@gateway/web/irccloud.com/x-ddgnxwnpegroygna) (Ping timeout: 260 seconds) |
2020-11-04 01:04:44 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-04 01:04:50 +0100 | ebutleriv | (sid217783@gateway/web/irccloud.com/x-pfvqbqpaoeusjfcx) (Ping timeout: 264 seconds) |
2020-11-04 01:04:51 +0100 | joshmeredith | (sid387798@gateway/web/irccloud.com/x-sxpuerlncnrlahqm) |
2020-11-04 01:05:03 +0100 | wpcarro | (sid397589@gateway/web/irccloud.com/x-vqtnwwuckwrwiioj) |
2020-11-04 01:05:24 +0100 | liquorice | (sid267884@gateway/web/irccloud.com/x-kyqvqvczajcsjcev) |
2020-11-04 01:05:48 +0100 | <dminuoso> | hekkaidekapus: larou is markov chaining #nixos as well |
2020-11-04 01:05:50 +0100 | machinedgod | (~machinedg@207.253.244.210) |
2020-11-04 01:06:01 +0100 | <dminuoso> | Are they an old acquainance? |
2020-11-04 01:06:06 +0100 | <hekkaidekapus> | heheheheh… |
2020-11-04 01:06:07 +0100 | ebutleriv | (sid217783@gateway/web/irccloud.com/x-smeovyzgvmjpfemr) |
2020-11-04 01:06:20 +0100 | ryjm | (sid383513@gateway/web/irccloud.com/x-vjmcrbfkcwlkcexr) |
2020-11-04 01:06:27 +0100 | SrPx | (sid108780@gateway/web/irccloud.com/x-pdttujrjixkduttv) |
2020-11-04 01:06:41 +0100 | eruditass | (uid248673@gateway/web/irccloud.com/x-xzxytktqpfjekcra) |
2020-11-04 01:06:47 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-11-04 01:06:57 +0100 | <hekkaidekapus> | Yeah, tomsmeding had some data that they may be fog reincarnated. |
2020-11-04 01:07:30 +0100 | hackage | reflex-dom-retractable 0.1.5.0 - Routing and retractable back button for reflex-dom https://hackage.haskell.org/package/reflex-dom-retractable-0.1.5.0 (NCrashed) |
2020-11-04 01:07:41 +0100 | <dminuoso> | well fog seemed like a real person |
2020-11-04 01:07:56 +0100 | <hekkaidekapus> | hahahahaha… AI gone wrong :D |
2020-11-04 01:08:27 +0100 | <bqv> | i used inline-c for my program |
2020-11-04 01:08:29 +0100 | <bqv> | i'm regretting it |
2020-11-04 01:08:34 +0100 | <bqv> | and loving it at the same time... |
2020-11-04 01:09:04 +0100 | <dminuoso> | hekkaidekapus: Gosh, if I stare at whats been written in both #nixos and #ghc... |
2020-11-04 01:09:06 +0100 | <bqv> | but i think i'm going to have to rip it out and use something else |
2020-11-04 01:09:10 +0100 | <gobbleguy> | Let's keep the turing-test speculation out of this channel though |
2020-11-04 01:09:15 +0100 | <dminuoso> | That's gotta be a markov chain generator. |
2020-11-04 01:09:35 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 01:10:40 +0100 | <bqv> | it can't be purely markov |
2020-11-04 01:10:46 +0100 | <bqv> | it responded to your questions accurately |
2020-11-04 01:11:28 +0100 | <gobbleguy> | bqv: please |
2020-11-04 01:11:48 +0100 | <bqv> | i mean in terms of grammar! not sense... |
2020-11-04 01:12:02 +0100 | <gobbleguy> | bqv: can you read my messages? |
2020-11-04 01:12:09 +0100 | <bqv> | oh |
2020-11-04 01:13:19 +0100 | argent0 | (~argent0@168.227.97.5) |
2020-11-04 01:13:27 +0100 | zhenchaoli | (~user@2601:641:8000:4f00:955e:b059:4f08:2b29) |
2020-11-04 01:14:27 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 258 seconds) |
2020-11-04 01:15:01 +0100 | hackage | reflex-dom-retractable 0.1.6.0 - Routing and retractable back button for reflex-dom https://hackage.haskell.org/package/reflex-dom-retractable-0.1.6.0 (NCrashed) |
2020-11-04 01:15:14 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-04 01:16:09 +0100 | zhenchaoli | (~user@2601:641:8000:4f00:955e:b059:4f08:2b29) (Client Quit) |
2020-11-04 01:16:42 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 01:16:59 +0100 | zhenchaoli | (~user@2601:641:8000:4f00:955e:b059:4f08:2b29) |
2020-11-04 01:19:38 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-04 01:19:38 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2020-11-04 01:19:43 +0100 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
2020-11-04 01:20:42 +0100 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2020-11-04 01:21:50 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 01:25:21 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-04 01:25:35 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 01:28:29 +0100 | conal_ | (~conal@64.71.133.70) (Ping timeout: 256 seconds) |
2020-11-04 01:29:18 +0100 | conal | (~conal@64.71.133.70) |
2020-11-04 01:30:30 +0100 | Tario | (~Tario@201.192.165.173) |
2020-11-04 01:31:38 +0100 | aarvar | (~foewfoiew@c.24.56.239.179.static.broadstripe.net) |
2020-11-04 01:31:38 +0100 | conal | (~conal@64.71.133.70) (Read error: Connection reset by peer) |
2020-11-04 01:31:44 +0100 | aarvar | (~foewfoiew@c.24.56.239.179.static.broadstripe.net) () |
2020-11-04 01:33:48 +0100 | conal | (~conal@64.71.133.70) |
2020-11-04 01:35:08 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
2020-11-04 01:37:58 +0100 | jess | (jess@freenode/staff/jess) (Quit: Leaving) |
2020-11-04 01:38:09 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-11-04 01:40:06 +0100 | carlomagno1 | (~cararell@148.87.23.13) |
2020-11-04 01:40:42 +0100 | akad_ | (~akad@109107030050.radomsko.vectranet.pl) (Ping timeout: 265 seconds) |
2020-11-04 01:41:38 +0100 | xff0x | (~fox@2001:1a81:53b4:ba00:49d8:d2a:69a9:1ef4) (Ping timeout: 246 seconds) |
2020-11-04 01:41:40 +0100 | dbmikus_ | (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 265 seconds) |
2020-11-04 01:41:40 +0100 | LKoen | (~LKoen@79.160.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
2020-11-04 01:42:09 +0100 | carlomagno | (~cararell@148.87.23.4) (Ping timeout: 265 seconds) |
2020-11-04 01:42:49 +0100 | xff0x | (~fox@2001:1a81:53b4:ba00:98f7:2de1:6246:9047) |
2020-11-04 01:45:04 +0100 | thc202 | (~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds) |
2020-11-04 01:46:46 +0100 | russruss8 | (~russruss@my.russellmcc.com) (Quit: The Lounge - https://thelounge.chat) |
2020-11-04 01:47:03 +0100 | russruss84 | (~russruss@my.russellmcc.com) |
2020-11-04 01:47:07 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) (Quit: Network issue or system upgrade probably) |
2020-11-04 01:50:10 +0100 | russruss84 | (~russruss@my.russellmcc.com) (Client Quit) |
2020-11-04 01:50:52 +0100 | russruss84 | (~russruss@my.russellmcc.com) |
2020-11-04 01:50:54 +0100 | <koz_> | If I'm looking at profiteur results, and am like, 100 functions deep, is there a way to get the 'top' thing to be somethign 100 functions deep, and not like, main? |
2020-11-04 01:52:51 +0100 | <dminuoso> | koz_: Can you rephrase the question? |
2020-11-04 01:53:23 +0100 | <koz_> | dminuoso: Profiteur gives you a graphical view of how much time you spend where. |
2020-11-04 01:53:35 +0100 | <koz_> | And this gets subdivided as you 'descend' into functions called by other functions. |
2020-11-04 01:53:40 +0100 | <koz_> | I'm like, 100 such descents in. |
2020-11-04 01:53:50 +0100 | <koz_> | And as a result, I have huge amounts of visual noise from the graphical view. |
2020-11-04 01:53:54 +0100 | <koz_> | I wanna eliminate that noise. |
2020-11-04 01:54:00 +0100 | <dminuoso> | koz_: Ohh haha. Lacking that information, that sentence read like completely gibberish. |
2020-11-04 01:54:21 +0100 | <koz_> | dminuoso: Sorry, I've been chasing parser bugs all day and seem to be incapable of forming sentences. |
2020-11-04 01:55:15 +0100 | <koz_> | Found it, never mind. |
2020-11-04 01:55:19 +0100 | <koz_> | Handy zoom button. |
2020-11-04 01:55:27 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-04 01:56:02 +0100 | falafel | (~falafel@173-19-187-164.client.mchsi.com) |
2020-11-04 01:59:59 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-11-04 02:00:20 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 02:01:52 +0100 | perrier-jouet | (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) |
2020-11-04 02:01:58 +0100 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
2020-11-04 02:02:23 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer) |
2020-11-04 02:03:49 +0100 | m0rphism | (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) (Ping timeout: 264 seconds) |
2020-11-04 02:03:56 +0100 | plutoniix | (~q@175.176.222.7) |
2020-11-04 02:04:27 +0100 | xiinotulp | (~q@175.176.222.7) |
2020-11-04 02:04:47 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-11-04 02:04:56 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 260 seconds) |
2020-11-04 02:05:28 +0100 | conal | (~conal@64.71.133.70) |
2020-11-04 02:07:04 +0100 | jakob_ | (~textual@p200300f49f1622003cfc249d5991ef23.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…) |
2020-11-04 02:07:26 +0100 | argent0 | (~argent0@168.227.97.5) (Ping timeout: 256 seconds) |
2020-11-04 02:09:06 +0100 | dbmikus_ | (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
2020-11-04 02:09:51 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2020-11-04 02:12:09 +0100 | s00pcan | (~chris@075-133-056-178.res.spectrum.com) (Remote host closed the connection) |
2020-11-04 02:14:03 +0100 | dbmikus_ | (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 265 seconds) |
2020-11-04 02:14:57 +0100 | xiinotulp | (~q@175.176.222.7) (Quit: Leaving) |
2020-11-04 02:15:27 +0100 | alp | (~alp@2a01:e0a:58b:4920:99ca:9a50:cea9:e213) (Ping timeout: 272 seconds) |
2020-11-04 02:16:38 +0100 | argent0 | (~argent0@168.227.97.5) |
2020-11-04 02:17:21 +0100 | dbmikus_ | (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
2020-11-04 02:18:56 +0100 | tmciver | (~tmciver@cpe-172-101-40-226.maine.res.rr.com) (Ping timeout: 260 seconds) |
2020-11-04 02:19:52 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
2020-11-04 02:20:47 +0100 | invaser | (~Thunderbi@31.148.23.125) (Quit: invaser) |
2020-11-04 02:20:51 +0100 | tmciver | (~tmciver@172.101.40.226) |
2020-11-04 02:21:05 +0100 | invaser | (~Thunderbi@31.148.23.125) |
2020-11-04 02:23:28 +0100 | Lord_of_Life_ | (~Lord@46.217.221.241) |
2020-11-04 02:23:39 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-04 02:24:46 +0100 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 246 seconds) |
2020-11-04 02:26:05 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 246 seconds) |
2020-11-04 02:27:48 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2020-11-04 02:28:25 +0100 | machinedgod | (~machinedg@207.253.244.210) (Ping timeout: 264 seconds) |
2020-11-04 02:29:57 +0100 | machinedgod | (~machinedg@142.169.78.180) |
2020-11-04 02:30:29 +0100 | s00pcan | (~chris@075-133-056-178.res.spectrum.com) |
2020-11-04 02:30:59 +0100 | <bqv> | dminuoso: can i have a nix shellFor with c2hs in it? |
2020-11-04 02:32:18 +0100 | Katarushisu | (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 256 seconds) |
2020-11-04 02:32:26 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds) |
2020-11-04 02:35:40 +0100 | aarvar1 | (~foewfoiew@c.24.56.239.179.static.broadstripe.net) |
2020-11-04 02:35:52 +0100 | aarvar1 | (~foewfoiew@c.24.56.239.179.static.broadstripe.net) () |
2020-11-04 02:36:17 +0100 | Katarushisu | (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) |
2020-11-04 02:42:25 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 02:44:24 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-11-04 02:47:13 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds) |
2020-11-04 02:51:30 +0100 | texasmyn_ | texasmynsted_ |
2020-11-04 02:51:46 +0100 | texasmynsted_ | (~texasmyns@64.44.55.36) () |
2020-11-04 02:52:08 +0100 | texasmyn_ | (~texasmyns@64.44.55.36) |
2020-11-04 02:53:06 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 02:53:10 +0100 | texasmyn_ | texasmynsted_ |
2020-11-04 02:53:40 +0100 | Tario | (~Tario@201.192.165.173) |
2020-11-04 02:56:45 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 02:57:12 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
2020-11-04 02:58:23 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2020-11-04 02:58:38 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 272 seconds) |
2020-11-04 02:58:47 +0100 | zhenchaoli | (~user@2601:641:8000:4f00:955e:b059:4f08:2b29) (Ping timeout: 260 seconds) |
2020-11-04 02:59:27 +0100 | drbean | (~drbean@TC210-63-209-70.static.apol.com.tw) |
2020-11-04 03:00:50 +0100 | zhenchaoli | (~user@2601:641:8000:4f00:955e:b059:4f08:2b29) |
2020-11-04 03:03:14 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 03:03:28 +0100 | xsperry | (~as@unaffiliated/xsperry) (Ping timeout: 260 seconds) |
2020-11-04 03:06:49 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-04 03:07:20 +0100 | st8less | (~st8less@2603:a060:11fd:0:357c:d497:b907:2901) (Quit: WeeChat 2.7.1) |
2020-11-04 03:07:25 +0100 | wei2912 | (~wei2912@unaffiliated/wei2912) |
2020-11-04 03:07:45 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds) |
2020-11-04 03:09:08 +0100 | texasmynsted | Guest6044 |
2020-11-04 03:09:08 +0100 | Guest6044 | (~texasmyns@99.96.221.112) (Killed (hitchcock.freenode.net (Nickname regained by services))) |
2020-11-04 03:09:08 +0100 | texasmynsted_ | texasmynsted |
2020-11-04 03:09:30 +0100 | justan0theruser | (~justanoth@unaffiliated/justanotheruser) (Quit: WeeChat 2.9) |
2020-11-04 03:09:57 +0100 | texasmynsted_ | (~texasmyns@99.96.221.112) |
2020-11-04 03:10:16 +0100 | vnz | (~vnz@unaffiliated/vnz) (Quit: ZNC - http://znc.in) |
2020-11-04 03:12:06 +0100 | vnz | (~vnz@2001:bc8:604:94f::1) |
2020-11-04 03:12:06 +0100 | vnz | (~vnz@2001:bc8:604:94f::1) (Changing host) |
2020-11-04 03:12:06 +0100 | vnz | (~vnz@unaffiliated/vnz) |
2020-11-04 03:13:24 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 03:13:57 +0100 | pera | (~pera@unaffiliated/pera) (Quit: leaving) |
2020-11-04 03:14:01 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2020-11-04 03:15:29 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-04 03:16:56 +0100 | jbox | (~atlas@unaffiliated/jbox) |
2020-11-04 03:17:00 +0100 | hackage | reflex-ghci 0.1.5.0 - A GHCi widget library for use in reflex applications https://hackage.haskell.org/package/reflex-ghci-0.1.5.0 (abrar) |
2020-11-04 03:18:38 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-11-04 03:20:11 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
2020-11-04 03:20:34 +0100 | jamm__ | (~jamm@unaffiliated/jamm) |
2020-11-04 03:21:32 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds) |
2020-11-04 03:22:29 +0100 | Deide1 | (~Deide@217.155.19.23) |
2020-11-04 03:23:19 +0100 | Deide1 | (~Deide@217.155.19.23) (Client Quit) |
2020-11-04 03:23:20 +0100 | Deide | (~Deide@217.155.19.23) (Ping timeout: 260 seconds) |
2020-11-04 03:26:29 +0100 | jrm | (~jrm@freebsd/developer/jrm) (Quit: ciao) |
2020-11-04 03:26:55 +0100 | jrm | (~jrm@freebsd/developer/jrm) |
2020-11-04 03:27:25 +0100 | Katarushisu | (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 246 seconds) |
2020-11-04 03:27:32 +0100 | nuncanada | (~dude@179.235.160.168) (Quit: Leaving) |
2020-11-04 03:27:55 +0100 | falafel | (~falafel@173-19-187-164.client.mchsi.com) (Remote host closed the connection) |
2020-11-04 03:28:16 +0100 | falafel | (~falafel@173-19-187-164.client.mchsi.com) |
2020-11-04 03:28:43 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 03:29:24 +0100 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-11-04 03:29:44 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-11-04 03:30:12 +0100 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-11-04 03:30:32 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-11-04 03:31:01 +0100 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-11-04 03:31:04 +0100 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 240 seconds) |
2020-11-04 03:31:19 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-11-04 03:31:31 +0100 | <bqv> | forget it. just using a v1-sandbox instead |
2020-11-04 03:31:49 +0100 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-11-04 03:32:06 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-11-04 03:32:37 +0100 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-11-04 03:32:42 +0100 | jedws | (~jedws@101.184.150.81) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-11-04 03:33:22 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds) |
2020-11-04 03:34:04 +0100 | drbean | (~drbean@TC210-63-209-70.static.apol.com.tw) (Ping timeout: 256 seconds) |
2020-11-04 03:35:03 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-11-04 03:35:47 +0100 | Katarushisu | (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) |
2020-11-04 03:36:02 +0100 | blissful | (~azuline@unaffiliated/azuline) |
2020-11-04 03:36:41 +0100 | dddddd | (~dddddd@unaffiliated/dddddd) (Ping timeout: 268 seconds) |
2020-11-04 03:39:12 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) |
2020-11-04 03:40:18 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2020-11-04 03:42:33 +0100 | dbmikus_ | (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 260 seconds) |
2020-11-04 03:45:39 +0100 | dddddd | (~dddddd@unaffiliated/dddddd) |
2020-11-04 03:46:05 +0100 | toorevitimirp | (~tooreviti@117.182.183.132) |
2020-11-04 03:50:18 +0100 | Jeanne-Kamikaze | (~Jeanne-Ka@68.235.43.110) |
2020-11-04 03:50:30 +0100 | xsperry | (~as@unaffiliated/xsperry) |
2020-11-04 03:52:56 +0100 | howdoi | (uid224@gateway/web/irccloud.com/x-wivnzygvcxbkqyle) (Quit: Connection closed for inactivity) |
2020-11-04 03:53:26 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 03:55:31 +0100 | xff0x | (~fox@2001:1a81:53b4:ba00:98f7:2de1:6246:9047) (Ping timeout: 272 seconds) |
2020-11-04 03:57:00 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 03:57:08 +0100 | xff0x | (~fox@2001:1a81:53f2:500:906a:a806:825e:ad98) |
2020-11-04 03:57:16 +0100 | jbox | (~atlas@unaffiliated/jbox) (Quit: bye o/) |
2020-11-04 03:58:13 +0100 | Katarushisu | (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 246 seconds) |
2020-11-04 04:00:37 +0100 | urodna | (~urodna@unaffiliated/urodna) (Quit: urodna) |
2020-11-04 04:01:45 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds) |
2020-11-04 04:04:53 +0100 | <jle`> | / 1 |
2020-11-04 04:07:30 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 04:07:59 +0100 | lagothrix | Guest18234 |
2020-11-04 04:07:59 +0100 | Guest18234 | (~lagothrix@unaffiliated/lagothrix) (Killed (tolkien.freenode.net (Nickname regained by services))) |
2020-11-04 04:08:04 +0100 | lagothrix | (~lagothrix@unaffiliated/lagothrix) |
2020-11-04 04:11:50 +0100 | Katarushisu | (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) |
2020-11-04 04:12:20 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-11-04 04:16:32 +0100 | hackage | scheduler 1.5.0 - Work stealing scheduler. https://hackage.haskell.org/package/scheduler-1.5.0 (lehins) |
2020-11-04 04:16:32 +0100 | machinedgod | (~machinedg@142.169.78.180) (Ping timeout: 260 seconds) |
2020-11-04 04:16:33 +0100 | mozzarella | (~sam@unaffiliated/sam113101) (Quit: WeeChat 2.8) |
2020-11-04 04:17:50 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 04:22:36 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-11-04 04:23:05 +0100 | falafel | (~falafel@173-19-187-164.client.mchsi.com) (Ping timeout: 240 seconds) |
2020-11-04 04:24:46 +0100 | ddellacosta | (~dd@86.106.121.168) (Ping timeout: 272 seconds) |
2020-11-04 04:26:13 +0100 | theDon | (~td@94.134.91.45) (Ping timeout: 246 seconds) |
2020-11-04 04:27:44 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 04:28:11 +0100 | theDon | (~td@94.134.91.97) |
2020-11-04 04:32:20 +0100 | dbmikus_ | (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
2020-11-04 04:32:26 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
2020-11-04 04:33:39 +0100 | argent0 | (~argent0@168.227.97.5) (Quit: leaving) |
2020-11-04 04:33:46 +0100 | tessier | (~treed@kernel-panic/copilotco) (Quit: leaving) |
2020-11-04 04:34:22 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving) |
2020-11-04 04:36:31 +0100 | meowphius | (~meowphius@pool-173-76-247-88.bstnma.fios.verizon.net) (Quit: Leaving) |
2020-11-04 04:37:26 +0100 | dbmikus_ | (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 272 seconds) |
2020-11-04 04:38:29 +0100 | conal | (~conal@64.71.133.70) |
2020-11-04 04:38:48 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-11-04 04:41:30 +0100 | hackage | massiv 0.5.5.0 - Massiv (Массив) is an Array Library. https://hackage.haskell.org/package/massiv-0.5.5.0 (lehins) |
2020-11-04 04:43:58 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-04 04:44:24 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 04:44:31 +0100 | Katarushisu | (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 258 seconds) |
2020-11-04 04:46:02 +0100 | DTZUZU_ | (~DTZUZU@S0106bcd165662a4d.vs.shawcable.net) (Ping timeout: 256 seconds) |
2020-11-04 04:47:07 +0100 | lucasb | (uid333435@gateway/web/irccloud.com/x-uaaedzwtlfjjcpgy) (Quit: Connection closed for inactivity) |
2020-11-04 04:48:52 +0100 | DTZUZU_ | (~DTZUZU@207.81.171.87) |
2020-11-04 04:51:35 +0100 | Lycurgus | (~niemand@98.4.97.110) |
2020-11-04 04:56:12 +0100 | wei2912 | (~wei2912@unaffiliated/wei2912) (Remote host closed the connection) |
2020-11-04 04:56:14 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
2020-11-04 04:58:15 +0100 | ddellacosta | (~dd@86.106.121.168) |
2020-11-04 05:00:26 +0100 | Rudd0 | (~Rudd0@185.189.115.108) |
2020-11-04 05:03:13 +0100 | Katarushisu | (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) |
2020-11-04 05:03:37 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
2020-11-04 05:03:45 +0100 | jespada | (~jespada@90.254.245.49) (Ping timeout: 240 seconds) |
2020-11-04 05:04:36 +0100 | mozzarella | (~sam@unaffiliated/sam113101) |
2020-11-04 05:04:44 +0100 | texasmynsted | (~texasmyns@64.44.55.36) () |
2020-11-04 05:06:20 +0100 | jespada | (~jespada@90.254.245.49) |
2020-11-04 05:06:40 +0100 | Saukk | (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) |
2020-11-04 05:08:17 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-11-04 05:10:53 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-11-04 05:11:41 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-04 05:14:55 +0100 | miklcct | (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
2020-11-04 05:15:28 +0100 | miklcct | (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) |
2020-11-04 05:15:48 +0100 | ddellacosta | (~dd@86.106.121.168) (Ping timeout: 260 seconds) |
2020-11-04 05:15:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-04 05:15:49 +0100 | miklcct | (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (Client Quit) |
2020-11-04 05:16:15 +0100 | DTZUZU_ | DTZUZU |
2020-11-04 05:17:19 +0100 | miklcct | (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) |
2020-11-04 05:19:21 +0100 | elliott__ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-04 05:20:05 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2020-11-04 05:26:26 +0100 | xff0x | (~fox@2001:1a81:53f2:500:906a:a806:825e:ad98) (Ping timeout: 264 seconds) |
2020-11-04 05:27:19 +0100 | xff0x | (~fox@2001:1a81:53f2:500:c561:3916:a8eb:5c4a) |
2020-11-04 05:29:15 +0100 | hekkaidekapus_ | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2020-11-04 05:30:47 +0100 | tsdgeos | (~tsdgeos@195.140.213.38) |
2020-11-04 05:32:23 +0100 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
2020-11-04 05:33:53 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-11-04 05:38:14 +0100 | jamm__ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2020-11-04 05:39:11 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2020-11-04 05:39:32 +0100 | macrover | (~macrover@ip70-189-231-35.lv.lv.cox.net) (Ping timeout: 260 seconds) |
2020-11-04 05:40:08 +0100 | mdunnio | (~mdunnio@208.59.170.5) |
2020-11-04 05:42:47 +0100 | solonarv | (~solonarv@adijon-656-1-31-12.w90-13.abo.wanadoo.fr) (Read error: Connection reset by peer) |
2020-11-04 05:43:08 +0100 | mdunnio_ | (~mdunnio@208.59.170.5) |
2020-11-04 05:43:17 +0100 | solonarv | (~solonarv@adijon-656-1-31-12.w90-13.abo.wanadoo.fr) |
2020-11-04 05:44:27 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds) |
2020-11-04 05:45:12 +0100 | mdunnio | (~mdunnio@208.59.170.5) (Ping timeout: 272 seconds) |
2020-11-04 05:45:39 +0100 | brodie_ | (~brodie@207.53.253.137) (Read error: Connection reset by peer) |
2020-11-04 05:48:22 +0100 | mdunnio_ | (~mdunnio@208.59.170.5) (Ping timeout: 272 seconds) |
2020-11-04 05:48:55 +0100 | solonarv | (~solonarv@adijon-656-1-31-12.w90-13.abo.wanadoo.fr) (Ping timeout: 258 seconds) |
2020-11-04 05:49:00 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2020-11-04 05:49:31 +0100 | coot | (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) |
2020-11-04 05:54:05 +0100 | <bqv> | so I have some class MyClass a b | a -> b |
2020-11-04 05:54:49 +0100 | <bqv> | does that mean i can elsewhere use the type (MyClass a b) => b |
2020-11-04 05:55:07 +0100 | <bqv> | in lieu of b directly, with a being concrete |
2020-11-04 05:55:15 +0100 | <bqv> | and if so, what extension do i have to enable to make that happen |
2020-11-04 05:56:16 +0100 | motherfsck | (~motherfsc@unaffiliated/motherfsck) |
2020-11-04 05:56:45 +0100 | <ski> | it means you're allowed to mention just `a' without `b' in a type, constrained by `MyClass a b' |
2020-11-04 05:57:56 +0100 | <bqv> | hmm |
2020-11-04 05:57:58 +0100 | Tario | (~Tario@201.192.165.173) |
2020-11-04 05:58:02 +0100 | <bqv> | ok so that's not my problem |
2020-11-04 05:58:07 +0100 | <ski> | because `a' (functionally) determines `b', so the presence of `a' means that `b' will be unique, fixed by `a' |
2020-11-04 05:58:16 +0100 | <ski> | the relevant extensions are `MultiParamTypeClasses' and `FunctionalDependencies' |
2020-11-04 05:58:18 +0100 | <bqv> | yeah |
2020-11-04 05:59:06 +0100 | <bqv> | it seems my problem is that i'm trying to do this in a foreign import :D |
2020-11-04 05:59:40 +0100 | <ski> | the Functional dependency `a -> b' here, on `MyClass a b c' (say. add an extra `c', just to make it more general) means logically that `forall a. unique b. exists c. MyClass a b c' : for every `a', there can be at most one `b' such that there's some `c' with `MyClass a b c' |
2020-11-04 05:59:49 +0100 | Katarushisu3 | (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) |
2020-11-04 06:00:45 +0100 | <bqv> | what I'm basically trying to achieve is a typelevel function |
2020-11-04 06:01:00 +0100 | <ski> | this is also logically equivalent to `forall a b0 b1 c0 c1. (MyClass a b0 c0,MyClass a b1 c1) => b0 = b1' : if you have two possible instances, with the same `a', then the `b's also must agree, be the same, never mind the `c's |
2020-11-04 06:01:01 +0100 | <bqv> | which that would do, but i can't use constraints in foreign |
2020-11-04 06:01:02 +0100 | Katarushisu | (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 272 seconds) |
2020-11-04 06:01:02 +0100 | Katarushisu3 | Katarushisu |
2020-11-04 06:01:14 +0100 | <bqv> | or perhaps i can alias it... |
2020-11-04 06:01:22 +0100 | <bqv> | no, because a constraint is part of the type |
2020-11-04 06:01:38 +0100 | brodie_ | (~brodie@207.53.253.137) |
2020-11-04 06:01:44 +0100 | <ski> | hm. i don't think you can have type-clas-constrained foreign imports |
2020-11-04 06:02:00 +0100 | brodie_ | brodie |
2020-11-04 06:02:42 +0100 | <bqv> | ok, turn it around then, can i instance a class with an implicitly typed second parameter? |
2020-11-04 06:02:57 +0100 | <gobbleguy> | IF you have a specific thing you're trying to do it might be worth just asking about that |
2020-11-04 06:02:59 +0100 | <ski> | i don't know what you mean by that |
2020-11-04 06:03:34 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 272 seconds) |
2020-11-04 06:03:58 +0100 | <ski> | "what I'm basically trying to achieve is a typelevel function" -- do you mean like a `type' / `data' family (possibly an associated type) ? |
2020-11-04 06:04:50 +0100 | <bqv> | yeah |
2020-11-04 06:04:53 +0100 | <bqv> | but that doesn't work |
2020-11-04 06:05:00 +0100 | <bqv> | because of the foreign issue |
2020-11-04 06:05:50 +0100 | <bqv> | so now perhaps i'd like to omit the second type parameter of an instance (and have it inferred from the definition) |
2020-11-04 06:06:44 +0100 | jrqc | (~rofl@96.78.87.197) (Ping timeout: 272 seconds) |
2020-11-04 06:06:53 +0100 | jrqc | (~rofl@96.78.87.197) |
2020-11-04 06:07:09 +0100 | <ski> | i guess you could possibly make an overloaded operation that takes operations from the dictionary and passes them explicitly to a foreignly imported operation |
2020-11-04 06:07:30 +0100 | <ski> | omit it, where ? in a type signature ? |
2020-11-04 06:08:54 +0100 | <bqv> | yes, say `instance MyClass MyA b where member = myForeignImport` |
2020-11-04 06:09:16 +0100 | <ski> | where `member' has what type ? |
2020-11-04 06:09:32 +0100 | <bqv> | b |
2020-11-04 06:09:40 +0100 | <bqv> | oh |
2020-11-04 06:09:51 +0100 | <ski> | also, `MyClass MyA b' doesn't seem to satisfy the FD `a -> b' on `MyClass a b' |
2020-11-04 06:10:20 +0100 | <bqv> | can't b be inferred? |
2020-11-04 06:10:20 +0100 | <ski> | (unless maybe if the kind of `b' only admits one possibility, being a singleton kind) |
2020-11-04 06:11:04 +0100 | <ski> | if you say `instance MyClass MyA b where ...' you're claiming that, for all `b's, `MyClass MyA b' is an instance |
2020-11-04 06:11:18 +0100 | <bqv> | right, implicit forall |
2020-11-04 06:11:42 +0100 | <bqv> | darn. |
2020-11-04 06:11:47 +0100 | <bqv> | guess i'll do it the boring way |
2020-11-04 06:13:09 +0100 | <ski> | hm. i was thinking maybe you could do `instance MyClass MyA _ where ...', using `PartialTypeSignatures', but it seems that's not allowed |
2020-11-04 06:13:52 +0100 | <bqv> | heh |
2020-11-04 06:13:56 +0100 | Tario | (~Tario@201.192.165.173) |
2020-11-04 06:14:41 +0100 | irc_user | (uid423822@gateway/web/irccloud.com/x-mlbnqpkqljzoxqfd) (Quit: Connection closed for inactivity) |
2020-11-04 06:15:55 +0100 | Saukk | (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection) |
2020-11-04 06:18:10 +0100 | <ski> | (hm, also it seems it doesn't work, if `b' is a `data' kind with just one (parameterless) constructor) |
2020-11-04 06:18:42 +0100 | Lycurgus | (~niemand@98.4.97.110) (Quit: Exeunt) |
2020-11-04 06:19:14 +0100 | <bqv> | data as opposed to * ? |
2020-11-04 06:19:17 +0100 | <bqv> | first i've seen |
2020-11-04 06:19:22 +0100 | <ski> | yes |
2020-11-04 06:19:31 +0100 | <bqv> | what do they signify? |
2020-11-04 06:20:02 +0100 | jedws | (~jedws@101.184.150.81) |
2020-11-04 06:20:48 +0100 | <ski> | can be used to "tag" (GADT) `data' constructors, e.g. to indicate some kind of "state" or current "mode" in which something is used |
2020-11-04 06:21:13 +0100 | <ski> | you should probably first look into `GADTs' |
2020-11-04 06:21:26 +0100 | <bqv> | hm, i see |
2020-11-04 06:21:47 +0100 | <bqv> | i've seen GADTs before, just not solid on the theoretical background |
2020-11-04 06:21:51 +0100 | jedws | (~jedws@101.184.150.81) (Client Quit) |
2020-11-04 06:22:52 +0100 | <ski> | a very simple example could be an indexed state monad, which keeps track of (in the types) whether something is "open" or "closed". certain state-operations can only be done in certain states |
2020-11-04 06:24:32 +0100 | <ski> | (there are nicer examples, but i can't recall any, off the top of my head, atm) |
2020-11-04 06:24:57 +0100 | <bqv> | np :) |
2020-11-04 06:26:59 +0100 | <ski> | hm, i guess another example is to have a finite map, where the values associated with different keys, in the same map, can have different types. each key will know the type of the corresponding value |
2020-11-04 06:28:06 +0100 | <ski> | (or more generally, each key determines a "tag", and you have a value type that given a tag determines what type the corresponding value will have. so the tag doesn't have to be the value type itself, but it could determine it) |
2020-11-04 06:28:32 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 06:28:37 +0100 | <bqv> | hm |
2020-11-04 06:29:22 +0100 | <ski> | @hackage dependent-map |
2020-11-04 06:29:22 +0100 | <lambdabot> | https://hackage.haskell.org/package/dependent-map |
2020-11-04 06:30:30 +0100 | <ski> | the key type will generally be a GADT, and the value type could also be one. `Identity' is another common choice for it |
2020-11-04 06:33:08 +0100 | <bqv> | heh, obsidian systems. i know of them from another context |
2020-11-04 06:33:11 +0100 | dbmikus_ | (~dbmikus@76.167.86.219) |
2020-11-04 06:33:13 +0100 | <ski> | so if you have `data Key :: * -> * where Name :: Key String; Address :: Key String; Age :: Key Int' then `DMap Key Identity' can have at most three associations. one mapping `Name' to a `String' value, one mapping `Address' to a `String' value, and one mapping `Age' to an `Int' value |
2020-11-04 06:33:25 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds) |
2020-11-04 06:34:04 +0100 | <ski> | (in this case the "tag" is just an ordinary (concrete) type, of kind `*'. so this is not an example of `DataKinds') |
2020-11-04 06:35:32 +0100 | <bqv> | i follow, vaguely enough |
2020-11-04 06:35:43 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2020-11-04 06:37:51 +0100 | <ski> | `DMap' is a way to have a "heterogenous" finite map. `DMap k v' is roughly `[exists i. (k i,v i)]' (except more efficient, presumably using a search tree instead of a list), where the index `i' is the "tag", each different association pair can have a different `i' |
2020-11-04 06:37:59 +0100 | dbmikus_ | (~dbmikus@76.167.86.219) (Ping timeout: 258 seconds) |
2020-11-04 06:39:02 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 06:40:45 +0100 | <ski> | by pattern-matching on the value of `GADT' `k i', we can recover `i', discovering which specific index/tag was used in an association. this happens when we compare the given key with the keys in the map, discovering the `i's are the same, in case the two keys are equal |
2020-11-04 06:41:45 +0100 | day_ | (~Unknown@unaffiliated/day) |
2020-11-04 06:43:58 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-11-04 06:44:32 +0100 | acidjnk_new2 | (~acidjnk@p200300d0c718f623213d210801ac68e4.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-11-04 06:44:49 +0100 | day | (~Unknown@unaffiliated/day) (Ping timeout: 246 seconds) |
2020-11-04 06:44:49 +0100 | day_ | day |
2020-11-04 06:45:40 +0100 | elliott__ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
2020-11-04 06:49:12 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 06:49:50 +0100 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 264 seconds) |
2020-11-04 06:49:56 +0100 | jbox | (~atlas@unaffiliated/jbox) |
2020-11-04 06:51:34 +0100 | pfurla | (~pfurla@ool-182ed2e2.dyn.optonline.net) |
2020-11-04 06:54:28 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-11-04 06:54:32 +0100 | guest1334598235 | (83e40215@131.228.2.21) |
2020-11-04 06:55:27 +0100 | tsdgeos | (~tsdgeos@195.140.213.38) (Remote host closed the connection) |
2020-11-04 06:55:56 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving) |
2020-11-04 06:59:18 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 07:04:05 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-11-04 07:05:31 +0100 | hackage | generic-functor 0.2.0.0 - Deriving generalized functors with GHC.Generics https://hackage.haskell.org/package/generic-functor-0.2.0.0 (lyxia) |
2020-11-04 07:07:13 +0100 | hiroaki_ | (~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) |
2020-11-04 07:08:39 +0100 | hiroaki | (~hiroaki@ip4d176049.dynamic.kabel-deutschland.de) (Ping timeout: 258 seconds) |
2020-11-04 07:09:29 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 07:10:45 +0100 | Rudd0 | (~Rudd0@185.189.115.108) (Ping timeout: 256 seconds) |
2020-11-04 07:14:18 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-11-04 07:16:05 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-04 07:19:43 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 07:20:48 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2020-11-04 07:24:22 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds) |
2020-11-04 07:28:54 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2020-11-04 07:29:03 +0100 | mbomba | (~mbomba@bras-base-toroon2719w-grc-49-142-114-9-241.dsl.bell.ca) (Quit: WeeChat 2.9) |
2020-11-04 07:30:14 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 07:33:02 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-11-04 07:35:21 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-11-04 07:36:30 +0100 | Jeanne-Kamikaze | (~Jeanne-Ka@68.235.43.110) (Quit: Leaving) |
2020-11-04 07:46:01 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-104-94.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2020-11-04 07:48:25 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
2020-11-04 07:48:44 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-104-94.w86-212.abo.wanadoo.fr) |
2020-11-04 07:52:50 +0100 | zhenchaoli | (~user@2601:641:8000:4f00:955e:b059:4f08:2b29) (Ping timeout: 264 seconds) |
2020-11-04 07:54:23 +0100 | zhenchaoli | (~user@2601:641:8000:4f00:955e:b059:4f08:2b29) |
2020-11-04 07:55:16 +0100 | elliott__ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-04 07:55:22 +0100 | Katarushisu | (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 256 seconds) |
2020-11-04 07:55:54 +0100 | <bqv> | TIL: it's possible to write a file between the time GHC attempts to compile it and displays the error, so the displayed code doesn't match the error it shows |
2020-11-04 07:59:46 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2020-11-04 08:00:04 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-104-94.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2020-11-04 08:00:36 +0100 | elliott__ | (~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 265 seconds) |
2020-11-04 08:03:22 +0100 | idhugo | (~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) |
2020-11-04 08:05:37 +0100 | dbmikus_ | (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
2020-11-04 08:06:51 +0100 | mmohammadi9812 | (~mmohammad@188.210.118.100) (Read error: Connection reset by peer) |
2020-11-04 08:08:49 +0100 | idhugo | (~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds) |
2020-11-04 08:09:29 +0100 | mmohammadi9812 | (~mmohammad@80.210.50.162) |
2020-11-04 08:10:29 +0100 | knupfer | (~Thunderbi@i5E86B46C.versanet.de) |
2020-11-04 08:11:47 +0100 | mananamenos | (~mananamen@84.122.202.215.dyn.user.ono.com) |
2020-11-04 08:13:12 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2020-11-04 08:14:22 +0100 | berberman_ | (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
2020-11-04 08:14:49 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2020-11-04 08:14:55 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-04 08:15:13 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-04 08:17:20 +0100 | <suzu_> | big unlucky |
2020-11-04 08:17:35 +0100 | <bqv> | oh no it was fine, i noticed it instantly |
2020-11-04 08:19:36 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 08:20:01 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2020-11-04 08:22:14 +0100 | gtk | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2020-11-04 08:22:26 +0100 | alp | (~alp@2a01:e0a:58b:4920:99ca:9a50:cea9:e213) |
2020-11-04 08:22:45 +0100 | mmohammadi9812 | (~mmohammad@80.210.50.162) (Ping timeout: 240 seconds) |
2020-11-04 08:23:06 +0100 | mmohammadi9812 | (~mmohammad@2.178.222.196) |
2020-11-04 08:24:46 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 265 seconds) |
2020-11-04 08:25:06 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 08:25:15 +0100 | dbmikus_ | (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 265 seconds) |
2020-11-04 08:26:18 +0100 | chaosmasttter | (~chaosmast@p200300c4a7117c01215e340256877fbe.dip0.t-ipconnect.de) |
2020-11-04 08:29:05 +0100 | <gtk> | What is: 'type instance' in 'type instance G.Mutable Vector = MVector' ? |
2020-11-04 08:30:05 +0100 | <opqdonut> | type families |
2020-11-04 08:30:11 +0100 | <suzu_> | it means that the type 'G.Mutable Vector' resolves to 'MVector' |
2020-11-04 08:30:27 +0100 | <opqdonut> | it's a language extension that lets you, basically, define type-level functions |
2020-11-04 08:30:32 +0100 | <suzu_> | ^ |
2020-11-04 08:30:45 +0100 | porvak | (~porvak@84.39.116.180) |
2020-11-04 08:32:12 +0100 | <gtk> | So G.Mutable is a type function which takes in Vector and output MVector? |
2020-11-04 08:32:18 +0100 | guest1334598235 | (83e40215@131.228.2.21) (Remote host closed the connection) |
2020-11-04 08:33:51 +0100 | kish` | (~oracle@unaffiliated/oracle) |
2020-11-04 08:35:12 +0100 | yoneda | (~mike@193.206.102.122) |
2020-11-04 08:35:31 +0100 | hackage | protocol-buffers-descriptor 2.4.16 - Text.DescriptorProto.Options and code generated from the Google Protocol Buffer specification https://hackage.haskell.org/package/protocol-buffers-descriptor-2.4.16 (k_bx) |
2020-11-04 08:35:34 +0100 | <opqdonut> | gtk: yeah |
2020-11-04 08:35:45 +0100 | <gtk> | opqdonut: and then 'data family MVector s a'. |
2020-11-04 08:36:05 +0100 | kish | (~oracle@unaffiliated/oracle) (Ping timeout: 240 seconds) |
2020-11-04 08:36:22 +0100 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 265 seconds) |
2020-11-04 08:36:22 +0100 | <gtk> | opqdonut: Can I understand that MVector is also a type level function? |
2020-11-04 08:36:31 +0100 | hackage | protocol-buffers 2.4.16, hprotoc 2.4.16 (k_bx): https://qbin.io/wu-ms-aaza |
2020-11-04 08:36:35 +0100 | <opqdonut> | yeah |
2020-11-04 08:36:50 +0100 | <gtk> | which takes in s and a and produces a new type? |
2020-11-04 08:36:52 +0100 | <opqdonut> | except now it's a _data_ family, not a _type_ family, which is slightly different |
2020-11-04 08:37:08 +0100 | <opqdonut> | yeah, exactly, the difference is that it results in a new type, not an existing type |
2020-11-04 08:37:17 +0100 | <gtk> | i see! |
2020-11-04 08:37:58 +0100 | kish` | (~oracle@unaffiliated/oracle) (Read error: Connection reset by peer) |
2020-11-04 08:38:25 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-04 08:38:30 +0100 | linker | (~linker@185.12.21.77) |
2020-11-04 08:39:09 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 08:49:32 +0100 | <int-e> | > let step m d = M.fromListWith (+) $ do (v,n) <- M.assocs m; [(v,n),(v+d,n)] in foldl step (M.singleton 0 1) [55,38,29,29,20,20,18,16,16,15,14,13,12,11,11,11,11,10,10,10,10,9,9,9,8,8,7,7,7,6,6,6,6,6,6,5,5,5,4,4,4,4,4,3,3,3,3,3,3,3,3] M.! 269 |
2020-11-04 08:49:35 +0100 | <lambdabot> | 16976480564070 |
2020-11-04 08:49:56 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2020-11-04 08:50:24 +0100 | Katarushisu | (~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) |
2020-11-04 08:53:44 +0100 | tdhttt | (~tdhttt@2600:8802:2203:2500:7dae:b2c2:4784:ea3f) (Ping timeout: 240 seconds) |
2020-11-04 08:54:44 +0100 | dhouthoo | (~dhouthoo@ptr-eiv6509pb4ifhdr9lsd.18120a2.ip6.access.telenet.be) |
2020-11-04 08:55:29 +0100 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-11-04 08:56:08 +0100 | tdhttt | (~tdhttt@89.45.90.161) |
2020-11-04 08:58:17 +0100 | johnstein | (~johnstein@192.73.239.18) (Ping timeout: 258 seconds) |
2020-11-04 08:58:51 +0100 | johnstein | (~johnstein@192.73.239.18) |
2020-11-04 08:59:17 +0100 | zhenchaoli | (~user@2601:641:8000:4f00:955e:b059:4f08:2b29) (Ping timeout: 260 seconds) |
2020-11-04 09:00:35 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2020-11-04 09:00:47 +0100 | jbox | (~atlas@unaffiliated/jbox) (Quit: WeeChat 2.9) |
2020-11-04 09:00:57 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-04 09:01:46 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Remote host closed the connection) |
2020-11-04 09:02:02 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-04 09:02:34 +0100 | brodie | (~brodie@207.53.253.137) (Quit: brodie) |
2020-11-04 09:04:53 +0100 | Sanchayan | (~Sanchayan@2401:4900:33b4:be84:783e:93bf:dec8:5aeb) |
2020-11-04 09:05:12 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
2020-11-04 09:05:13 +0100 | Amras | (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds) |
2020-11-04 09:05:30 +0100 | kuribastard | (~user@ptr-25vy0iakqbc7il70x5a.18120a2.ip6.access.telenet.be) |
2020-11-04 09:09:13 +0100 | knupfer | (~Thunderbi@i5E86B46C.versanet.de) (Ping timeout: 260 seconds) |
2020-11-04 09:09:38 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2020-11-04 09:12:22 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) |
2020-11-04 09:14:43 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-04 09:19:00 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2020-11-04 09:21:28 +0100 | Sgeo | (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer) |
2020-11-04 09:21:49 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
2020-11-04 09:22:18 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-11-04 09:23:21 +0100 | idhugo | (~idhugo@users-1190.st.net.au.dk) |
2020-11-04 09:26:17 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-04 09:29:49 +0100 | chele | (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) |
2020-11-04 09:30:07 +0100 | borne | (~fritjof@200116b864d4e2005d0cb1433c5d4cbb.dip.versatel-1u1.de) |
2020-11-04 09:31:17 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 09:31:45 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Read error: Connection reset by peer) |
2020-11-04 09:32:20 +0100 | britva | (~britva@2a02:aa13:7240:2980:292a:d07d:3ab9:26ba) |
2020-11-04 09:33:51 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2020-11-04 09:38:04 +0100 | gtk | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds) |
2020-11-04 09:39:41 +0100 | MindlessDrone | (~MindlessD@unaffiliated/mindlessdrone) (Ping timeout: 258 seconds) |
2020-11-04 09:41:19 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 09:42:27 +0100 | porvak | (~porvak@84.39.116.180) (Remote host closed the connection) |
2020-11-04 09:43:49 +0100 | MindlessDrone | (~MindlessD@unaffiliated/mindlessdrone) |
2020-11-04 09:45:47 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) |
2020-11-04 09:46:29 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-11-04 09:50:58 +0100 | bliminse | (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) (Ping timeout: 256 seconds) |
2020-11-04 09:51:18 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov) |
2020-11-04 09:51:35 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) |
2020-11-04 09:51:57 +0100 | bliminse | (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) |
2020-11-04 09:52:40 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) () |
2020-11-04 09:53:13 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) |
2020-11-04 09:53:21 +0100 | alp | (~alp@2a01:e0a:58b:4920:99ca:9a50:cea9:e213) (Remote host closed the connection) |
2020-11-04 09:53:34 +0100 | <bqv> | gosh it's remarkably hard to make the impossible happen |
2020-11-04 09:53:36 +0100 | alp | (~alp@2a01:e0a:58b:4920:3d11:8aac:3a15:f482) |
2020-11-04 09:53:52 +0100 | <bqv> | ghc: panic! Loading temp shared object failed |
2020-11-04 09:56:04 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit) |
2020-11-04 09:57:22 +0100 | <idnar> | bqv: reminds me of that ghc bug where if typechecking failed it would delete the source file |
2020-11-04 09:57:31 +0100 | <bqv> | D: |
2020-11-04 09:57:36 +0100 | <bqv> | that sounds AWFUL |
2020-11-04 09:57:51 +0100 | <merijn> | to be fair, that was never released :p |
2020-11-04 09:58:04 +0100 | <bqv> | phew |
2020-11-04 09:58:18 +0100 | <dminuoso> | bqv: No it's quite good actually |
2020-11-04 09:58:28 +0100 | <dminuoso> | What better way to force you to write good code. |
2020-11-04 09:58:38 +0100 | <dminuoso> | It either does the right thing or not exist at all! |
2020-11-04 09:58:45 +0100 | <bqv> | how very ..rusian |
2020-11-04 09:58:49 +0100 | m0rphism | (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) |
2020-11-04 09:59:28 +0100 | <[exa]> | "make bad code irrepresentable" has never gone further! |
2020-11-04 09:59:32 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 09:59:57 +0100 | nefercheprure | (tma@twin.jikos.cz) |
2020-11-04 10:00:05 +0100 | <dminuoso> | Also it ensures you never leave your working free in an uncompilable state. |
2020-11-04 10:00:18 +0100 | nefercheprure | (tma@twin.jikos.cz) (Client Quit) |
2020-11-04 10:00:28 +0100 | <dminuoso> | Can we bring it back in? |
2020-11-04 10:00:29 +0100 | <[exa]> | is this the future? |
2020-11-04 10:00:36 +0100 | pavonia | (~user@unaffiliated/siracusa) (Quit: Bye!) |
2020-11-04 10:00:41 +0100 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
2020-11-04 10:02:07 +0100 | <[exa]> | dminuoso: not everyone will really like it, I suggest -XPenance |
2020-11-04 10:02:53 +0100 | <bqv> | -fno-sacrilege |
2020-11-04 10:03:26 +0100 | <[exa]> | :] |
2020-11-04 10:04:34 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds) |
2020-11-04 10:05:40 +0100 | <maerwald> | merijn: prelude made it impossible to ship that patch |
2020-11-04 10:05:49 +0100 | notnatebtw | (~nate@125.161.131.218) (Quit: WeeChat 2.9) |
2020-11-04 10:07:52 +0100 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) |
2020-11-04 10:09:24 +0100 | thc202 | (~thc202@unaffiliated/thc202) |
2020-11-04 10:09:42 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 10:09:56 +0100 | fendor | (~fendor@77.119.128.11.wireless.dyn.drei.com) |
2020-11-04 10:14:29 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds) |
2020-11-04 10:16:50 +0100 | Sanchayan | (~Sanchayan@2401:4900:33b4:be84:783e:93bf:dec8:5aeb) (Ping timeout: 264 seconds) |
2020-11-04 10:17:04 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Remote host closed the connection) |
2020-11-04 10:17:20 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) |
2020-11-04 10:19:55 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 10:21:06 +0100 | Franciman | (~francesco@host-79-36-167-172.retail.telecomitalia.it) |
2020-11-04 10:22:30 +0100 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection) |
2020-11-04 10:23:52 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Quit: WeeChat 2.9) |
2020-11-04 10:24:20 +0100 | <dminuoso> | [exa]: Will it be part of glasgow-exts? |
2020-11-04 10:24:41 +0100 | __monty__ | (~toonn@unaffiliated/toonn) |
2020-11-04 10:24:50 +0100 | <dminuoso> | Also, perhaps we could enable it by default with TypeInType |
2020-11-04 10:25:08 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 272 seconds) |
2020-11-04 10:26:53 +0100 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
2020-11-04 10:29:14 +0100 | <typetetris> | Is there a compiler/rts option to always open stdin and the like in binary mode? |
2020-11-04 10:30:01 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 10:31:27 +0100 | kritzefitz | (~kritzefit@p200300ecdf05be00f1ae985ba6d99bb3.dip0.t-ipconnect.de) |
2020-11-04 10:32:15 +0100 | kritzefitz | (~kritzefit@p200300ecdf05be00f1ae985ba6d99bb3.dip0.t-ipconnect.de) (Client Quit) |
2020-11-04 10:34:00 +0100 | bliminse | (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) (Ping timeout: 272 seconds) |
2020-11-04 10:34:23 +0100 | bliminse | (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) |
2020-11-04 10:34:43 +0100 | <nshepperd> | sounds like https://github.com/munificent/vigil |
2020-11-04 10:35:16 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 265 seconds) |
2020-11-04 10:36:25 +0100 | <merijn> | typetetris: Eh...there is no such thing? |
2020-11-04 10:36:36 +0100 | <merijn> | typetetris: Do you mean unbuffered, maybe? |
2020-11-04 10:36:56 +0100 | Lycurgus | (~niemand@98.4.97.110) |
2020-11-04 10:37:20 +0100 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection) |
2020-11-04 10:40:10 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 10:41:09 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Read error: Connection reset by peer) |
2020-11-04 10:41:25 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 10:42:02 +0100 | <__monty__> | Or maybe raw or cbreak terminal mode? |
2020-11-04 10:43:56 +0100 | <merijn> | Way to flex that obscure pseudo-terminal knowledge :p |
2020-11-04 10:44:16 +0100 | daydaynatation | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2020-11-04 10:44:52 +0100 | <typetetris> | `https://hackage.haskell.org/package/base-4.14.0.0/docs/System-IO.html#v:hSetBinaryMode` |
2020-11-04 10:45:50 +0100 | <__monty__> | merijn: That's what happens when you arm people with APUE : ) |
2020-11-04 10:45:52 +0100 | <typetetris> | Just had a pesky problem, where a program failed writing to stdout as the encoding associated with stdout was not able to represent all chars. An alternative to binary mode would be, to an encoding with replacement chars as default. |
2020-11-04 10:46:25 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds) |
2020-11-04 10:46:34 +0100 | <merijn> | Or setting the right encoding? :p |
2020-11-04 10:46:53 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-11-04 10:46:58 +0100 | <arahael> | How would binary mode fix that? |
2020-11-04 10:47:13 +0100 | <typetetris> | arahael: binary mode sets char8 as encoding, which never fails. |
2020-11-04 10:47:22 +0100 | <arahael> | typetetris: So it corrupts the data? |
2020-11-04 10:47:36 +0100 | <typetetris> | merijn: Yes. We tried. Didn't work. with-utf8 was the rescue. |
2020-11-04 10:51:05 +0100 | idhugo | (~idhugo@users-1190.st.net.au.dk) (Quit: Leaving) |
2020-11-04 10:51:35 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 10:51:43 +0100 | <tomsmeding> | typetetris: does it work if you redirect the output to a file? So keep stdout in the usual text mode, but avoid actually writing it to the terminal |
2020-11-04 10:52:06 +0100 | <tomsmeding> | (i.e. is haskell the problem or the terminal) |
2020-11-04 10:53:01 +0100 | <merijn> | typetetris: eh, char8 doesn't fail, it just corrupts your output :p |
2020-11-04 10:53:19 +0100 | <merijn> | typetetris: What are you outputting and to what? |
2020-11-04 10:53:24 +0100 | <typetetris> | tomsmeding: We had a clear `<stdout>: invalid argument (invalid character)` exception. So the handle being set to an encoding not able to handle the output was the culprit. |
2020-11-04 10:53:48 +0100 | <tomsmeding> | haskell threw that exception? ah |
2020-11-04 10:53:50 +0100 | <maerwald> | ah I remeber that, you have to force encoding in your main, there's a ghc ticket |
2020-11-04 10:53:50 +0100 | <typetetris> | merijn: Log output to be consumed by human readers. A replacement char here and there doesn't hurt. |
2020-11-04 10:54:00 +0100 | <typetetris> | tomsmeding: yes |
2020-11-04 10:54:47 +0100 | <tomsmeding> | what maerwald said, or perhaps (to avoid changing your program) pipe the output of your program through another program first that fixes up invalid characters (that may or may not work) |
2020-11-04 10:54:47 +0100 | spamlessj | (~spamlessj@2a01:4f8:141:1329::2) (Ping timeout: 272 seconds) |
2020-11-04 10:54:52 +0100 | <merijn> | I mean, you can just use the IO functions from ByteString to write out stuff |
2020-11-04 10:54:54 +0100 | <tomsmeding> | (not sure about windows' semantics in that regard) |
2020-11-04 10:54:56 +0100 | haasn` | (~nand@mpv/developer/haasn) |
2020-11-04 10:55:02 +0100 | raid_ | (macbookpro@irc-1.coding4.coffee) |
2020-11-04 10:55:05 +0100 | <typetetris> | maerwald: And remember not only to use `setLocalEncoding` but also `hSetEncoding` (or some such) on all three `stdin`, `stdout` and `stderr`. That is at least unexpected for the haskell beginner comming from c :) |
2020-11-04 10:55:07 +0100 | sphalerite | (~sphalerit@NixOS/user/lheckemann) (Ping timeout: 260 seconds) |
2020-11-04 10:55:07 +0100 | raid | (macbookpro@irc-1.coding4.coffee) (Ping timeout: 260 seconds) |
2020-11-04 10:55:25 +0100 | immae | (~immae@2a01:4f8:141:53e7::) (Ping timeout: 272 seconds) |
2020-11-04 10:55:52 +0100 | <typetetris> | merijn: Thats true. It is an existing codebase and up to now, there hasn't been fancy chars in the output. |
2020-11-04 10:56:03 +0100 | dxld | (~dxld@2a01:4f8:201:89ff:7479:df6a:7ab8:8305) (Ping timeout: 272 seconds) |
2020-11-04 10:56:03 +0100 | yorick | (~yorick@oftn/oswg-member/yorick) (Ping timeout: 272 seconds) |
2020-11-04 10:56:03 +0100 | haasn | (~nand@mpv/developer/haasn) (Ping timeout: 272 seconds) |
2020-11-04 10:56:03 +0100 | Blkt | (~Blkt@2a01:4f8:200:2425::adda) (Ping timeout: 272 seconds) |
2020-11-04 10:56:03 +0100 | i7c | (C10NftuPJ8@unaffiliated/i7c) (Ping timeout: 272 seconds) |
2020-11-04 10:56:03 +0100 | bwe_ | (~bwe@2a01:4f8:1c1c:4878::2) (Ping timeout: 272 seconds) |
2020-11-04 10:56:09 +0100 | <dminuoso> | typetetris: Set the correct locale? |
2020-11-04 10:56:18 +0100 | BjarniRunar1 | (~BjarniRun@84.39.116.180) |
2020-11-04 10:56:21 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds) |
2020-11-04 10:56:49 +0100 | dxld | (~dxld@80-109-136-248.cable.dynamic.surfer.at) |
2020-11-04 10:57:02 +0100 | <maerwald> | typetetris: https://gitlab.haskell.org/ghc/ghc/-/issues/8118 |
2020-11-04 10:57:05 +0100 | bwe | (~bwe@unaffiliated/bwe) |
2020-11-04 10:57:06 +0100 | <tomsmeding> | I have a hard time believing that bytestring IO functions will avoid this exception |
2020-11-04 10:57:10 +0100 | Blkt | (~Blkt@2a01:4f8:200:2425::adda) |
2020-11-04 10:57:11 +0100 | <typetetris> | dminuoso: The program is sadly called in a convoluted process and our attempts to push `LANG` and `LC_CTYPE` settings to it failed. I know, thats bad, but it is what it is. |
2020-11-04 10:57:14 +0100 | sphalerite | (~sphalerit@NixOS/user/lheckemann) |
2020-11-04 10:57:19 +0100 | immae | (~immae@2a01:4f8:141:53e7::) |
2020-11-04 10:57:29 +0100 | <maerwald> | This is a ghc bug |
2020-11-04 10:57:31 +0100 | <typetetris> | tomsmeding: Yes. |
2020-11-04 10:57:41 +0100 | haasn` | haasn |
2020-11-04 10:57:44 +0100 | <tomsmeding> | it's not windows? what -- since when has binary mode done anything on unix-like systems? |
2020-11-04 10:58:07 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 10:58:21 +0100 | <dminuoso> | tomsmeding: Perhaps you should focus on unconvolving that process instead? |
2020-11-04 10:58:35 +0100 | <dminuoso> | I mean if the underlying problem is that you cant feed the locale through, then I'd rather fix |
2020-11-04 10:58:37 +0100 | <merijn> | tomsmeding: Why? The ByteString IO functions don't do any encoding/decoding |
2020-11-04 10:58:39 +0100 | <tomsmeding> | typetetris: ^ |
2020-11-04 10:58:44 +0100 | <tomsmeding> | not me dminuoso ;) |
2020-11-04 10:58:45 +0100 | ubert | (~Thunderbi@p200300ecdf1e5334e6b318fffe838f33.dip0.t-ipconnect.de) |
2020-11-04 10:58:53 +0100 | daydaynatation | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds) |
2020-11-04 10:58:58 +0100 | <dminuoso> | oh. |
2020-11-04 10:59:45 +0100 | daydaynatation | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2020-11-04 10:59:53 +0100 | <typetetris> | dminuoso: Time pressure and other not so good reasons. |
2020-11-04 11:00:20 +0100 | Rudd0 | (~Rudd0@185.189.115.103) |
2020-11-04 11:00:43 +0100 | <dminuoso> | "Let's finish this bridge" - "But we the supports are not strong enough to hold it" - "We're already lagging behind, let's open it now and fix it later" |
2020-11-04 11:01:23 +0100 | <tomsmeding> | merijn: I was confused as to where in the stack the error was actually thrown, I stand corrected |
2020-11-04 11:01:23 +0100 | todda7 | (~torstein@ppp-2-84-30-242.home.otenet.gr) (Read error: Connection reset by peer) |
2020-11-04 11:01:30 +0100 | <maerwald> | most of the time programmers don't code anything really important, which is why our engineering practices are shite |
2020-11-04 11:01:36 +0100 | <dminuoso> | typetetris: Are you, by any chance, operating inside docker containers? |
2020-11-04 11:01:39 +0100 | todda7 | (~torstein@ppp-2-84-30-242.home.otenet.gr) |
2020-11-04 11:01:58 +0100 | <typetetris> | dminuoso: Not that I know of. But I also don't know the whole process. |
2020-11-04 11:02:01 +0100 | <dminuoso> | maerwald: And even if they do, human lives lost due to "it was a software issue" is acceptable. |
2020-11-04 11:02:33 +0100 | <maerwald> | dminuoso: no, because as soon as human lives are on the line, you have to comply to standards and regulations |
2020-11-04 11:02:39 +0100 | <dminuoso> | It's as if people have been so desensitized, that it's completely normal that "software is often wrong" and not "programmers make mistakes" |
2020-11-04 11:02:49 +0100 | <dminuoso> | maerwald: Haha, you certainly have not worked in healthcare. |
2020-11-04 11:02:56 +0100 | <maerwald> | dminuoso: automotive. |
2020-11-04 11:03:34 +0100 | <maerwald> | https://en.wikipedia.org/wiki/ISO_26262 |
2020-11-04 11:03:39 +0100 | <dminuoso> | Hospitals are prime examples of IT done *extremely* poorly. If your hospital gets sacked by ransomware, then it's clearly not the fault of shitty IT admins running unpatched exchanges, windows xp machines with the poorest security. |
2020-11-04 11:03:49 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds) |
2020-11-04 11:03:50 +0100 | <dminuoso> | We had a death in Germany just this year because of that. |
2020-11-04 11:04:00 +0100 | <dminuoso> | No heads ever rolled. |
2020-11-04 11:04:01 +0100 | <maerwald> | that's just poorly regulated |
2020-11-04 11:04:19 +0100 | invaser | (~Thunderbi@31.148.23.125) (Quit: invaser) |
2020-11-04 11:05:21 +0100 | invaser | (~Thunderbi@31.148.23.125) |
2020-11-04 11:06:03 +0100 | plutoniix | (~q@175.176.222.7) (Quit: Leaving) |
2020-11-04 11:06:04 +0100 | <dminuoso> | maerwald: Or conversely, data privacy. If you leak half your customer database, you get a slap on the wrist at best |
2020-11-04 11:06:09 +0100 | <dminuoso> | Customers wont even care |
2020-11-04 11:06:17 +0100 | <typetetris> | I still think its a mistake to use `String -> Handle -> IO ()` functions using external environment variables to detect, what actual bytes to write to the handle. I will avoid that in the future. Respecting locale is a thing, only if writing to a terminal, in my opinion. And then it should be ok, to have replacement chars. Shouldn't fail to strange settings of the user. |
2020-11-04 11:06:27 +0100 | <maerwald> | privacy and security is less regulated than safety |
2020-11-04 11:06:27 +0100 | <daydaynatation> | what's the difference between: newtype instance vs. type instance |
2020-11-04 11:06:31 +0100 | <dminuoso> | Clients have very low expectancy of software quality |
2020-11-04 11:06:41 +0100 | <dminuoso> | maerwald: Its not even about regulation, its about client expectancies. |
2020-11-04 11:06:56 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) |
2020-11-04 11:07:01 +0100 | <maerwald> | regulations is the *only* thing that can change the market |
2020-11-04 11:07:20 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-abxtjqjdzzifrxcr) (Quit: Connection closed for inactivity) |
2020-11-04 11:07:47 +0100 | <maerwald> | formal methods is recommended in 26262, but not mandatory... if they made it mandatory, then Porsche, Daimler and co would invest millions into it, just so that they can ship their products |
2020-11-04 11:07:55 +0100 | <typetetris> | maerwald: In germany there is "Mängelhaftung" and if clients would enforce that, most software companies would change there tactics fast. But the clients don't enforce that right *they already have*. |
2020-11-04 11:08:07 +0100 | <typetetris> | s/there/their/ |
2020-11-04 11:08:18 +0100 | <dminuoso> | daydaynatation: Huh.. newtype instance - I didn't even know that was a thing. |
2020-11-04 11:09:10 +0100 | yorick | (~yorick@oftn/oswg-member/yorick) |
2020-11-04 11:09:11 +0100 | <daydaynatation> | dminuoso: lots of it used in the vector package |
2020-11-04 11:09:26 +0100 | <dminuoso> | https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/newtype_deriving.html#a-more-precise-speci… |
2020-11-04 11:09:26 +0100 | i7c | (8Tki2L7DF5@unaffiliated/i7c) |
2020-11-04 11:09:34 +0100 | <dminuoso> | Is the only mention of this I can find |
2020-11-04 11:10:03 +0100 | <daydaynatation> | dminuoso: Data.Vector.Uboxed.Base |
2020-11-04 11:12:09 +0100 | <dminuoso> | daydaynatation: Judging from the ergonomics, Id say that it's an alternate perhaps older way to do GND + via |
2020-11-04 11:12:22 +0100 | <dminuoso> | So I'd say: |
2020-11-04 11:12:25 +0100 | <dminuoso> | newtype instance MVector s () = MV_Unit Int |
2020-11-04 11:12:48 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Quit: WeeChat 2.9) |
2020-11-04 11:14:09 +0100 | <dminuoso> | Yeah no idea. It looks |
2020-11-04 11:14:16 +0100 | <dminuoso> | Undocumented. |
2020-11-04 11:14:44 +0100 | <daydaynatation> | It's pretty hard to understand how the package is designed |
2020-11-04 11:15:58 +0100 | <dminuoso> | daydaynatation: Ah.. I think... this is for associated newtypes |
2020-11-04 11:16:09 +0100 | <dminuoso> | err.. newtype families? |
2020-11-04 11:16:15 +0100 | <dminuoso> | Is that a thing? |
2020-11-04 11:16:24 +0100 | <dminuoso> | A quick skim of ghc suggests its like data instances |
2020-11-04 11:16:26 +0100 | Lycurgus | (~niemand@98.4.97.110) (Quit: Exeunt) |
2020-11-04 11:16:59 +0100 | <dminuoso> | daydaynatation: https://downloads.haskell.org/~ghc/7.6.3/docs/html/users_guide/type-families.html |
2020-11-04 11:17:01 +0100 | <dminuoso> | Indeed |
2020-11-04 11:17:08 +0100 | <dminuoso> | So these are instances of data families |
2020-11-04 11:17:38 +0100 | <dminuoso> | In Data/Vector/Unboxed/Base.hs you can find `data family MVector s a` |
2020-11-04 11:17:52 +0100 | <dminuoso> | `newtype instance MVector s () = MV_Unit Int` then is an instance for that family |
2020-11-04 11:18:08 +0100 | rprije | (~rprije@194-193-168-77.tpgi.com.au) (Ping timeout: 260 seconds) |
2020-11-04 11:18:13 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
2020-11-04 11:18:24 +0100 | <daydaynatation> | so it's the same as data instance MVector s ()...? |
2020-11-04 11:18:49 +0100 | <dminuoso> | Well, except for data vs newtype differences |
2020-11-04 11:19:26 +0100 | <daydaynatation> | i see.. |
2020-11-04 11:19:30 +0100 | <daydaynatation> | that's the key |
2020-11-04 11:19:34 +0100 | <daydaynatation> | thx! |
2020-11-04 11:19:34 +0100 | <dminuoso> | a data family is roughly a type family to an anonymous data type, and apparently you can point it either at an anoymous newtype or data (which is boxed and can have multiple constructors) |
2020-11-04 11:19:54 +0100 | supercoven | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) |
2020-11-04 11:20:26 +0100 | notnatebtw | (~nate@125.161.131.218) |
2020-11-04 11:20:28 +0100 | theorbtwo | (~theorb@cpc81822-swin19-2-0-cust3.3-1.cable.virginm.net) (Ping timeout: 260 seconds) |
2020-11-04 11:21:03 +0100 | LKoen | (~LKoen@53.253.88.92.rev.sfr.net) |
2020-11-04 11:22:31 +0100 | <dminuoso> | % data family Foo a |
2020-11-04 11:22:31 +0100 | <yahb> | dminuoso: |
2020-11-04 11:22:42 +0100 | <dminuoso> | % newtype instance Foo Int = F1 Int |
2020-11-04 11:22:42 +0100 | <yahb> | dminuoso: |
2020-11-04 11:22:47 +0100 | <dminuoso> | % coerce (F1 1) :: Int |
2020-11-04 11:22:47 +0100 | <yahb> | dminuoso: 1 |
2020-11-04 11:23:04 +0100 | <dminuoso> | % data instance Foo Float = F2 Int | F3 Char |
2020-11-04 11:23:04 +0100 | <yahb> | dminuoso: |
2020-11-04 11:23:09 +0100 | <dminuoso> | % coerce (F2 1) :: Int |
2020-11-04 11:23:09 +0100 | <yahb> | dminuoso: ; <interactive>:71:1: error:; * Couldn't match representation of type `Foo Float' with that of `Int' arising from a use of `coerce'; * In the expression: coerce (F2 1) :: Int; In an equation for `it': it = coerce (F2 1) :: Int |
2020-11-04 11:24:13 +0100 | vk3wtf | (~doc@14-202-30-62.static.tpgi.com.au) (Ping timeout: 264 seconds) |
2020-11-04 11:24:30 +0100 | pera | (~pera@unaffiliated/pera) |
2020-11-04 11:24:56 +0100 | <dminuoso> | Well this is cool, thanks daydaynatation! TIL. |
2020-11-04 11:28:01 +0100 | hackage | mysql-haskell 0.8.4.3 - pure haskell MySQL driver https://hackage.haskell.org/package/mysql-haskell-0.8.4.3 (winterland) |
2020-11-04 11:28:41 +0100 | <daydaynatation> | dminuoso: so all these techniques are for generic programming right? |
2020-11-04 11:29:01 +0100 | hackage | mysql-haskell-openssl 0.8.3.1 - TLS support for mysql-haskell package using openssl https://hackage.haskell.org/package/mysql-haskell-openssl-0.8.3.1 (winterland) |
2020-11-04 11:29:14 +0100 | mananamenos_ | (~mananamen@84.122.202.215.dyn.user.ono.com) |
2020-11-04 11:30:10 +0100 | <dminuoso> | daydaynatation: In principle you can get away without data families, you could just create data types manually and them use tyfams or mptc+fundeps |
2020-11-04 11:30:49 +0100 | mananamenos | (~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 264 seconds) |
2020-11-04 11:31:12 +0100 | brodie | (~brodie@207.53.253.137) |
2020-11-04 11:31:52 +0100 | <dminuoso> | daydaynatation: Think of it as an open GADT, perhaps. |
2020-11-04 11:32:04 +0100 | <dminuoso> | (Or similar to it) |
2020-11-04 11:32:41 +0100 | <bqv> | ugh. i figured out the issue |
2020-11-04 11:32:59 +0100 | <bqv> | it's https://github.com/haskell/cabal/issues/7082 |
2020-11-04 11:33:18 +0100 | mmohammadi9812 | (~mmohammad@2.178.222.196) (Ping timeout: 260 seconds) |
2020-11-04 11:33:35 +0100 | mmohammadi9812 | (~mmohammad@2.178.217.171) |
2020-11-04 11:34:22 +0100 | <daydaynatation> | dminuoso: I might not be using these techniques myself but when reading existing code, there are everywhere |
2020-11-04 11:34:30 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) |
2020-11-04 11:35:49 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit) |
2020-11-04 11:35:55 +0100 | vk3wtf | (~doc@203.221.224.44) |
2020-11-04 11:36:06 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) |
2020-11-04 11:36:08 +0100 | <bqv> | dminuoso: heh |
2020-11-04 11:38:30 +0100 | DavidEichmann | (~david@43.240.198.146.dyn.plus.net) |
2020-11-04 11:38:35 +0100 | bliminse | (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) (Ping timeout: 265 seconds) |
2020-11-04 11:38:52 +0100 | mananamenos_ | (~mananamen@84.122.202.215.dyn.user.ono.com) (Read error: Connection reset by peer) |
2020-11-04 11:39:11 +0100 | bliminse | (~bliminse@host109-156-197-211.range109-156.btcentralplus.com) |
2020-11-04 11:41:43 +0100 | supercoven_ | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) |
2020-11-04 11:41:44 +0100 | supercoven_ | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Max SendQ exceeded) |
2020-11-04 11:41:58 +0100 | supercoven_ | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) |
2020-11-04 11:41:59 +0100 | supercoven_ | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Max SendQ exceeded) |
2020-11-04 11:42:13 +0100 | supercoven_ | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) |
2020-11-04 11:42:14 +0100 | supercoven_ | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Max SendQ exceeded) |
2020-11-04 11:42:28 +0100 | supercoven_ | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) |
2020-11-04 11:42:29 +0100 | supercoven_ | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Max SendQ exceeded) |
2020-11-04 11:42:43 +0100 | supercoven_ | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) |
2020-11-04 11:42:44 +0100 | supercoven_ | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (Max SendQ exceeded) |
2020-11-04 11:42:44 +0100 | supercoven | (~Supercove@dsl-hkibng32-54fb54-166.dhcp.inet.fi) (K-Lined) |
2020-11-04 11:47:17 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-04 11:47:19 +0100 | brodie | (~brodie@207.53.253.137) (Quit: brodie) |
2020-11-04 11:48:32 +0100 | acidjnk_new2 | (~acidjnk@p200300d0c718f665213d210801ac68e4.dip0.t-ipconnect.de) |
2020-11-04 11:51:49 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds) |
2020-11-04 11:51:57 +0100 | shatriff | (~vitaliish@176.52.219.10) (Remote host closed the connection) |
2020-11-04 11:52:13 +0100 | shatriff | (~vitaliish@176.52.219.10) |
2020-11-04 11:57:18 +0100 | wwwww | (~wwwww@unaffiliated/wwwww) (Ping timeout: 258 seconds) |
2020-11-04 11:57:29 +0100 | alp | (~alp@2a01:e0a:58b:4920:3d11:8aac:3a15:f482) (Ping timeout: 272 seconds) |
2020-11-04 11:59:37 +0100 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 264 seconds) |
2020-11-04 12:00:09 +0100 | alp | (~alp@2a01:e0a:58b:4920:fc19:3d56:9382:4c56) |
2020-11-04 12:02:01 +0100 | todda7 | (~torstein@ppp-2-84-30-242.home.otenet.gr) (Ping timeout: 264 seconds) |
2020-11-04 12:07:10 +0100 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-11-04 12:10:19 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) |
2020-11-04 12:11:45 +0100 | wwwww | (~wwwww@unaffiliated/wwwww) |
2020-11-04 12:12:35 +0100 | britva | (~britva@2a02:aa13:7240:2980:292a:d07d:3ab9:26ba) (Quit: Leaving) |
2020-11-04 12:17:11 +0100 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
2020-11-04 12:17:55 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) |
2020-11-04 12:20:17 +0100 | alp | (~alp@2a01:e0a:58b:4920:fc19:3d56:9382:4c56) (Ping timeout: 272 seconds) |
2020-11-04 12:21:18 +0100 | todda7 | (~torstein@ppp-2-84-30-242.home.otenet.gr) |
2020-11-04 12:23:22 +0100 | daydaynatation | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 258 seconds) |
2020-11-04 12:25:48 +0100 | knupfer | (~Thunderbi@dynamic-046-114-148-101.46.114.pool.telefonica.de) |
2020-11-04 12:26:18 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov) |
2020-11-04 12:26:31 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) |
2020-11-04 12:27:00 +0100 | hackage | servant-blaze 0.9.1 - Blaze-html support for servant https://hackage.haskell.org/package/servant-blaze-0.9.1 (maksbotan) |
2020-11-04 12:27:42 +0100 | zfnmxt | (~zfnmxt@unaffiliated/zfnmxt) (Quit: Bye!) |
2020-11-04 12:27:45 +0100 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection) |
2020-11-04 12:28:43 +0100 | wwwww | (~wwwww@unaffiliated/wwwww) (Ping timeout: 260 seconds) |
2020-11-04 12:29:11 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit) |
2020-11-04 12:29:27 +0100 | akad_ | (~akad@2a02:a317:223a:2080:c10f:451d:6994:f626) |
2020-11-04 12:29:46 +0100 | zfnmxt | (~zfnmxt@unaffiliated/zfnmxt) |
2020-11-04 12:32:07 +0100 | alp | (~alp@2a01:e0a:58b:4920:6c97:b844:18cb:28a7) |
2020-11-04 12:37:22 +0100 | alp | (~alp@2a01:e0a:58b:4920:6c97:b844:18cb:28a7) (Remote host closed the connection) |
2020-11-04 12:37:41 +0100 | alp | (~alp@2a01:e0a:58b:4920:1dd3:df8f:e85c:9a7d) |
2020-11-04 12:38:00 +0100 | knupfer | (~Thunderbi@dynamic-046-114-148-101.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2020-11-04 12:39:01 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) |
2020-11-04 12:40:56 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 265 seconds) |
2020-11-04 12:41:27 +0100 | zfnmxt | (~zfnmxt@unaffiliated/zfnmxt) (Quit: Bye!) |
2020-11-04 12:42:51 +0100 | <bqv> | i feel like toEnum . fromEnum should be provided by default somewhere |
2020-11-04 12:43:07 +0100 | <bqv> | perhaps not. |
2020-11-04 12:43:34 +0100 | ensyde | (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds) |
2020-11-04 12:44:10 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
2020-11-04 12:47:26 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-11-04 12:48:06 +0100 | zfnmxt | (~zfnmxt@unaffiliated/zfnmxt) |
2020-11-04 12:50:09 +0100 | Deide | (~Deide@217.155.19.23) |
2020-11-04 12:50:46 +0100 | wwwww | (~wwwww@unaffiliated/wwwww) |
2020-11-04 12:51:28 +0100 | akad_ | (~akad@2a02:a317:223a:2080:c10f:451d:6994:f626) (Quit: Leaving) |
2020-11-04 12:52:37 +0100 | chaosmasttter | (~chaosmast@p200300c4a7117c01215e340256877fbe.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-11-04 12:52:56 +0100 | <tomsmeding> | it feels like a dangerously general operation |
2020-11-04 12:54:13 +0100 | <dminuoso> | Id argue Enum in general is dangerous |
2020-11-04 12:54:17 +0100 | <dminuoso> | % :t fromEnum |
2020-11-04 12:54:17 +0100 | <yahb> | dminuoso: Enum a => a -> Int |
2020-11-04 12:54:20 +0100 | <dminuoso> | Err |
2020-11-04 12:54:23 +0100 | <dminuoso> | % :t toEnum |
2020-11-04 12:54:23 +0100 | <yahb> | dminuoso: Enum a => Int -> a |
2020-11-04 12:54:30 +0100 | <dminuoso> | This lacks MonadFail :( |
2020-11-04 12:55:03 +0100 | <tomsmeding> | not sure whether MonadFail is the right thing here, but yes partial function :p |
2020-11-04 12:55:39 +0100 | GUEST1604490921 | (~GUEST1604@124.123.107.91) |
2020-11-04 12:56:20 +0100 | <bqv> | is it realistic to avoid partial functions entirely, in a project of any substantial size? |
2020-11-04 12:57:19 +0100 | <idnar> | http://hackage.haskell.org/package/relude-0.7.0.0/docs/Relude-Extra-Enum.html#v:safeToEnum |
2020-11-04 12:57:36 +0100 | <tomsmeding> | possible, yes, realistic I think no, unless you want to admit a proliferation of data types |
2020-11-04 12:57:54 +0100 | linker_ | (~linker@185.12.21.77) |
2020-11-04 12:58:04 +0100 | <tomsmeding> | if you have a sum type with a number of constructors, and your application gets big enough, you'll have situations where only certain of those constructors are valid in a particular place |
2020-11-04 12:58:05 +0100 | GUEST1604490921 | (~GUEST1604@124.123.107.91) (Read error: Connection reset by peer) |
2020-11-04 12:58:20 +0100 | linker | (~linker@185.12.21.77) (Ping timeout: 265 seconds) |
2020-11-04 12:58:54 +0100 | GUEST1604491118 | (~GUEST1604@124.123.107.91) |
2020-11-04 12:59:02 +0100 | <tomsmeding> | you could make it all total by either adding a new datatype with the constructor subset and converting when the domain restriction happens, or by moving the restrictions to the type level with some GADT trickery |
2020-11-04 12:59:14 +0100 | <bqv> | i wonder if that relude function would even work for me. my enum instances are mostly written for me by c2hs now :| |
2020-11-04 12:59:17 +0100 | <tomsmeding> | both can work on a small scale but at some point it hurts readability/understandability I think |
2020-11-04 12:59:27 +0100 | <bqv> | yeah, agreed |
2020-11-04 12:59:54 +0100 | GUEST1604491118 | (~GUEST1604@124.123.107.91) (Read error: Connection reset by peer) |
2020-11-04 13:00:02 +0100 | BjarniRunar1 | (~BjarniRun@84.39.116.180) () |
2020-11-04 13:00:12 +0100 | GUEST1604491197 | (~GUEST1604@124.123.107.91) |
2020-11-04 13:00:28 +0100 | <tomsmeding> | though perhaps you can attempt to see head/fromMaybe/toEnum as a different "class" of partial functions than the case I described, but that's getting firmly and deeply in the subjective realm :p |
2020-11-04 13:00:52 +0100 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
2020-11-04 13:01:08 +0100 | <bqv> | i actually hit the problem you described earlier |
2020-11-04 13:01:26 +0100 | chaosmasttter | (~chaosmast@p200300c4a7117c01215e340256877fbe.dip0.t-ipconnect.de) |
2020-11-04 13:01:27 +0100 | GUEST1604491197 | (~GUEST1604@124.123.107.91) (Read error: Connection reset by peer) |
2020-11-04 13:01:28 +0100 | <bqv> | my solution was undefined, which is... kinda worse |
2020-11-04 13:01:29 +0100 | <merijn> | Enum is a terrible class anyway :p |
2020-11-04 13:01:37 +0100 | <merijn> | If anything I'd just recommend avoiding Enum :p |
2020-11-04 13:01:43 +0100 | GUEST1604491290 | (~GUEST1604@124.123.107.91) |
2020-11-04 13:02:00 +0100 | <bqv> | as usual, next to impossible if you FFI at all |
2020-11-04 13:02:11 +0100 | kish | (~oracle@unaffiliated/oracle) |
2020-11-04 13:02:27 +0100 | <merijn> | How so? |
2020-11-04 13:03:07 +0100 | <bqv> | C enums would have to be sent back and forth somehow |
2020-11-04 13:03:24 +0100 | <bqv> | any haskell sum type eventually ends up as a number |
2020-11-04 13:03:57 +0100 | <bqv> | you could i guess have checks at every marshal in, but that's no better than Enum with safeToEnum |
2020-11-04 13:04:02 +0100 | <merijn> | I fail to see how that requires the Enum class, though? |
2020-11-04 13:04:25 +0100 | GUEST1604491290 | (~GUEST1604@124.123.107.91) (Read error: Connection reset by peer) |
2020-11-04 13:04:35 +0100 | <bqv> | well what would be an alternative? |
2020-11-04 13:05:52 +0100 | <dminuoso> | bqv: I tend to have my own Enumerable typeclass that adds a MonadFail constraint to toEnum |
2020-11-04 13:05:53 +0100 | GUEST1604491541 | (~GUEST1604@124.123.107.91) |
2020-11-04 13:06:10 +0100 | <dminuoso> | For things where want to keep a mapping to numbers (usually I use this for protocol de/serializatoin) |
2020-11-04 13:06:16 +0100 | <merijn> | Just writing a single function to convert, safeToEnum only works for bounded types and makes a bunch of assumptions about the underlying Enum instance (and I'd be war to make any assumptions of those) |
2020-11-04 13:06:31 +0100 | <dminuoso> | (The reason for using a typeclass is mostly convenience, it could just be plain functions) |
2020-11-04 13:06:43 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
2020-11-04 13:07:02 +0100 | <dminuoso> | And that typeclass is not about *enumerating* from/to, it's just for mapping into something |
2020-11-04 13:07:11 +0100 | <bqv> | oh yeah, just, generally i considered any function to be of vastly the same nature as Enum anyway |
2020-11-04 13:07:47 +0100 | GUEST1604491541 | (~GUEST1604@124.123.107.91) (Remote host closed the connection) |
2020-11-04 13:07:51 +0100 | Tops2 | (~Tobias@dyndsl-095-033-016-001.ewe-ip-backbone.de) |
2020-11-04 13:08:43 +0100 | <dminuoso> | bqv: class (t ~ MappedInto f, Show t) => EnumMapping f where type MappedInto t; mappingTo :: f -> t; mappingFrom :: MonadFail m => t -> m f |
2020-11-04 13:08:46 +0100 | <dminuoso> | Is roughly what I use |
2020-11-04 13:09:52 +0100 | <bqv> | pretty general, fair enough |
2020-11-04 13:09:54 +0100 | <dminuoso> | oh heh, that hsould be `type MappedInto s` |
2020-11-04 13:10:09 +0100 | <dminuoso> | or f, rather. bah, my code is not copy pastable for other reasons |
2020-11-04 13:10:20 +0100 | GUEST91807 | (~GUEST9180@124.123.107.91) |
2020-11-04 13:10:30 +0100 | <bqv> | curious why the Show constraint at that level |
2020-11-04 13:11:02 +0100 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection) |
2020-11-04 13:11:04 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2020-11-04 13:11:52 +0100 | Chi1thangoo | (~Chi1thang@87.112.60.168) |
2020-11-04 13:11:57 +0100 | <merijn> | For the error to MonadFail, presumably |
2020-11-04 13:12:04 +0100 | <dminuoso> | Mmm. Good question, I guess there is no need for it there |
2020-11-04 13:12:15 +0100 | bitmagie | (~Thunderbi@200116b80654c700253602a817d4606f.dip.versatel-1u1.de) |
2020-11-04 13:12:44 +0100 | <dminuoso> | bqv: The reason I have it that general, is because Im writing a protocol library here, so some enums are mapped into Word8, others into Word32, etc.. |
2020-11-04 13:12:53 +0100 | <dminuoso> | (So that helper typeclass is then used in my Get/Put code) |
2020-11-04 13:13:07 +0100 | <bqv> | ah fair |
2020-11-04 13:13:36 +0100 | <dminuoso> | It was either that, or sprinkling fromIntegral left and right, not knowing if I accidentally narrow data. |
2020-11-04 13:13:50 +0100 | <merijn> | Or...just write individual Get/Put operations? >.> |
2020-11-04 13:14:07 +0100 | <dminuoso> | merijn: That would have worked too, of course. The typeclass was really just for convenience. |
2020-11-04 13:14:37 +0100 | <dminuoso> | It reduces some boilerplate in some areas. :) |
2020-11-04 13:14:37 +0100 | GUEST91807 | (~GUEST9180@124.123.107.91) (Ping timeout: 260 seconds) |
2020-11-04 13:14:38 +0100 | <merijn> | dminuoso: The convenience of being unable to have multiple versions in your codebase? >.> |
2020-11-04 13:14:45 +0100 | <dminuoso> | merijn: That's perfectly fine for me. |
2020-11-04 13:14:51 +0100 | <dminuoso> | It's an internal typeclass I dont ever expose. |
2020-11-04 13:15:07 +0100 | <dminuoso> | And these things do *not* ever change |
2020-11-04 13:15:24 +0100 | <bqv> | merijn: as a fan of a strictly typed language, surely you appreciate restriction :D |
2020-11-04 13:15:43 +0100 | <dminuoso> | bqv: No, it's an annoying restriction since if you ever have multiple protocol versions, you need to start using newtype wrappers |
2020-11-04 13:15:56 +0100 | <dminuoso> | But in my case, the protocol is standardized and hasnt changed in 20 years. :p |
2020-11-04 13:16:02 +0100 | <merijn> | You fool! You fell victim to one of the classic blunders - the most famous of which is "never get involved in a land war in Asia" and "Never go in against a Sicilian when death is on the line", but only slightly less well-known is this: "Never use typeclasses for (de)serialisation"! Ha ha ha ha ha ha ha! Ha ha ha ha ha ha ha! |
2020-11-04 13:16:03 +0100 | <dminuoso> | (It was only ever ammended) |
2020-11-04 13:16:07 +0100 | <bqv> | heh |
2020-11-04 13:16:19 +0100 | <dminuoso> | merijn: I dont use typeclasses for get/put itself. |
2020-11-04 13:16:23 +0100 | <dminuoso> | Or actually, that's not true |
2020-11-04 13:16:28 +0100 | <dminuoso> | I have my own Get/Put typeclasses! |
2020-11-04 13:16:30 +0100 | <dminuoso> | Again, for convenience |
2020-11-04 13:16:46 +0100 | <dminuoso> | But I know what price I pay, the cost is lower than the extra effort and annoyance from writing functions instead. |
2020-11-04 13:16:51 +0100 | yoyo | (50a46f47@80-164-111-71-dynamic.dk.customer.tdc.net) |
2020-11-04 13:17:08 +0100 | <dminuoso> | There is ever only a single protocol encoding of `Foo |
2020-11-04 13:17:17 +0100 | <dminuoso> | And, should it ever be different, I can turn it into functions easily |
2020-11-04 13:18:23 +0100 | zfnmxt | (~zfnmxt@unaffiliated/zfnmxt) (Quit: Bye!) |
2020-11-04 13:18:49 +0100 | todda7 | (~torstein@ppp-2-84-30-242.home.otenet.gr) (Ping timeout: 260 seconds) |
2020-11-04 13:20:01 +0100 | hackage | servant-multipart 0.12 - multipart/form-data (e.g file upload) support for servant https://hackage.haskell.org/package/servant-multipart-0.12 (maksbotan) |
2020-11-04 13:20:13 +0100 | zfnmxt | (~zfnmxt@unaffiliated/zfnmxt) |
2020-11-04 13:20:29 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Quit: WeeChat 2.9) |
2020-11-04 13:21:39 +0100 | bitmagie | (~Thunderbi@200116b80654c700253602a817d4606f.dip.versatel-1u1.de) (Quit: bitmagie) |
2020-11-04 13:21:55 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) |
2020-11-04 13:23:26 +0100 | chaosmasttter | (~chaosmast@p200300c4a7117c01215e340256877fbe.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2020-11-04 13:24:30 +0100 | asthasr | (~asthasr@162.210.29.120) |
2020-11-04 13:28:46 +0100 | knupfer | (~Thunderbi@dynamic-046-114-148-101.46.114.pool.telefonica.de) |
2020-11-04 13:30:01 +0100 | bitmagie | (~Thunderbi@200116b80654c700253602a817d4606f.dip.versatel-1u1.de) |
2020-11-04 13:30:17 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2020-11-04 13:31:05 +0100 | asthasr_ | (~asthasr@162.210.29.120) |
2020-11-04 13:31:20 +0100 | asthasr_ | (~asthasr@162.210.29.120) (Client Quit) |
2020-11-04 13:36:40 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) |
2020-11-04 13:36:40 +0100 | knupfer | (~Thunderbi@dynamic-046-114-148-101.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2020-11-04 13:37:18 +0100 | <idnar> | merijn: hahaha |
2020-11-04 13:37:26 +0100 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
2020-11-04 13:38:18 +0100 | bitmagie | (~Thunderbi@200116b80654c700253602a817d4606f.dip.versatel-1u1.de) (Quit: bitmagie) |
2020-11-04 13:38:45 +0100 | <idnar> | @type \f x -> coerce (f (coerce x)) |
2020-11-04 13:38:46 +0100 | <lambdabot> | error: |
2020-11-04 13:38:46 +0100 | <lambdabot> | • Variable not in scope: coerce :: t1 -> t3 |
2020-11-04 13:38:47 +0100 | <lambdabot> | • Perhaps you meant ‘coerced’ (imported from Control.Lens) |
2020-11-04 13:38:49 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-11-04 13:39:07 +0100 | GUEST93534 | (~GUEST9353@124.123.107.91) |
2020-11-04 13:39:11 +0100 | <bqv> | unsafeCoerce? |
2020-11-04 13:39:21 +0100 | bitmagie | (~Thunderbi@200116b80654c700253602a817d4606f.dip.versatel-1u1.de) |
2020-11-04 13:39:28 +0100 | <merijn> | unsafeCoerce is different and, well, unsafe :p |
2020-11-04 13:39:35 +0100 | <idnar> | no, I want the safe one |
2020-11-04 13:39:37 +0100 | <bqv> | thought that was his plan |
2020-11-04 13:39:39 +0100 | <bqv> | fair |
2020-11-04 13:39:42 +0100 | <int-e> | :t Data.Coerce.coerce |
2020-11-04 13:39:43 +0100 | <lambdabot> | Coercible a b => a -> b |
2020-11-04 13:40:10 +0100 | <idnar> | @type \f x -> Data.Coerce.coerce (f (Data.Coerce.coerce x)) |
2020-11-04 13:40:12 +0100 | <lambdabot> | (Coercible a1 b, Coercible a2 t) => (t -> a1) -> a2 -> b |
2020-11-04 13:40:47 +0100 | <merijn> | I think you could juse coerce f? :p |
2020-11-04 13:41:26 +0100 | <merijn> | :t Data.Coerce.coerce :: (Coercible a b, Coercible c d) => (a -> c) -> (b -> d) |
2020-11-04 13:41:28 +0100 | <lambdabot> | error: |
2020-11-04 13:41:28 +0100 | <lambdabot> | Not in scope: type constructor or class ‘Coercible’ |
2020-11-04 13:41:44 +0100 | <merijn> | :t Data.Coerce.coerce :: (Data.Coerce.Coercible a b, Data.Coerce.Coercible c d) => (a -> c) -> (b -> d) |
2020-11-04 13:41:45 +0100 | <lambdabot> | (Coercible a b, Coercible c d) => (a -> c) -> b -> d |
2020-11-04 13:41:48 +0100 | <merijn> | boom |
2020-11-04 13:42:00 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) |
2020-11-04 13:42:04 +0100 | <idnar> | oh yes duh |
2020-11-04 13:42:29 +0100 | <int-e> | @let import Data.Coerce |
2020-11-04 13:42:30 +0100 | <lambdabot> | .L.hs:80:1: error: |
2020-11-04 13:42:31 +0100 | <lambdabot> | Data.Coerce: Can't be safely imported! |
2020-11-04 13:42:31 +0100 | <lambdabot> | The module itself isn't safe. |
2020-11-04 13:42:31 +0100 | chaosmasttter | (~chaosmast@p200300c4a7117c01215e340256877fbe.dip0.t-ipconnect.de) |
2020-11-04 13:42:44 +0100 | <tomsmeding> | safe haskell rears its head! |
2020-11-04 13:42:57 +0100 | <Uniaika> | <3 <3 |
2020-11-04 13:42:58 +0100 | <int-e> | Fun, I thought it was supposed to be safe by now. |
2020-11-04 13:43:06 +0100 | GUEST93534 | (~GUEST9353@124.123.107.91) (Ping timeout: 244 seconds) |
2020-11-04 13:43:08 +0100 | <idnar> | either way, awkward to use without -XTypeApplication I guess |
2020-11-04 13:43:12 +0100 | <Uniaika> | int-e: with a name like that… ? :P |
2020-11-04 13:43:21 +0100 | <int-e> | Uniaika: why not? |
2020-11-04 13:43:27 +0100 | <merijn> | Pretty sure Data.Coerce should be Trustworthy, not Safe |
2020-11-04 13:43:41 +0100 | <int-e> | merijn: well, base *is* trusted |
2020-11-04 13:43:48 +0100 | <Uniaika> | int-e: the name screams "force your hand" :P |
2020-11-04 13:43:56 +0100 | <merijn> | Actually, it's explicitly Unsafe |
2020-11-04 13:44:02 +0100 | <int-e> | merijn: the matter of fact is... that. |
2020-11-04 13:44:09 +0100 | <merijn> | int-e: Package trust and Trustworthy is different |
2020-11-04 13:44:27 +0100 | <int-e> | merijn: package trust means to trust all Trustworthy modules in the package |
2020-11-04 13:44:32 +0100 | <merijn> | trusted packages are "those packages whose Trustworthy modules should be treated as actually trustworth" |
2020-11-04 13:44:46 +0100 | <int-e> | so if it *were* marked Trustworthy, lambdabot would allow it to be imported |
2020-11-04 13:45:25 +0100 | darjeeling_ | (~darjeelin@115.215.43.51) (Ping timeout: 260 seconds) |
2020-11-04 13:46:07 +0100 | <int-e> | you *can* get coerce in lambdabot anyway, via profunctors, but I forgot the precise definition; it was somewhat convoluted. |
2020-11-04 13:46:37 +0100 | yoyo | (50a46f47@80-164-111-71-dynamic.dk.customer.tdc.net) (Remote host closed the connection) |
2020-11-04 13:46:52 +0100 | GUEST93997 | (~GUEST9399@124.123.107.91) |
2020-11-04 13:47:06 +0100 | <int-e> | @let import Data.Profunctor.Unsafe |
2020-11-04 13:47:08 +0100 | <lambdabot> | .L.hs:114:1: error: |
2020-11-04 13:47:08 +0100 | <lambdabot> | Data.Profunctor.Unsafe: Can't be safely imported! |
2020-11-04 13:47:08 +0100 | <lambdabot> | The package (profunctors-5.5.2) the module resides in isn't trusted. |
2020-11-04 13:47:12 +0100 | <int-e> | Ah. |
2020-11-04 13:47:21 +0100 | <int-e> | Okay, I take it back :) |
2020-11-04 13:48:03 +0100 | <int-e> | Uniaika: In any case, *that* module is marked Trustworthy btw... despite the name. |
2020-11-04 13:48:03 +0100 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection) |
2020-11-04 13:48:29 +0100 | darjeeling_ | (~darjeelin@115.215.43.51) |
2020-11-04 13:48:59 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-04 13:49:32 +0100 | <int-e> | (for historic reasons, really... it uses coerce noawadays, to unwrap and rewrap newtypes deep inside data structures, but it used to be based on unsafeCoerce) |
2020-11-04 13:50:54 +0100 | <int-e> | I still expect that coerce is leaked through the lens ecosystem *somewhere*. |
2020-11-04 13:51:21 +0100 | <idnar> | :t coerced |
2020-11-04 13:51:23 +0100 | <lambdabot> | (Profunctor p, Functor f, Coercible s a, Coercible t b) => p a (f b) -> p s (f t) |
2020-11-04 13:51:32 +0100 | acidjnk_new2 | (~acidjnk@p200300d0c718f665213d210801ac68e4.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-11-04 13:51:42 +0100 | <int-e> | oh, that simple. |
2020-11-04 13:51:49 +0100 | <idnar> | :) |
2020-11-04 13:51:53 +0100 | <int-e> | thanks |
2020-11-04 13:52:27 +0100 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) |
2020-11-04 13:52:39 +0100 | Lycurgus | (~niemand@98.4.97.110) |
2020-11-04 13:52:44 +0100 | <idnar> | from just now: <lambdabot> • Perhaps you meant ‘coerced’ (imported from Control.Lens) |
2020-11-04 13:53:05 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
2020-11-04 13:54:34 +0100 | <int-e> | :t \f -> runIdentity . coerced (Identity . f . runIdentity) |
2020-11-04 13:54:36 +0100 | <lambdabot> | (Coercible b1 a, Coercible c b2) => (b1 -> b2) -> a -> c |
2020-11-04 13:55:05 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-11-04 13:55:23 +0100 | justMaD | (~justMaD@184.75.221.35) |
2020-11-04 13:56:06 +0100 | <fendor> | is it just me or is the cabal index pretty big? 800MB in .cabal/packages? |
2020-11-04 13:56:19 +0100 | mdunnio | (~mdunnio@208.59.170.5) |
2020-11-04 13:56:49 +0100 | <idnar> | is Coercible symmetric? |
2020-11-04 13:57:29 +0100 | <int-e> | fendor: yes, but well... it contains all .cabal files every uploaded to hackage, and a bit of extra stuff |
2020-11-04 13:57:53 +0100 | <dcoutts> | fendor: that's uncompressed locally. It only downloads the compressed version which is 90M. |
2020-11-04 13:58:04 +0100 | <int-e> | idnar: yes. |
2020-11-04 13:58:10 +0100 | <fendor> | dcoutts, oh well, on the server it still takes 800mb |
2020-11-04 13:58:12 +0100 | <merijn> | .cabal/package holds all the downloaded tarballs too |
2020-11-04 13:58:13 +0100 | <int-e> | and it's downloaded incrementally |
2020-11-04 13:58:44 +0100 | <int-e> | But for small VPSs it is big. |
2020-11-04 13:58:46 +0100 | GUEST93997 | (~GUEST9399@124.123.107.91) (Read error: Connection reset by peer) |
2020-11-04 13:58:52 +0100 | <fendor> | just by invoking `cabal update` |
2020-11-04 13:59:02 +0100 | <fendor> | but admittedly, cabal 3.0.0.0, maybe something has changed? |
2020-11-04 13:59:13 +0100 | <int-e> | Regardless, this is normal :-/ |
2020-11-04 14:00:10 +0100 | <merijn> | fendor: Well, what would you propose to change about it? |
2020-11-04 14:00:10 +0100 | GUEST94796 | (~GUEST9479@124.123.107.91) |
2020-11-04 14:00:24 +0100 | <merijn> | fendor: You need an index of all packages to do dependency resolution |
2020-11-04 14:00:25 +0100 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
2020-11-04 14:00:30 +0100 | <fendor> | merijn, nothing, I am just asking if that is to be expected |
2020-11-04 14:00:40 +0100 | GUEST94796 | (~GUEST9479@124.123.107.91) (Read error: Connection reset by peer) |
2020-11-04 14:00:49 +0100 | mietek | (sid134071@gateway/web/irccloud.com/x-xdfehjuwjfwgiund) |
2020-11-04 14:01:00 +0100 | <mietek> | Is the new Haskell Foundation website on github somewhere? |
2020-11-04 14:01:02 +0100 | <merijn> | fendor: Well, it has entries and hashes for every package (version) ever released, so...kinda |
2020-11-04 14:01:12 +0100 | <fendor> | not claiming it is bad or anything, I dont know how anyone else does it |
2020-11-04 14:01:18 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov) |
2020-11-04 14:01:32 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) |
2020-11-04 14:01:32 +0100 | urodna | (~urodna@unaffiliated/urodna) |
2020-11-04 14:01:34 +0100 | <fendor> | just wondering, because it seemed huge, but if it is ok, then it is ok |
2020-11-04 14:01:37 +0100 | <dminuoso> | fendor: They all do it the same, really. |
2020-11-04 14:01:41 +0100 | <merijn> | fendor: There doesn't seem to be a lot of reason to even have cabal on machines that aren't compiling, though? |
2020-11-04 14:01:47 +0100 | GUEST94894 | (~GUEST9489@124.123.107.91) |
2020-11-04 14:01:52 +0100 | <merijn> | dminuoso: Naah |
2020-11-04 14:01:56 +0100 | <merijn> | dminuoso: Some do it much worse! |
2020-11-04 14:01:59 +0100 | Tario | (~Tario@201.192.165.173) |
2020-11-04 14:02:01 +0100 | <dminuoso> | heh |
2020-11-04 14:02:05 +0100 | mietek | (sid134071@gateway/web/irccloud.com/x-xdfehjuwjfwgiund) () |
2020-11-04 14:02:22 +0100 | GUEST94894 | (~GUEST9489@124.123.107.91) (Read error: Connection reset by peer) |
2020-11-04 14:02:25 +0100 | <fendor> | merijn, the server is a playground for students, so it compiles stuff, but if every student has to download this index, it is 300 * 800MB which sums up quiet quickly |
2020-11-04 14:02:40 +0100 | GUEST94946 | (~GUEST9494@124.123.107.91) |
2020-11-04 14:02:47 +0100 | <fendor> | but we solved it by having a read-only cabal store for every student, so that should be fine now |
2020-11-04 14:03:22 +0100 | <dcoutts> | fendor: you could share the package cache, without sharing the store, if that helps |
2020-11-04 14:03:31 +0100 | <dcoutts> | the download cache I mean |
2020-11-04 14:04:00 +0100 | <dcoutts> | it might be useful for your use case to have two stores, a shared read-only one and a local writable one |
2020-11-04 14:04:12 +0100 | <fendor> | dcoutts, yeah, that would solve the problem, too. Currently, we share both now, the store dir and index since students should not be able to download arbitrary packages anyways |
2020-11-04 14:04:29 +0100 | <fendor> | or rather, not be able to do it by accident |
2020-11-04 14:04:48 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit) |
2020-11-04 14:04:59 +0100 | mdunnio | (~mdunnio@208.59.170.5) (Ping timeout: 256 seconds) |
2020-11-04 14:05:11 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) |
2020-11-04 14:05:40 +0100 | <dcoutts> | fendor: there's a --offline flag, which I think you can also use in the ~/.cabal/config |
2020-11-04 14:05:48 +0100 | vfaronov | (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit) |
2020-11-04 14:05:56 +0100 | <dcoutts> | just causes any download attempt to fail, doesn't change the solver |
2020-11-04 14:06:13 +0100 | <fendor> | dcoutts, does that work with v2-*? did not seem to work for me when playing around with it |
2020-11-04 14:06:47 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-hgnmrpxqnetkvsrt) |
2020-11-04 14:08:14 +0100 | GUEST94946 | (~GUEST9494@124.123.107.91) (Remote host closed the connection) |
2020-11-04 14:08:33 +0100 | GUEST95299 | (~GUEST9529@124.123.107.91) |
2020-11-04 14:08:52 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-11-04 14:08:58 +0100 | jakob_ | (~textual@p200300f49f16220018bfd377e039c2e3.dip0.t-ipconnect.de) |
2020-11-04 14:09:25 +0100 | <merijn> | fendor: I think it should? If not that sounds like a bug? |
2020-11-04 14:09:31 +0100 | toorevitimirp | (~tooreviti@117.182.183.132) (Remote host closed the connection) |
2020-11-04 14:10:02 +0100 | toorevitimirp | (~tooreviti@117.182.183.132) |
2020-11-04 14:11:13 +0100 | macrover | (~macrover@ip70-189-231-35.lv.lv.cox.net) |
2020-11-04 14:11:58 +0100 | <fendor> | merijn, hm, maybe it was a bug for cabal 3.0.0.0? I can try again later |
2020-11-04 14:13:07 +0100 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection) |
2020-11-04 14:15:39 +0100 | machinedgod | (~machinedg@207.253.244.210) |
2020-11-04 14:16:56 +0100 | <tomsmeding> | quick question: does this datatype already exist in a commonly-used library? data PairOf f g t = PairOf (f t) (g t) |
2020-11-04 14:17:51 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2020-11-04 14:18:25 +0100 | <dminuoso> | tomsmeding: Yes. |
2020-11-04 14:18:34 +0100 | <dminuoso> | It's in base somewhere |
2020-11-04 14:18:58 +0100 | whald | (~trem@2a02:810a:8100:11a6:69c1:660a:2b51:2055) |
2020-11-04 14:18:59 +0100 | <dminuoso> | Err GHC |
2020-11-04 14:19:00 +0100 | <dminuoso> | tomsmeding: https://hackage.haskell.org/package/base-4.14.0.0/docs/GHC-Generics.html#t::-43-: |
2020-11-04 14:19:01 +0100 | <tomsmeding> | that's what I was hoping with "commonly-used library" :p |
2020-11-04 14:19:13 +0100 | <tomsmeding> | oh right |
2020-11-04 14:19:20 +0100 | <dminuoso> | Oh and :*: |
2020-11-04 14:19:21 +0100 | <tomsmeding> | well :*: then |
2020-11-04 14:19:25 +0100 | Lycurgus | (~niemand@98.4.97.110) (Quit: Exeunt) |
2020-11-04 14:19:41 +0100 | <dminuoso> | tomsmeding: I do recall we had something outside generics as well |
2020-11-04 14:19:44 +0100 | <tomsmeding> | a Generics import will look decidedly strange in this file, but I guess the semantics work :p |
2020-11-04 14:19:58 +0100 | <dminuoso> | tomsmeding: http://hackage.haskell.org/package/base-4.14.0.0/docs/Data-Functor-Product.html |
2020-11-04 14:19:59 +0100 | `slikts | (~nelabs@wikipedia/reinis) (Ping timeout: 272 seconds) |
2020-11-04 14:20:00 +0100 | <dminuoso> | There |
2020-11-04 14:20:09 +0100 | <dminuoso> | That's what I wanted :) |
2020-11-04 14:20:12 +0100 | nbloomf | (~nbloomf@76.217.43.73) |
2020-11-04 14:20:19 +0100 | <tomsmeding> | ah that's neater |
2020-11-04 14:20:22 +0100 | <tomsmeding> | thanks! |
2020-11-04 14:20:57 +0100 | tomsmeding | notes in my memory that Data.Functor.Sum also exists |
2020-11-04 14:21:46 +0100 | <tomsmeding> | `Pair` collides with a constructor I already have in scope lol |
2020-11-04 14:22:28 +0100 | <dminuoso> | Qualified imports is a thing. |
2020-11-04 14:23:42 +0100 | fendor_ | (~fendor@77.119.128.11.wireless.dyn.drei.com) |
2020-11-04 14:24:02 +0100 | <tomsmeding> | which is what I'll do :) |
2020-11-04 14:24:09 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
2020-11-04 14:24:52 +0100 | `slikts | (~nelabs@wikipedia/reinis) |
2020-11-04 14:25:32 +0100 | machinedgod | (~machinedg@207.253.244.210) (Quit: leaving) |
2020-11-04 14:26:09 +0100 | nbloomf | (~nbloomf@76.217.43.73) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-11-04 14:27:02 +0100 | xff0x | (~fox@2001:1a81:53f2:500:c561:3916:a8eb:5c4a) (Ping timeout: 264 seconds) |
2020-11-04 14:27:12 +0100 | <fendor> | merijn, https://paste.tomsmeding.com/O4uOK0Xv looks wrong to me? Ignore the permission errors, unless they hide the issue, they are caused by the read-only cabal store, so downloading is forbidden |
2020-11-04 14:27:31 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) |
2020-11-04 14:27:53 +0100 | xff0x | (~fox@2001:1a81:53f2:500:153c:e136:7dea:e190) |
2020-11-04 14:28:06 +0100 | Eason0210 | (~user@101.85.10.81) |
2020-11-04 14:28:34 +0100 | <merijn> | Does it actually go to the network? |
2020-11-04 14:29:08 +0100 | <fendor> | afaict yes |
2020-11-04 14:29:13 +0100 | <merijn> | hmm |
2020-11-04 14:29:17 +0100 | <merijn> | Then I dunno |
2020-11-04 14:29:24 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Quit: restart) |
2020-11-04 14:30:06 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-04 14:30:30 +0100 | <Franciman> | hi, dost anybody use gi-gtk-declarative? |
2020-11-04 14:30:51 +0100 | <fendor> | so, locally, I can reproduce it by invoking `cabal repl --offline -b hpath` where hpath is a package I haven't downloaded yet. https://paste.tomsmeding.com/RFlwkwVP |
2020-11-04 14:32:27 +0100 | justMaD | (~justMaD@184.75.221.35) (Remote host closed the connection) |
2020-11-04 14:33:12 +0100 | knupfer | (~Thunderbi@i5E86B46C.versanet.de) |
2020-11-04 14:35:37 +0100 | fendor_ | (~fendor@77.119.128.11.wireless.dyn.drei.com) (Ping timeout: 264 seconds) |
2020-11-04 14:36:04 +0100 | LKoen_ | (~LKoen@53.253.88.92.rev.sfr.net) |
2020-11-04 14:36:38 +0100 | cheater | (~user@unaffiliated/cheater) (Ping timeout: 264 seconds) |
2020-11-04 14:38:52 +0100 | LKoen | (~LKoen@53.253.88.92.rev.sfr.net) (Ping timeout: 265 seconds) |
2020-11-04 14:39:03 +0100 | hekkaidekapus_ | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
2020-11-04 14:39:29 +0100 | machinedgod | (~machinedg@207.253.244.210) |
2020-11-04 14:40:01 +0100 | <fendor> | maybe the message is just wrong, might play around with it later |
2020-11-04 14:40:54 +0100 | cheater | (~user@unaffiliated/cheater) |
2020-11-04 14:41:31 +0100 | hekkaidekapus_ | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2020-11-04 14:42:09 +0100 | machinedgod | (~machinedg@207.253.244.210) (Remote host closed the connection) |
2020-11-04 14:42:57 +0100 | knupfer | (~Thunderbi@i5E86B46C.versanet.de) (Quit: knupfer) |
2020-11-04 14:43:09 +0100 | knupfer | (~Thunderbi@200116b82c1ba400a869b894ad25104c.dip.versatel-1u1.de) |
2020-11-04 14:44:46 +0100 | machinedgod | (~machinedg@207.253.244.210) |
2020-11-04 14:45:25 +0100 | ddellacosta | (~dd@86.106.121.168) |
2020-11-04 14:45:47 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Quit: WeeChat 2.9) |
2020-11-04 14:50:01 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-04 14:51:42 +0100 | <tomsmeding> | tcpdump/wireshark, or strace | grep "connect"? |
2020-11-04 14:54:24 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 244 seconds) |
2020-11-04 14:55:52 +0100 | GUEST95299 | (~GUEST9529@124.123.107.91) (Remote host closed the connection) |
2020-11-04 14:58:49 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds) |
2020-11-04 14:59:29 +0100 | hekkaidekapus_ | hekkaidekapus |
2020-11-04 14:59:29 +0100 | carlomagno1 | (~cararell@148.87.23.13) (Remote host closed the connection) |
2020-11-04 15:00:08 +0100 | carlomagno | (~cararell@148.87.23.13) |
2020-11-04 15:03:40 +0100 | mb_ | (~mb@91-160-105-150.subs.proxad.net) |
2020-11-04 15:03:57 +0100 | Gurkenglas_ | (~Gurkengla@unaffiliated/gurkenglas) |
2020-11-04 15:05:47 +0100 | mb_ | (~mb@91-160-105-150.subs.proxad.net) (Client Quit) |
2020-11-04 15:07:21 +0100 | <hekkaidekapus> | fendor: There are two other options. 1) Disable the package index in ~/.cabal/config by commenting out the `repository hackage…` stanza. 2) Write `active-repositories: :none` in cabal.project; this requires a bleeding-edge cabal-install. |
2020-11-04 15:08:14 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
2020-11-04 15:10:29 +0100 | hyperisco | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
2020-11-04 15:11:04 +0100 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds) |
2020-11-04 15:11:57 +0100 | gtk | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2020-11-04 15:12:29 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2020-11-04 15:14:39 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds) |
2020-11-04 15:15:06 +0100 | newbies | (a5100248@165.16.2.72) |
2020-11-04 15:15:49 +0100 | <newbies> | Hello! |
2020-11-04 15:16:03 +0100 | <yushyin> | hello newbies |
2020-11-04 15:16:59 +0100 | <newbies> | i have just got Haskell Platform |
2020-11-04 15:17:20 +0100 | <newbies> | where do i start |
2020-11-04 15:17:53 +0100 | <opqdonut> | I can plug my course: https://haskell.mooc.fi/ |
2020-11-04 15:18:13 +0100 | <opqdonut> | (open, free, no signup, no deadlines) |
2020-11-04 15:18:57 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2020-11-04 15:19:14 +0100 | Eason0210 | (~user@101.85.10.81) (Quit: ERC (IRC client for Emacs 28.0.50)) |
2020-11-04 15:19:16 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-04 15:19:23 +0100 | Chai-T-Rex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds) |
2020-11-04 15:19:28 +0100 | <newbies> | Thanks! |
2020-11-04 15:19:35 +0100 | <newbies> | i'm familiar with ML is it the same |
2020-11-04 15:20:29 +0100 | <opqdonut> | very similar, but the syntax is a bit different |
2020-11-04 15:20:43 +0100 | <opqdonut> | purity is probably the biggest concrete difference |
2020-11-04 15:20:46 +0100 | <opqdonut> | followed by laziness |
2020-11-04 15:21:08 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
2020-11-04 15:21:16 +0100 | kuribastard | (~user@ptr-25vy0iakqbc7il70x5a.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2020-11-04 15:22:19 +0100 | <merijn> | newbies: Going from ML to Haskell should be fairly easy |
2020-11-04 15:22:23 +0100 | <merijn> | @where tutorial |
2020-11-04 15:22:23 +0100 | <lambdabot> | http://www.haskell.org/tutorial/ |
2020-11-04 15:22:42 +0100 | Chai-T-Rex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2020-11-04 15:23:02 +0100 | <merijn> | newbies: The tutorial was written for people coming from (S)ML, so that's probably the shortest intro you can get |
2020-11-04 15:23:21 +0100 | <gtk> | Are there still people using ML? |
2020-11-04 15:23:34 +0100 | <merijn> | Most of the other texts/books will waste a lot of time on basics you should already get from ML (pattern matching, recursion, etc.) |
2020-11-04 15:23:53 +0100 | <merijn> | gtk: Ocaml is an ML dialect and some diehards still use SML :) |
2020-11-04 15:24:42 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
2020-11-04 15:24:53 +0100 | <gtk> | ML syntax is the reason I start learning Haskell. It's just neat and beautiful |
2020-11-04 15:25:21 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) |
2020-11-04 15:25:58 +0100 | <merijn> | opqdonut: Purity is different, then again most people don't really have difficulty with purity per se as much as they struggle getting used to recursive thinking and ADTs, both of which you also need to learn for ML :p |
2020-11-04 15:26:11 +0100 | lucasb | (uid333435@gateway/web/irccloud.com/x-cbmhwogtcotlrzny) |
2020-11-04 15:26:17 +0100 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
2020-11-04 15:28:08 +0100 | <hekkaidekapus> | There is also <https://dr-knz.net/haskell-for-ocaml-programmers.html> for a quick introduction to Haskell from an OCaml perspective. |
2020-11-04 15:28:45 +0100 | <merijn> | hah |
2020-11-04 15:28:50 +0100 | <merijn> | A colleague wrote that :p |
2020-11-04 15:30:06 +0100 | [n1x]_ | (~n1x]_@195.206.169.184) |
2020-11-04 15:30:09 +0100 | <hekkaidekapus> | \O/ |
2020-11-04 15:30:14 +0100 | <hekkaidekapus> | Poss, R? |
2020-11-04 15:30:36 +0100 | <merijn> | Well, ex-colleague I guess, but yeah |
2020-11-04 15:30:42 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
2020-11-04 15:31:27 +0100 | <newbies> | No [cradle] found for file.hs. Proceeding with implicit cradle |
2020-11-04 15:31:54 +0100 | <newbies> | what is this mean |
2020-11-04 15:31:58 +0100 | <newbies> | VScode |
2020-11-04 15:32:05 +0100 | <merijn> | You're using hls, I guess? |
2020-11-04 15:32:13 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2020-11-04 15:33:07 +0100 | <merijn> | newbies: Basically, the haskell language server needs to know how to compile your code to typecheck, etc. this config is called a cradle. It's saying you didn't write an explicit one, to it's using an implicit (auto-generated) one |
2020-11-04 15:33:45 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) |
2020-11-04 15:33:54 +0100 | <newbies> | where do i have to config it |
2020-11-04 15:34:00 +0100 | hackage | less-arbitrary 0.1.0.2 - Linear time testing with variant of Arbitrary class that always terminates. https://hackage.haskell.org/package/less-arbitrary-0.1.0.2 (MichalGajda) |
2020-11-04 15:34:08 +0100 | <merijn> | If it works, you don't have to :p |
2020-11-04 15:34:30 +0100 | <newbies> | '=D |
2020-11-04 15:34:43 +0100 | <newbies> | i just wanted to know |
2020-11-04 15:34:45 +0100 | <merijn> | it's basically an info/debug message in case things break/don't work |
2020-11-04 15:34:55 +0100 | <newbies> | i see |
2020-11-04 15:35:02 +0100 | <merijn> | newbies: https://github.com/mpickering/hie-bios |
2020-11-04 15:35:54 +0100 | <newbies> | Thanks |
2020-11-04 15:36:17 +0100 | <yushyin> | the implicit cradle never worked for me, not even once. |
2020-11-04 15:36:28 +0100 | <merijn> | yushyin: For simple projects it works for me |
2020-11-04 15:37:06 +0100 | <yushyin> | and 99% of the time it's just c&p from the cabal file |
2020-11-04 15:38:05 +0100 | <hekkaidekapus> | yushyin: You can also `cabal install implicit-hie && gen-hie > hie.yaml` |
2020-11-04 15:39:12 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:fc37:ff3f:9c12:2922) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2020-11-04 15:39:24 +0100 | mmohammadi9812 | (~mmohammad@2.178.217.171) (Ping timeout: 256 seconds) |
2020-11-04 15:40:13 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection) |
2020-11-04 15:40:59 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
2020-11-04 15:41:10 +0100 | <yushyin> | hekkaidekapus: thanks for the hint |
2020-11-04 15:41:27 +0100 | <hekkaidekapus> | np |
2020-11-04 15:41:42 +0100 | britva | (~britva@2a02:aa13:7240:2980:9117:32f5:aa09:6904) |
2020-11-04 15:42:28 +0100 | <tomsmeding> | how do people even pronounce 'hie'? as an acronym, eich aye ee? 'hy'? 'hee'? |
2020-11-04 15:42:41 +0100 | kuribastard | (~user@ptr-25vy0iakqbc7il70x5a.18120a2.ip6.access.telenet.be) |
2020-11-04 15:42:44 +0100 | <hekkaidekapus> | Hi :P |
2020-11-04 15:43:09 +0100 | <tomsmeding> | implicit-greeting |
2020-11-04 15:45:01 +0100 | mmohammadi9812 | (~mmohammad@2.178.217.171) |
2020-11-04 15:45:43 +0100 | ystael | (~ystael@209.6.50.55) |
2020-11-04 15:46:50 +0100 | Gurkenglas_ | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 264 seconds) |
2020-11-04 15:49:09 +0100 | mdunnio | (~mdunnio@208.59.170.5) |
2020-11-04 15:51:15 +0100 | ystael | (~ystael@209.6.50.55) (Quit: Lost terminal) |
2020-11-04 15:51:18 +0100 | alx741 | (~alx741@186.178.110.193) (Ping timeout: 272 seconds) |
2020-11-04 15:54:02 +0100 | ystael | (~ystael@209.6.50.55) |
2020-11-04 15:54:21 +0100 | gienah | (~mwright@gentoo/developer/gienah) (Read error: Connection reset by peer) |
2020-11-04 15:54:42 +0100 | <__monty__> | tomsmeding: The latter for me, probably because of mother tongue induced brain damage. |
2020-11-04 15:55:10 +0100 | <merijn> | ;) |
2020-11-04 15:55:29 +0100 | <merijn> | __monty__: Like always typo-ing photos as photo's? ;) |
2020-11-04 15:55:57 +0100 | gienah | (~mwright@gentoo/developer/gienah) |
2020-11-04 15:56:54 +0100 | <tomsmeding> | __monty__: exactly the same for me :p |
2020-11-04 15:57:02 +0100 | ColdRush | (~coldrush@4e69b241.skybroadband.com) (Ping timeout: 264 seconds) |
2020-11-04 15:57:21 +0100 | <__monty__> | merijn: I do stumble but don't usually make that error. Commas are what trip me up the most. |
2020-11-04 15:58:06 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 15:58:11 +0100 | <merijn> | I mess up ' all the time in plurals, and of course a lot of "spatie fouten" in the reverse direction :p |
2020-11-04 15:59:13 +0100 | <hekkaidekapus> | And if the brain damage is French-induced, the ‘h’ could be unspoken, landing you at ie, id est in Latin :D |
2020-11-04 15:59:14 +0100 | <tomsmeding> | the people that use spaces correctly in NL can be put together in one building even with corona separation rules |
2020-11-04 15:59:24 +0100 | <merijn> | tomsmeding: :p |
2020-11-04 16:00:02 +0100 | [n1x]_ | (~n1x]_@195.206.169.184) () |
2020-11-04 16:00:47 +0100 | obihann | (~jhann@156.34.160.69) |
2020-11-04 16:00:47 +0100 | aarvar | (~foewfoiew@c.24.56.239.179.static.broadstripe.net) |
2020-11-04 16:01:52 +0100 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 258 seconds) |
2020-11-04 16:02:33 +0100 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
2020-11-04 16:03:30 +0100 | alx741 | (~alx741@181.196.69.190) |
2020-11-04 16:05:31 +0100 | Gurkenglas_ | (~Gurkengla@unaffiliated/gurkenglas) |
2020-11-04 16:07:50 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) |
2020-11-04 16:09:56 +0100 | <yushyin> | guess I'm the odd one, I use a shwa for the e in hie |
2020-11-04 16:11:05 +0100 | icebreaker | (~icebreake@unaffiliated/icebreaker) (Quit: leaving) |
2020-11-04 16:11:20 +0100 | Saukk | (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) |
2020-11-04 16:11:28 +0100 | icebreaker | (michalc@freeshell.de) |
2020-11-04 16:11:28 +0100 | icebreaker | (michalc@freeshell.de) (Changing host) |
2020-11-04 16:11:28 +0100 | icebreaker | (michalc@unaffiliated/icebreaker) |
2020-11-04 16:11:49 +0100 | icebreaker | (michalc@unaffiliated/icebreaker) (Client Quit) |
2020-11-04 16:12:39 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-11-04 16:14:19 +0100 | Sgeo | (~Sgeo@ool-18b982ad.dyn.optonline.net) |
2020-11-04 16:14:26 +0100 | <bqv> | disproportionately amused by the naming of Relude's "flap" |
2020-11-04 16:16:00 +0100 | icebreaker | (michalc@freeshell.de) |
2020-11-04 16:16:00 +0100 | icebreaker | (michalc@freeshell.de) (Changing host) |
2020-11-04 16:16:00 +0100 | icebreaker | (michalc@unaffiliated/icebreaker) |
2020-11-04 16:17:42 +0100 | <Cheery> | I either forgot how haskell language server works, or then it stopped working out of sudden. |
2020-11-04 16:20:02 +0100 | <jonathanx> | I'm headed home from work soon, have been spending too much time trying to figure out how to get auto rebuild on stack run (preferable with a browser refresh) going. I tried steeloverseer, but no cigar. Any suggestions? |
2020-11-04 16:20:10 +0100 | spamlessj | (~spamlessj@2a01:4f8:141:1329::2) |
2020-11-04 16:20:24 +0100 | <jonathanx> | (auto rebuild as in rebuild on file changes) |
2020-11-04 16:20:38 +0100 | jonathanx | (~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection) |
2020-11-04 16:21:37 +0100 | aarvar | (~foewfoiew@c.24.56.239.179.static.broadstripe.net) (Ping timeout: 246 seconds) |
2020-11-04 16:22:24 +0100 | newbies | (a5100248@165.16.2.72) (Remote host closed the connection) |
2020-11-04 16:24:54 +0100 | Tario | (~Tario@201.192.165.173) |
2020-11-04 16:24:58 +0100 | bookhead | (~bookhead@2607:fea8:2c40:307::123d) |
2020-11-04 16:29:31 +0100 | Gurkenglas__ | (~Gurkengla@unaffiliated/gurkenglas) |
2020-11-04 16:31:29 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2020-11-04 16:32:32 +0100 | Gurkenglas_ | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 258 seconds) |
2020-11-04 16:33:17 +0100 | coot_ | (~coot@37.30.49.218.nat.umts.dynamic.t-mobile.pl) |
2020-11-04 16:33:54 +0100 | obihann | (~jhann@156.34.160.69) (Remote host closed the connection) |
2020-11-04 16:35:19 +0100 | Saukk | (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection) |
2020-11-04 16:36:30 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-104-94.w86-212.abo.wanadoo.fr) |
2020-11-04 16:37:05 +0100 | Saukk | (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) |
2020-11-04 16:37:09 +0100 | coot | (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 260 seconds) |
2020-11-04 16:37:11 +0100 | coot_ | coot |
2020-11-04 16:39:38 +0100 | britva | (~britva@2a02:aa13:7240:2980:9117:32f5:aa09:6904) (Quit: This computer has gone to sleep) |
2020-11-04 16:42:01 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-04 16:44:10 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
2020-11-04 16:45:32 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
2020-11-04 16:46:11 +0100 | bookhead | (~bookhead@2607:fea8:2c40:307::123d) (Quit: bookhead) |
2020-11-04 16:46:54 +0100 | LKoen_ | (~LKoen@53.253.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
2020-11-04 16:48:38 +0100 | mdunnio | (~mdunnio@208.59.170.5) (Ping timeout: 258 seconds) |
2020-11-04 16:50:02 +0100 | mdunnio | (~mdunnio@208.59.170.5) |
2020-11-04 16:50:56 +0100 | gtk | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 258 seconds) |
2020-11-04 16:52:13 +0100 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) |
2020-11-04 16:54:07 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-11-04 16:54:25 +0100 | mdunnio | (~mdunnio@208.59.170.5) (Ping timeout: 256 seconds) |
2020-11-04 16:54:42 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2020-11-04 16:55:10 +0100 | nbloomf | (~nbloomf@2600:1700:ad14:3020:ed58:dda3:fd80:2c46) |
2020-11-04 16:55:20 +0100 | mdunnio | (~mdunnio@208.59.170.5) |
2020-11-04 16:55:58 +0100 | motte | (~weechat@unaffiliated/motte) |
2020-11-04 16:56:00 +0100 | darkspadez|lapto | (~darkspade@185.204.1.185) |
2020-11-04 16:57:44 +0100 | kuribastard | (~user@ptr-25vy0iakqbc7il70x5a.18120a2.ip6.access.telenet.be) (Read error: Connection reset by peer) |
2020-11-04 16:59:25 +0100 | mdunnio | (~mdunnio@208.59.170.5) (Ping timeout: 240 seconds) |
2020-11-04 17:00:07 +0100 | io_r_us[m] | (commandlin@gateway/shell/matrix.org/x-dcxofhcftbovwbst) (Quit: Idle for 30+ days) |
2020-11-04 17:00:36 +0100 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
2020-11-04 17:02:34 +0100 | Amras | (~Amras@unaffiliated/amras0000) |
2020-11-04 17:03:43 +0100 | jamm_ | (~jamm@unaffiliated/jamm) |
2020-11-04 17:03:53 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2020-11-04 17:04:32 +0100 | ClaudiusMaximus | (~claude@198.123.199.146.dyn.plus.net) |
2020-11-04 17:04:33 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-04 17:04:42 +0100 | ClaudiusMaximus | (~claude@198.123.199.146.dyn.plus.net) (Changing host) |
2020-11-04 17:04:42 +0100 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) |
2020-11-04 17:06:39 +0100 | <justsomeguy> | jonathanx: Personally I use http://eradman.com/entrproject/ and the "tab reloader" firefox plugin. There are probably better ways to do it, though. |
2020-11-04 17:06:55 +0100 | piyush-kurur | (~user@117.213.47.10) |
2020-11-04 17:07:12 +0100 | berberman_ | (~berberman@unaffiliated/berberman) |
2020-11-04 17:07:20 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2020-11-04 17:08:02 +0100 | yoneda | (~mike@193.206.102.122) (Quit: leaving) |
2020-11-04 17:08:07 +0100 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
2020-11-04 17:09:30 +0100 | toorevitimirp | (~tooreviti@117.182.183.132) (Remote host closed the connection) |
2020-11-04 17:11:14 +0100 | bookhead | (~bookhead@cpe589630b81951-cm589630b8194f.cpe.net.cable.rogers.com) |
2020-11-04 17:11:46 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-11-04 17:11:53 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
2020-11-04 17:13:37 +0100 | RollingStone | (2d56c924@45.86.201.36) |
2020-11-04 17:14:59 +0100 | RollingStone | (2d56c924@45.86.201.36) (Remote host closed the connection) |
2020-11-04 17:16:14 +0100 | p8m | (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 264 seconds) |
2020-11-04 17:17:39 +0100 | Saukk | (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection) |
2020-11-04 17:18:02 +0100 | obihann | (~jhann@156.34.160.69) |
2020-11-04 17:18:28 +0100 | carlomagno | (~cararell@148.87.23.13) (Remote host closed the connection) |
2020-11-04 17:21:23 +0100 | obihann | (~jhann@156.34.160.69) (Client Quit) |
2020-11-04 17:21:57 +0100 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-11-04 17:22:12 +0100 | icebreaker | (michalc@unaffiliated/icebreaker) (Quit: leaving) |
2020-11-04 17:22:20 +0100 | icebreaker | (michalc@freeshell.de) |
2020-11-04 17:22:20 +0100 | icebreaker | (michalc@freeshell.de) (Changing host) |
2020-11-04 17:22:20 +0100 | icebreaker | (michalc@unaffiliated/icebreaker) |
2020-11-04 17:22:21 +0100 | obihann | (~jhann@156.34.160.69) |
2020-11-04 17:22:48 +0100 | ahmr88 | (~ahmr88@cpc85006-haye22-2-0-cust131.17-4.cable.virginm.net) (Remote host closed the connection) |
2020-11-04 17:23:08 +0100 | obihann | (~jhann@156.34.160.69) (Client Quit) |
2020-11-04 17:23:10 +0100 | conal | (~conal@64.71.133.70) |
2020-11-04 17:23:42 +0100 | obihann | (~jhann@156.34.160.69) |
2020-11-04 17:24:06 +0100 | obihann | (~jhann@156.34.160.69) (Client Quit) |
2020-11-04 17:24:11 +0100 | st8less | (~st8less@2603:a060:11fd:0:acb3:c1f9:8208:550f) |
2020-11-04 17:24:39 +0100 | sfvm | (~sfvm@37.228.215.148) |
2020-11-04 17:25:09 +0100 | obihann | (~jhann@156.34.160.69) |
2020-11-04 17:28:24 +0100 | p8m | (p8m@gateway/vpn/protonvpn/p8m) |
2020-11-04 17:30:08 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2020-11-04 17:31:56 +0100 | carlomagno | (~cararell@148.87.23.11) |
2020-11-04 17:35:50 +0100 | patty1 | (~patty@104.206.12.227) |
2020-11-04 17:37:21 +0100 | conal | (~conal@64.71.133.70) (Ping timeout: 260 seconds) |
2020-11-04 17:39:41 +0100 | troydm | (~troydm@unaffiliated/troydm) (Ping timeout: 260 seconds) |
2020-11-04 17:40:06 +0100 | conal | (~conal@66.115.157.70) |
2020-11-04 17:40:49 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-104-94.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2020-11-04 17:41:04 +0100 | concept2 | (~concept2@unaffiliated/tubo) (Read error: Connection reset by peer) |
2020-11-04 17:41:09 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-104-94.w86-212.abo.wanadoo.fr) |
2020-11-04 17:41:27 +0100 | concept2 | (~concept2@unaffiliated/tubo) |
2020-11-04 17:43:55 +0100 | patty1 | (~patty@104.206.12.227) (Quit: WeeChat 1.9.1) |
2020-11-04 17:44:09 +0100 | fendor_ | (~fendor@178.115.130.128.wireless.dyn.drei.com) |
2020-11-04 17:46:27 +0100 | alp | (~alp@2a01:e0a:58b:4920:1dd3:df8f:e85c:9a7d) (Ping timeout: 272 seconds) |
2020-11-04 17:46:50 +0100 | fendor | (~fendor@77.119.128.11.wireless.dyn.drei.com) (Ping timeout: 264 seconds) |
2020-11-04 17:47:12 +0100 | troydm | (~troydm@unaffiliated/troydm) |
2020-11-04 17:48:47 +0100 | <dsal> | Dumb lens question. I'm working with aeson and want to modify two keys. I've got `v & deep values . _Object . at "k1" ?~ "XXX"` I also want to modify "k2" the same way. Is there a sensible way to do compose two of these `at`s so I can do them in the same place? |
2020-11-04 17:49:18 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2020-11-04 17:49:57 +0100 | acidjnk_new2 | (~acidjnk@p200300d0c718f665213d210801ac68e4.dip0.t-ipconnect.de) |
2020-11-04 17:50:12 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2020-11-04 17:50:42 +0100 | borne | (~fritjof@200116b864d4e2005d0cb1433c5d4cbb.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
2020-11-04 17:52:21 +0100 | <Taneb> | dsal: there's not a super great solution here, although there's a not-nice solution, Control.Lens.Unsound.adjoin does what you need |
2020-11-04 17:53:03 +0100 | <dsal> | This doc makes me feel bad: Are you looking for failing? |
2020-11-04 17:54:37 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-04 17:54:43 +0100 | <Taneb> | "failing" can do "if you don't find anything in the first place, try the second" |
2020-11-04 17:54:50 +0100 | <Taneb> | But I see what you mean |
2020-11-04 17:55:44 +0100 | <dsal> | Hmm... This seems newer than my lens. |
2020-11-04 17:57:04 +0100 | mdunnio | (~mdunnio@208.59.170.5) |
2020-11-04 17:57:22 +0100 | <dsal> | I guess I can just do something ugly in the short term. It feels like something that should be possible. It's really just "replace all occurrences of keys xs with these values" which feels like it's right there. |
2020-11-04 17:58:36 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
2020-11-04 17:58:54 +0100 | <dsal> | A tiny helper function does the thing at least. |
2020-11-04 17:59:07 +0100 | <dsal> | `v & deep values . _Object %~ fixit` |
2020-11-04 17:59:27 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
2020-11-04 18:00:31 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
2020-11-04 18:01:37 +0100 | mdunnio | (~mdunnio@208.59.170.5) (Ping timeout: 260 seconds) |
2020-11-04 18:02:05 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 240 seconds) |
2020-11-04 18:02:08 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-hpmiowuimqysffdt) |
2020-11-04 18:02:24 +0100 | mdunnio | (~mdunnio@208.59.170.5) |
2020-11-04 18:06:05 +0100 | jespada | (~jespada@90.254.245.49) (Ping timeout: 272 seconds) |
2020-11-04 18:07:00 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
2020-11-04 18:07:13 +0100 | mdunnio | (~mdunnio@208.59.170.5) (Ping timeout: 260 seconds) |
2020-11-04 18:07:15 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) |
2020-11-04 18:07:36 +0100 | bitmapper | (uid464869@gateway/web/irccloud.com/x-yoxguegrcaybrryj) |
2020-11-04 18:07:41 +0100 | jespada | (~jespada@90.254.245.49) |
2020-11-04 18:08:23 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
2020-11-04 18:08:32 +0100 | entel | (uid256215@botters/entel) () |
2020-11-04 18:09:06 +0100 | entel | (uid256215@botters/entel) |
2020-11-04 18:09:19 +0100 | sh9 | (~sh9@softbank060116136158.bbtec.net) (Read error: Connection reset by peer) |
2020-11-04 18:10:31 +0100 | conal | (~conal@66.115.157.70) (Quit: Computer has gone to sleep.) |
2020-11-04 18:12:10 +0100 | aarvar | (~foewfoiew@c.24.56.239.179.static.broadstripe.net) |
2020-11-04 18:12:27 +0100 | borne | (~fritjof@200116b864d4e2005d0cb1433c5d4cbb.dip.versatel-1u1.de) |
2020-11-04 18:12:30 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-11-04 18:13:06 +0100 | ColdRush | (~coldrush@4e69b241.skybroadband.com) |
2020-11-04 18:16:23 +0100 | teardown | (~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds) |
2020-11-04 18:16:36 +0100 | conal | (~conal@66.115.157.70) |
2020-11-04 18:17:28 +0100 | chele | (~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2020-11-04 18:19:06 +0100 | comerijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2020-11-04 18:19:56 +0100 | sh9 | (~sh9@softbank060116136158.bbtec.net) |
2020-11-04 18:21:41 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2020-11-04 18:23:31 +0100 | hackage | Color 0.3.0 - Color spaces and conversions between them https://hackage.haskell.org/package/Color-0.3.0 (lehins) |
2020-11-04 18:23:40 +0100 | aarvar | (~foewfoiew@c.24.56.239.179.static.broadstripe.net) () |
2020-11-04 18:24:34 +0100 | bitmagie | (~Thunderbi@200116b80654c700253602a817d4606f.dip.versatel-1u1.de) (Quit: bitmagie) |
2020-11-04 18:24:51 +0100 | Rudd0 | (~Rudd0@185.189.115.103) (Ping timeout: 258 seconds) |
2020-11-04 18:24:53 +0100 | LKoen | (~LKoen@53.253.88.92.rev.sfr.net) |
2020-11-04 18:26:00 +0100 | conal | (~conal@66.115.157.70) (Quit: Computer has gone to sleep.) |
2020-11-04 18:26:35 +0100 | howdoi | (uid224@gateway/web/irccloud.com/x-vhoynudvnfkkavxn) |
2020-11-04 18:26:45 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 244 seconds) |
2020-11-04 18:27:40 +0100 | jamm_ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2020-11-04 18:28:00 +0100 | Franciman | (~francesco@host-79-36-167-172.retail.telecomitalia.it) (Quit: Leaving) |
2020-11-04 18:28:31 +0100 | ubert | (~Thunderbi@p200300ecdf1e5334e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-11-04 18:28:55 +0100 | ubert | (~Thunderbi@p200300ecdf1e5334e6b318fffe838f33.dip0.t-ipconnect.de) |
2020-11-04 18:29:25 +0100 | kish | (~oracle@unaffiliated/oracle) (Ping timeout: 240 seconds) |
2020-11-04 18:30:08 +0100 | kish | (~oracle@unaffiliated/oracle) |
2020-11-04 18:31:09 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-04 18:31:42 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 18:32:01 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-04 18:32:47 +0100 | <dsal> | Actually, this is only working for setting string values. It won't even let me set array values, which is bizarre to me. |
2020-11-04 18:32:52 +0100 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2020-11-04 18:33:38 +0100 | <dsal> | I'll just do the maximum gross thing. |
2020-11-04 18:33:48 +0100 | <hc> | switch to python? ;p |
2020-11-04 18:34:47 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-04 18:35:01 +0100 | ubert | (~Thunderbi@p200300ecdf1e5334e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2020-11-04 18:35:25 +0100 | solonarv | (~solonarv@astrasbourg-653-1-263-62.w92-161.abo.wanadoo.fr) |
2020-11-04 18:35:41 +0100 | ubert | (~Thunderbi@p200300ecdf1e5367e6b318fffe838f33.dip0.t-ipconnect.de) |
2020-11-04 18:36:05 +0100 | <dsal> | ha |
2020-11-04 18:36:23 +0100 | <bqv> | can think of worse things to write in than python... |
2020-11-04 18:37:21 +0100 | <koz_> | bqv: The fact that a worse option than X exists does not make X a good option, for any value of X. |
2020-11-04 18:38:33 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 260 seconds) |
2020-11-04 18:38:52 +0100 | <geekosaur> | they did say "maximum" |
2020-11-04 18:39:06 +0100 | <koz_> | geekosaur: So what, x86 asm? :P |
2020-11-04 18:39:17 +0100 | <pjb> | koz_: since the demise of display postscript, only X knows to do remote. |
2020-11-04 18:39:24 +0100 | bookhead | (~bookhead@cpe589630b81951-cm589630b8194f.cpe.net.cable.rogers.com) ("Good Bye") |
2020-11-04 18:39:33 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
2020-11-04 18:39:35 +0100 | <geekosaur> | 1802 asm, I think :p |
2020-11-04 18:40:07 +0100 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
2020-11-04 18:40:41 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2020-11-04 18:41:02 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-04 18:41:38 +0100 | alp | (~alp@2a01:e0a:58b:4920:25e2:af6d:9b8e:49b9) |
2020-11-04 18:46:06 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 272 seconds) |
2020-11-04 18:46:14 +0100 | chaosmasttter | (~chaosmast@p200300c4a7117c01215e340256877fbe.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2020-11-04 18:49:50 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Quit: jpds) |
2020-11-04 18:51:53 +0100 | macrover | (~macrover@ip70-189-231-35.lv.lv.cox.net) (Remote host closed the connection) |
2020-11-04 18:52:11 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-11-04 18:52:17 +0100 | is_null | (~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 260 seconds) |
2020-11-04 18:52:26 +0100 | coot | (~coot@37.30.49.218.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 272 seconds) |
2020-11-04 18:53:56 +0100 | is_null | (~jpic@pdpc/supporter/professional/is-null) |
2020-11-04 18:54:10 +0100 | <dsal> | I feel like lens let me down a little here. https://www.irccloud.com/pastebin/Z5CZWFIL/gross.hs |
2020-11-04 18:55:59 +0100 | geekosaur79 | (82659a09@host154-009.vpn.uakron.edu) |
2020-11-04 18:56:10 +0100 | <koz_> | Well, lens isn't Rick Astley. |
2020-11-04 18:56:28 +0100 | Tops21 | (~Tobias@dyndsl-095-033-016-001.ewe-ip-backbone.de) |
2020-11-04 18:56:35 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-11-04 18:56:56 +0100 | conal | (~conal@66.115.157.70) |
2020-11-04 18:57:37 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 18:57:59 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds) |
2020-11-04 18:58:40 +0100 | dsal | starts new library |
2020-11-04 18:59:22 +0100 | <monochrom> | hahaha koz_ |
2020-11-04 18:59:24 +0100 | <koz_> | dsal: Is going to be named lens-rick? |
2020-11-04 18:59:42 +0100 | <koz_> | monochrom: I try. |
2020-11-04 18:59:44 +0100 | <dsal> | Yeah. It'll solve all problems in a simple, natural way. |
2020-11-04 18:59:56 +0100 | <koz_> | dsal: It'll never tell a lie and hurt you? |
2020-11-04 19:00:01 +0100 | darkspadez|lapto | (~darkspade@185.204.1.185) () |
2020-11-04 19:00:21 +0100 | Tops2 | (~Tobias@dyndsl-095-033-016-001.ewe-ip-backbone.de) (Ping timeout: 265 seconds) |
2020-11-04 19:00:28 +0100 | <dsal> | If you think about it, when a lens shatters, it becomes very dangerous to everything around it. |
2020-11-04 19:00:30 +0100 | geekosaur79 | (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection) |
2020-11-04 19:01:06 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-04 19:01:06 +0100 | <DigitalKiwi> | safety-lens |
2020-11-04 19:01:10 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) |
2020-11-04 19:01:11 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) |
2020-11-04 19:01:16 +0100 | <monochrom> | never gonna set you up, never gonna rickroll you |
2020-11-04 19:01:32 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-11-04 19:01:35 +0100 | <DigitalKiwi> | the docs page on hackage goes to youtube |
2020-11-04 19:02:28 +0100 | dbmikus_ | (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
2020-11-04 19:02:33 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2020-11-04 19:03:56 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-04 19:04:51 +0100 | fendor_ | fendor |
2020-11-04 19:05:44 +0100 | invaser | (~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds) |
2020-11-04 19:08:21 +0100 | justsomeguy | (~justsomeg@2603:9000:960a:fc00:c4d2:5b73:c7b7:3a2b) |
2020-11-04 19:08:21 +0100 | justsomeguy | (~justsomeg@2603:9000:960a:fc00:c4d2:5b73:c7b7:3a2b) (Changing host) |
2020-11-04 19:08:21 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) |
2020-11-04 19:10:43 +0100 | <bqv> | safety-lens sounds almost realistic |
2020-11-04 19:11:14 +0100 | entel | (uid256215@botters/entel) () |
2020-11-04 19:11:39 +0100 | entel | (uid256215@botters/entel) |
2020-11-04 19:11:42 +0100 | <DigitalKiwi> | yeah i was actually trying to be helpful someone not me should make it |
2020-11-04 19:12:47 +0100 | entel | (uid256215@botters/entel) (Client Quit) |
2020-11-04 19:13:16 +0100 | entel | (uid256215@botters/entel) |
2020-11-04 19:13:25 +0100 | chaosmasttter | (~chaosmast@p200300c4a7117c01215e340256877fbe.dip0.t-ipconnect.de) |
2020-11-04 19:13:41 +0100 | fresheyeball | (~isaac@c-71-237-105-37.hsd1.co.comcast.net) |
2020-11-04 19:15:01 +0100 | <bqv> | though i imagine ed would be unhappy at lens being called unsafe |
2020-11-04 19:15:49 +0100 | obihann | (~jhann@156.34.160.69) (Remote host closed the connection) |
2020-11-04 19:20:37 +0100 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2020-11-04 19:20:45 +0100 | Tario | (~Tario@201.192.165.173) |
2020-11-04 19:21:53 +0100 | knupfer | (~Thunderbi@200116b82c1ba400a869b894ad25104c.dip.versatel-1u1.de) (Remote host closed the connection) |
2020-11-04 19:22:01 +0100 | knupfer | (~Thunderbi@200116b82c1ba4001c1efa9cfbaac5ab.dip.versatel-1u1.de) |
2020-11-04 19:22:11 +0100 | kish | (~oracle@unaffiliated/oracle) (Remote host closed the connection) |
2020-11-04 19:24:38 +0100 | ezzieyguywuf | (~Unknown@unaffiliated/ezzieyguywuf) (Quit: Lost terminal) |
2020-11-04 19:24:54 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-11-04 19:24:59 +0100 | ezzieyguywuf | (~Unknown@unaffiliated/ezzieyguywuf) |
2020-11-04 19:25:06 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Quit: WeeChat 2.9) |
2020-11-04 19:26:07 +0100 | conal | (~conal@66.115.157.70) (Quit: Computer has gone to sleep.) |
2020-11-04 19:26:41 +0100 | conal | (~conal@66.115.157.70) |
2020-11-04 19:27:15 +0100 | conal | (~conal@66.115.157.70) (Client Quit) |
2020-11-04 19:28:02 +0100 | kish | (~oracle@unaffiliated/oracle) |
2020-11-04 19:28:04 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 19:30:22 +0100 | ishutin | (~Ishutin@178-164-208-236.pool.digikabel.hu) |
2020-11-04 19:32:19 +0100 | machinedgod | (~machinedg@207.253.244.210) (Ping timeout: 258 seconds) |
2020-11-04 19:33:10 +0100 | Ariakenom | (~Ariakenom@h-82-196-111-76.NA.cust.bahnhof.se) |
2020-11-04 19:33:25 +0100 | ishutin_ | (~Ishutin@92-249-182-32.pool.digikabel.hu) (Ping timeout: 240 seconds) |
2020-11-04 19:34:00 +0100 | machinedgod | (~machinedg@142.169.78.247) |
2020-11-04 19:39:22 +0100 | invaser | (~Thunderbi@31.148.23.125) |
2020-11-04 19:41:50 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
2020-11-04 19:42:14 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-11-04 19:45:23 +0100 | Chai-T-Rex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
2020-11-04 19:45:59 +0100 | Chai-T-Rex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2020-11-04 19:46:30 +0100 | hackage | persistent 2.11.0.0 - Type-safe, multi-backend data serialization. https://hackage.haskell.org/package/persistent-2.11.0.0 (parsonsmatt) |
2020-11-04 19:46:58 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2020-11-04 19:47:30 +0100 | hackage | persistent-mysql 2.10.3 - Backend for the persistent library using MySQL database server. https://hackage.haskell.org/package/persistent-mysql-2.10.3 (parsonsmatt) |
2020-11-04 19:47:43 +0100 | miseenplace[m] | (miseenplac@gateway/shell/matrix.org/x-lvdnpqvjqjthlamh) |
2020-11-04 19:48:30 +0100 | hackage | persistent-postgresql 2.11.0.0 - Backend for the persistent library using postgresql. https://hackage.haskell.org/package/persistent-postgresql-2.11.0.0 (parsonsmatt) |
2020-11-04 19:49:30 +0100 | hackage | persistent-template 2.9.1.0 - Type-safe, non-relational, multi-backend persistence. https://hackage.haskell.org/package/persistent-template-2.9.1.0 (parsonsmatt) |
2020-11-04 19:50:30 +0100 | hackage | persistent-sqlite 2.11.0.0 - Backend for the persistent library using sqlite3. https://hackage.haskell.org/package/persistent-sqlite-2.11.0.0 (parsonsmatt) |
2020-11-04 19:51:30 +0100 | hackage | persistent-mongoDB 2.11.0.0 - Backend for the persistent library using mongoDB. https://hackage.haskell.org/package/persistent-mongoDB-2.11.0.0 (parsonsmatt) |
2020-11-04 19:52:15 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 19:53:00 +0100 | hackage | persistent-test 2.0.3.4 - Tests for Persistent https://hackage.haskell.org/package/persistent-test-2.0.3.4 (parsonsmatt) |
2020-11-04 19:53:13 +0100 | machinedgod | (~machinedg@142.169.78.247) (Ping timeout: 260 seconds) |
2020-11-04 19:53:53 +0100 | machinedgod | (~machinedg@142.169.78.247) |
2020-11-04 19:53:57 +0100 | notnatebtw | (~nate@125.161.131.218) (Quit: WeeChat 2.9) |
2020-11-04 19:54:55 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2020-11-04 19:55:29 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds) |
2020-11-04 19:56:00 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection) |
2020-11-04 19:56:46 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) |
2020-11-04 19:57:02 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 264 seconds) |
2020-11-04 19:58:00 +0100 | hackage | loc 0.1.3.10 - Types representing line and column positions and ranges in text files. https://hackage.haskell.org/package/loc-0.1.3.10 (chris_martin) |
2020-11-04 19:58:50 +0100 | <justsomeguy> | Is there a way to visualize recursion trees for haskell functions? (Or, if not, what's a good tool for creating those diagrams by hand?) |
2020-11-04 19:59:00 +0100 | hackage | citeproc 0.1.1 - Generates citations and bibliography from CSL styles. https://hackage.haskell.org/package/citeproc-0.1.1 (JohnMacFarlane) |
2020-11-04 20:00:43 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
2020-11-04 20:01:11 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2020-11-04 20:01:36 +0100 | <sm[m]> | justsomeguy: is the stack trace printed by error (at least from a profiling build) suitable ? |
2020-11-04 20:01:59 +0100 | alp | (~alp@2a01:e0a:58b:4920:25e2:af6d:9b8e:49b9) (Ping timeout: 272 seconds) |
2020-11-04 20:01:59 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds) |
2020-11-04 20:03:27 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2020-11-04 20:04:50 +0100 | berberman_ | (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds) |
2020-11-04 20:05:14 +0100 | enva2712 | (~enva2712@cpe-75-86-42-2.wi.res.rr.com) |
2020-11-04 20:05:32 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) |
2020-11-04 20:05:49 +0100 | <justsomeguy> | sm[m]: Hmm, let me see. |
2020-11-04 20:06:33 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-11-04 20:07:17 +0100 | <sm[m]> | If not there are tools for it, somewhere, but I don't know if they work for complex code |
2020-11-04 20:09:31 +0100 | <justsomeguy> | It's really just a few toy example functions that I'm using for my notes on recursion. |
2020-11-04 20:10:24 +0100 | <sm[m]> | A profile, perhaps improved by profiterole, could be another option |
2020-11-04 20:11:53 +0100 | <justsomeguy> | This is interesting. I have not looked into profiling until now. |
2020-11-04 20:12:47 +0100 | <justsomeguy> | Thanks for the hints, sm[m], I must go now :) |
2020-11-04 20:12:55 +0100 | <sm[m]> | np |
2020-11-04 20:13:02 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) () |
2020-11-04 20:13:33 +0100 | Franciman | (~francesco@host-79-36-167-172.retail.telecomitalia.it) |
2020-11-04 20:13:51 +0100 | johnw | (~johnw@haskell/developer/johnw) (Quit: ZNC - http://znc.in) |
2020-11-04 20:14:13 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds) |
2020-11-04 20:17:25 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 240 seconds) |
2020-11-04 20:19:37 +0100 | mmohammadi9812 | (~mmohammad@2.178.217.171) (Ping timeout: 265 seconds) |
2020-11-04 20:19:41 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2020-11-04 20:20:06 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) |
2020-11-04 20:20:20 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-11-04 20:21:29 +0100 | jespada | (~jespada@90.254.245.49) (Quit: Sleeping) |
2020-11-04 20:22:10 +0100 | xerox_ | (~xerox@unaffiliated/xerox) (Ping timeout: 256 seconds) |
2020-11-04 20:23:01 +0100 | Entertainment | (~lyle@104.246.132.210) |
2020-11-04 20:23:25 +0100 | conal | (~conal@66.115.157.70) |
2020-11-04 20:24:10 +0100 | Entertainment | (~lyle@104.246.132.210) () |
2020-11-04 20:24:26 +0100 | Entertainment | (~lyle@104.246.132.210) |
2020-11-04 20:24:52 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
2020-11-04 20:25:04 +0100 | Entertainment | (~lyle@104.246.132.210) () |
2020-11-04 20:25:31 +0100 | hackage | blanks 0.5.0 - Fill-in-the-blanks - A library factoring out substitution from ASTs https://hackage.haskell.org/package/blanks-0.5.0 (ejconlon) |
2020-11-04 20:25:46 +0100 | Entertainment | (~entertain@104.246.132.210) |
2020-11-04 20:26:48 +0100 | juuandyy | (~juuandyy@90.166.144.65) |
2020-11-04 20:27:36 +0100 | piyush-kurur | (~user@117.213.47.10) (Remote host closed the connection) |
2020-11-04 20:29:50 +0100 | jess | (jess@freenode/staff/jess) |
2020-11-04 20:30:24 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone) |
2020-11-04 20:30:36 +0100 | mmohammadi9812 | (~mmohammad@2.178.217.171) |
2020-11-04 20:30:47 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-04 20:30:50 +0100 | dscho | (~dscho@217.146.82.202) |
2020-11-04 20:30:50 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Quit: WeeChat 2.9) |
2020-11-04 20:31:20 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) |
2020-11-04 20:34:28 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
2020-11-04 20:34:38 +0100 | todda7 | (~torstein@ppp-2-84-30-242.home.otenet.gr) |
2020-11-04 20:35:15 +0100 | mdunnio | (~mdunnio@208.59.170.5) |
2020-11-04 20:36:42 +0100 | whald | (~trem@2a02:810a:8100:11a6:69c1:660a:2b51:2055) (Remote host closed the connection) |
2020-11-04 20:37:16 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Quit: WeeChat 2.9) |
2020-11-04 20:37:28 +0100 | britva | (~britva@2a02:aa13:7240:2980:9117:32f5:aa09:6904) |
2020-11-04 20:38:55 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) |
2020-11-04 20:38:57 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Remote host closed the connection) |
2020-11-04 20:39:10 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) |
2020-11-04 20:39:45 +0100 | mdunnio | (~mdunnio@208.59.170.5) (Ping timeout: 240 seconds) |
2020-11-04 20:40:00 +0100 | hackage | servant 0.18.1 - A family of combinators for defining webservices APIs https://hackage.haskell.org/package/servant-0.18.1 (maksbotan) |
2020-11-04 20:40:25 +0100 | mdunnio | (~mdunnio@208.59.170.5) |
2020-11-04 20:40:32 +0100 | crdrost | (~crdrost@c-98-207-102-156.hsd1.ca.comcast.net) |
2020-11-04 20:41:01 +0100 | hackage | servant-server 0.18.1, servant-http-streams 0.18.1, servant-docs 0.11.7, servant-client-core 0.18.1, servant-client 0.18.1 (maksbotan): https://qbin.io/sport-ui-myce |
2020-11-04 20:41:26 +0100 | britva | (~britva@2a02:aa13:7240:2980:9117:32f5:aa09:6904) (Client Quit) |
2020-11-04 20:42:22 +0100 | conal | (~conal@66.115.157.70) (Ping timeout: 246 seconds) |
2020-11-04 20:43:02 +0100 | britva | (~britva@2a02:aa13:7240:2980:9117:32f5:aa09:6904) |
2020-11-04 20:44:01 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-11-04 20:44:45 +0100 | mdunnio | (~mdunnio@208.59.170.5) (Ping timeout: 240 seconds) |
2020-11-04 20:45:23 +0100 | conal | (~conal@66.115.157.70) |
2020-11-04 20:45:33 +0100 | Franciman | (~francesco@host-79-36-167-172.retail.telecomitalia.it) (Quit: Leaving) |
2020-11-04 20:46:10 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Quit: WeeChat 2.9) |
2020-11-04 20:46:12 +0100 | Lycurgus | (~niemand@98.4.97.110) |
2020-11-04 20:46:17 +0100 | thc202 | (~thc202@unaffiliated/thc202) (Ping timeout: 260 seconds) |
2020-11-04 20:46:28 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) |
2020-11-04 20:47:02 +0100 | wanaks[m] | (wanaksmatr@gateway/shell/matrix.org/x-tghlzmezifnrojup) |
2020-11-04 20:49:15 +0100 | <matthew-> | hmm, this is probably a dumb question, but am I right in thinking of a list as a sum type with 1 type parameter? |
2020-11-04 20:49:35 +0100 | <gobbleguy> | sounds right |
2020-11-04 20:49:36 +0100 | <Uniaika> | matthew-: nah you're right |
2020-11-04 20:49:43 +0100 | <bqv> | lispy |
2020-11-04 20:50:14 +0100 | <Uniaika> | % :i [] |
2020-11-04 20:50:15 +0100 | <yahb> | Uniaika: type [] :: * -> *; data [] a = [] | a : [a]; -- Defined in `GHC.Types'; instance Alternative [] -- Defined in `GHC.Base'; instance Applicative [] -- Defined in `GHC.Base'; instance Eq a => Eq [a] -- Defined in `GHC.Classes'; instance Functor [] -- Defined in `GHC.Base'; instance Monad [] -- Defined in `GHC.Base'; instance MonadPlus [] -- Defined in `GHC.Base'; instance Monoid [a] -- Defined in `GHC.Base |
2020-11-04 20:50:28 +0100 | <Uniaika> | yep', sounds about right matthew- :) |
2020-11-04 20:51:53 +0100 | <matthew-> | ok, thanks. |
2020-11-04 20:52:03 +0100 | <crdrost> | Yeah a list can be thought of as f(x) = 1 + x f(x), which you might manipulate to f(x) = 1/(1 - x), which has as a Taylor series f(x) = 1 + x + x^2 + x^3 + ... |
2020-11-04 20:52:46 +0100 | juuandyy | (~juuandyy@90.166.144.65) (Ping timeout: 272 seconds) |
2020-11-04 20:55:16 +0100 | vZS1 | (~vZS1@host-92-20-231-81.as13285.net) |
2020-11-04 20:55:19 +0100 | britva | (~britva@2a02:aa13:7240:2980:9117:32f5:aa09:6904) (Quit: This computer has gone to sleep) |
2020-11-04 20:58:55 +0100 | <matthew-> | hmm, just trying to get some terminology right in my head. In the type [Int], for example, it feels _application_ of [] and Int. What word is used here? Because it seems I'm looking for something other than sum or product |
2020-11-04 20:59:01 +0100 | hackage | hdocs 0.5.5.0 - Haskell docs tool https://hackage.haskell.org/package/hdocs-0.5.5.0 (AlexandrRuchkin) |
2020-11-04 20:59:10 +0100 | invaser | (~Thunderbi@31.148.23.125) (Ping timeout: 246 seconds) |
2020-11-04 20:59:27 +0100 | <jle`> | application isn't wrong, i think |
2020-11-04 20:59:40 +0100 | <jle`> | like how if you apply 'negate' to '1', you get -1 |
2020-11-04 20:59:43 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 258 seconds) |
2020-11-04 20:59:47 +0100 | <geekosaur> | application is correct; [Int] can also be written ([] Int) |
2020-11-04 21:00:14 +0100 | <matthew-> | ok, so [] :: * -> *, so it is application, just at the type level |
2020-11-04 21:00:20 +0100 | <geekosaur> | similarly for Maybe Int which doesn't have the mixfix notation |
2020-11-04 21:00:36 +0100 | <matthew-> | ok, this makes sense |
2020-11-04 21:01:42 +0100 | fresheyeball | (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.7.1) |
2020-11-04 21:01:43 +0100 | <hekkaidekapus> | (But [] is overloaded. At the value level, it stands for the empty list.) |
2020-11-04 21:01:46 +0100 | rprije | (~rprije@194-193-168-77.tpgi.com.au) |
2020-11-04 21:03:36 +0100 | <matthew-> | hekkaidekapus: yes, this is exactly the thing that I'm trying to straighten out in my head |
2020-11-04 21:04:06 +0100 | <jle`> | yeah, this is an unfortunate haskell namespacing thing that isn't unique to lists |
2020-11-04 21:04:07 +0100 | jespada | (~jespada@90.254.245.49) |
2020-11-04 21:04:15 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-104-94.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2020-11-04 21:04:15 +0100 | <jle`> | @let data MyType a = MyType a |
2020-11-04 21:04:16 +0100 | <lambdabot> | Defined. |
2020-11-04 21:04:28 +0100 | <geekosaur> | it's not so different from: data Foo a = Foo | Bar a (Foo a) |
2020-11-04 21:04:35 +0100 | <jle`> | here we have MyType as a type construfctor, and also MyType as a data constructor |
2020-11-04 21:04:37 +0100 | <jle`> | whoops |
2020-11-04 21:04:41 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds) |
2020-11-04 21:05:43 +0100 | conal | (~conal@66.115.157.70) (Quit: Computer has gone to sleep.) |
2020-11-04 21:05:56 +0100 | <matthew-> | yes, I'm just trying to figure out if I can implement type inference of lists as builtins without going the whole hog of ADTs and recursive types |
2020-11-04 21:06:48 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-104-94.w86-212.abo.wanadoo.fr) |
2020-11-04 21:07:47 +0100 | <matthew-> | if I add TypeApp then I guess I should really rework TypeArrow to be l -> r -> TypeApp(TypeApp(Const("->"), l), r) |
2020-11-04 21:08:01 +0100 | <ski> | you could probably special case any particular single (possibly recursive) algebraic data type, in a language you're designing |
2020-11-04 21:08:28 +0100 | thir | (~thir@p200300f27f0b7e00f4e9381c2bf90854.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-11-04 21:08:44 +0100 | Guest76112 | (uid472329@gateway/web/irccloud.com/x-ennruecymrcxflva) |
2020-11-04 21:09:49 +0100 | <matthew-> | ski: well if I have empty list constructor and cons as builtins, then I think I can get away with just starting the type inference env with suitable types for both of those functions. I'm just trying to get clear how to actually represent list foo as a type |
2020-11-04 21:10:13 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) (Remote host closed the connection) |
2020-11-04 21:10:20 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-11-04 21:10:41 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) |
2020-11-04 21:12:11 +0100 | xerox_ | (~xerox@unaffiliated/xerox) |
2020-11-04 21:13:31 +0100 | <ski> | specify that empty list has elements of any type you like; and that non-empty list construction takes a value of some type and a list with elements of that type, and gives a list with elements of that type |
2020-11-04 21:14:09 +0100 | o1lo01ol1o | (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection) |
2020-11-04 21:14:31 +0100 | hackage | hsdev 0.3.4.0 - Haskell development library https://hackage.haskell.org/package/hsdev-0.3.4.0 (AlexandrRuchkin) |
2020-11-04 21:15:36 +0100 | <ski> | to express the above in Haskell terms, given `data List a = Nil | Cons a (List a)', you specify that `Nil :: List a' and `Cons :: a -> List a -> List a' (where `a' is a type variable, `Nil' and `Cons' being polymorphic operations where `a' can be (consistently) replaced by any specific type) |
2020-11-04 21:15:42 +0100 | knupfer | (~Thunderbi@200116b82c1ba4001c1efa9cfbaac5ab.dip.versatel-1u1.de) (Ping timeout: 244 seconds) |
2020-11-04 21:16:17 +0100 | <ski> | matthew- : however, you'll presumably also want some way to do a case-distinction on whether a list is empty or not (and in the latter case, access the head element, and the tail list) |
2020-11-04 21:17:44 +0100 | <matthew-> | yes - I'm doing pattern matching too |
2020-11-04 21:18:06 +0100 | <matthew-> | presumably I just use normal inference and then unify the type of the pattern with the type of the expr |
2020-11-04 21:19:20 +0100 | waskell_ | (~quassel@d66-183-127-166.bchsia.telus.net) |
2020-11-04 21:20:17 +0100 | nados | (~dan@69-165-210-185.cable.teksavvy.com) (Remote host closed the connection) |
2020-11-04 21:20:28 +0100 | Lycurgus | (~niemand@98.4.97.110) (Quit: Exeunt) |
2020-11-04 21:20:45 +0100 | nados | (~dan@69-165-210-185.cable.teksavvy.com) |
2020-11-04 21:21:00 +0100 | hackage | reflex-gadt-api 0.1.0.0 - Interact with a GADT API in your reflex-dom application. https://hackage.haskell.org/package/reflex-gadt-api-0.1.0.0 (abrar) |
2020-11-04 21:21:02 +0100 | asthasr | (~asthasr@162.210.29.120) (Quit: asthasr) |
2020-11-04 21:21:54 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-04 21:22:16 +0100 | waskell | (~quassel@d66-183-124-7.bchsia.telus.net) (Ping timeout: 246 seconds) |
2020-11-04 21:22:47 +0100 | nados | (~dan@69-165-210-185.cable.teksavvy.com) (Remote host closed the connection) |
2020-11-04 21:23:04 +0100 | nados | (~dan@69-165-210-185.cable.teksavvy.com) |
2020-11-04 21:23:11 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-11-04 21:24:12 +0100 | nados | (~dan@69-165-210-185.cable.teksavvy.com) (Remote host closed the connection) |
2020-11-04 21:24:40 +0100 | nados | (~dan@69-165-210-185.cable.teksavvy.com) |
2020-11-04 21:25:38 +0100 | <ski> | matthew- : yea, should work (in absense of existentials, GADTs, higher-rank). while patterns are more restrictive than expressions, their (type, in this case) behaviour should correspond to each other, on the overlap |
2020-11-04 21:26:02 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2020-11-04 21:26:10 +0100 | Franciman | (~francesco@host-79-36-167-172.retail.telecomitalia.it) |
2020-11-04 21:26:39 +0100 | knupfer | (~Thunderbi@i5E86B46C.versanet.de) |
2020-11-04 21:27:39 +0100 | <hekkaidekapus> | To go overboard, if more powerful patterns are needed, views could come into play. (But that’s another can of worms :) |
2020-11-04 21:28:36 +0100 | <matthew-> | ski : cool. I guess it's more: for each fv(pattern), treat as Abs, so introduce new type var. Infer type of branch body, which will constrain these fresh vars. With that info, infer the type of the pattern. And then finally check the pattern type unifies with the case expression type |
2020-11-04 21:30:40 +0100 | <matthew-> | and yes, I'm definitely keeping this simple - no higher-rank types, GADTs or other madness ;) |
2020-11-04 21:30:58 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2020-11-04 21:32:01 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 264 seconds) |
2020-11-04 21:32:28 +0100 | <ski> | you could infer the type of the branch pattern before the type of the branch expression |
2020-11-04 21:32:46 +0100 | <ski> | matthew- : HM ? |
2020-11-04 21:32:59 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
2020-11-04 21:36:47 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-04 21:36:55 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-11-04 21:37:13 +0100 | <ski> | matthew- : btw, if you've not seen it, perhaps "Polymorphic Type Inference" by Michael I. Schwartzbach in 1995-03 at <https://cs.au.dk/~amoeller/mis/typeinf.p(s|df)>,<https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.57.1493> could be interesting |
2020-11-04 21:38:20 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-04 21:38:52 +0100 | johnw | (~johnw@haskell/developer/johnw) |
2020-11-04 21:39:54 +0100 | Tario | (~Tario@37.218.241.6) |
2020-11-04 21:40:36 +0100 | <hekkaidekapus> | matthew-: You can introduce a match construct which takes 2 arguments—a pattern and a value—and either fails or substitues variables in the pattern with values in the value. |
2020-11-04 21:40:48 +0100 | Tario | (~Tario@37.218.241.6) (Read error: Connection reset by peer) |
2020-11-04 21:40:59 +0100 | Tario | (~Tario@201.192.165.173) |
2020-11-04 21:41:06 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
2020-11-04 21:41:29 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-11-04 21:41:30 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2020-11-04 21:42:11 +0100 | <hekkaidekapus> | How to define that construct is discussed in details in Types and Programming Languages. |
2020-11-04 21:42:16 +0100 | avdb | (~avdb@ip-62-235-73-30.dsl.scarlet.be) (Ping timeout: 265 seconds) |
2020-11-04 21:42:19 +0100 | <hekkaidekapus> | @where TaPL |
2020-11-04 21:42:19 +0100 | <lambdabot> | "Types and Programming Languages" by Benjamin C. Pierce in 2002-02-01 at <https://www.cis.upenn.edu/~bcpierce/tapl/> |
2020-11-04 21:43:40 +0100 | <ski> | i sortof dislike view patterns .. |
2020-11-04 21:43:51 +0100 | thir | (~thir@pd9e1bd8a.dip0.t-ipconnect.de) |
2020-11-04 21:44:00 +0100 | <hekkaidekapus> | ski: That’s for me? |
2020-11-04 21:44:53 +0100 | <hekkaidekapus> | I was really going overboars: it is “views” in the Idris sense. |
2020-11-04 21:45:04 +0100 | <hekkaidekapus> | *overboard |
2020-11-04 21:47:23 +0100 | <matthew-> | ski: (sorry, was afk). Yes, HM |
2020-11-04 21:47:40 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-11-04 21:47:47 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection) |
2020-11-04 21:47:53 +0100 | <ski> | i dunno the Idris sense |
2020-11-04 21:48:11 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) |
2020-11-04 21:48:33 +0100 | <matthew-> | yeah, I have physical TAPL and ATTPL back from PhD days some years back... |
2020-11-04 21:49:42 +0100 | <matthew-> | ski: thanks for the paper pointer; reading now |
2020-11-04 21:50:57 +0100 | <hekkaidekapus> | ski: <https://paste.tomsmeding.com/ifpl4FiR> |
2020-11-04 21:51:06 +0100 | sfvm | (~sfvm@37.228.215.148) (Quit: off to the basement, mixing up the medicine) |
2020-11-04 21:51:23 +0100 | magicman | (~tchakkazu@static-47-180-28-65.lsan.ca.frontiernet.net) (Quit: Lost terminal) |
2020-11-04 21:52:13 +0100 | thir | (~thir@pd9e1bd8a.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2020-11-04 21:52:22 +0100 | <bqv> | sequence behaves nicely with IO, right? |
2020-11-04 21:53:05 +0100 | <ski> | "nicely" means ? |
2020-11-04 21:53:30 +0100 | <ski> | hekkaidekapus : why the index ? |
2020-11-04 21:53:35 +0100 | <bqv> | i feel like there are gotchas somewhere |
2020-11-04 21:53:47 +0100 | <bqv> | but i can't imagine how |
2020-11-04 21:54:05 +0100 | <bqv> | if i'm talking nonsense, just means i'm overly paranoid. nevermind :) |
2020-11-04 21:54:19 +0100 | <ski> | it's not tail-recursive, if that's what you were wondering about |
2020-11-04 21:54:27 +0100 | cosimone | (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Ping timeout: 244 seconds) |
2020-11-04 21:55:11 +0100 | <bqv> | having trouble figuring the implications of that |
2020-11-04 21:56:01 +0100 | <dsal> | Is there an easy way to get GHCI to run in a different Monad? |
2020-11-04 21:56:07 +0100 | <ski> | if you use it on a really long list, it'll use a lot of stack |
2020-11-04 21:56:16 +0100 | <dsal> | In particular, my own transformer stack over IO |
2020-11-04 21:56:23 +0100 | __xor | (~xor@74.215.46.133) |
2020-11-04 21:56:35 +0100 | argent0 | (~argent0@168.227.96.2) |
2020-11-04 21:56:36 +0100 | <bqv> | hm, ok |
2020-11-04 21:56:41 +0100 | _xor | (~xor@74.215.46.133) (Read error: Connection reset by peer) |
2020-11-04 21:56:45 +0100 | <geekosaur> | dsal: there's a command line option |
2020-11-04 21:57:10 +0100 | <ski> | not afaik, dsal. i guess you might be able to do some wrapper on each invocation |
2020-11-04 21:57:22 +0100 | <hekkaidekapus> | ski: The index transforms input is some preferred forms which can then be inspected with “covering functions”, another Idriss-ism. But I guess I’m way off-topic now. |
2020-11-04 21:58:04 +0100 | <ski> | hekkaidekapus : i wonder whether that has any similarity to the (non-dependent) "active patterns" in F# |
2020-11-04 21:58:10 +0100 | <dsal> | hmm... Yeah, running my own ghci would be kind of neat if I had an easy way to do that. The way I'm doing it isn't hard enough. |
2020-11-04 21:58:37 +0100 | <hekkaidekapus> | ski: Unfortunately, I dunno F# ;) |
2020-11-04 21:59:05 +0100 | <geekosaur> | https://downloads.haskell.org/ghc/latest/docs/html/users_guide/ghci.html#using-a-custom-interactiv… note that the type can be something other than IO, although the example is still in IO |
2020-11-04 21:59:39 +0100 | <geekosaur> | hm, not qute although it has that C a => so as long as it resolves to IO you're good to go |
2020-11-04 21:59:46 +0100 | <geekosaur> | so a stack over IO should work |
2020-11-04 22:00:01 +0100 | <ski> | i mean, you could make an `IORef S', and then a combinator that used that, having type `StateT S IO a -> IO a', updating, then wrapping each invocation in the interactor with that combinator |
2020-11-04 22:00:02 +0100 | dscho | (~dscho@217.146.82.202) () |
2020-11-04 22:00:54 +0100 | AlterEgo- | (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving) |
2020-11-04 22:01:25 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2020-11-04 22:01:43 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-04 22:02:31 +0100 | hackage | esqueleto 3.4.0.1 - Type-safe EDSL for SQL queries on persistent backends. https://hackage.haskell.org/package/esqueleto-3.4.0.1 (parsonsmatt) |
2020-11-04 22:03:44 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
2020-11-04 22:04:13 +0100 | <ski> | hekkaidekapus : it's like defining a set of complete, non-overlapping, pattern synonyms, using a single common definition that acts like a view pattern resulting in a corresponding data type with constructors being the alternatives |
2020-11-04 22:04:42 +0100 | __monty__ | (~toonn@unaffiliated/toonn) (Quit: leaving) |
2020-11-04 22:05:29 +0100 | <hekkaidekapus> | ski: hmm… The set still mirrors the canonic constructors? |
2020-11-04 22:05:52 +0100 | <ski> | no, could be any you like |
2020-11-04 22:06:12 +0100 | <hekkaidekapus> | In that case, that’s like Idris’ views then. |
2020-11-04 22:06:57 +0100 | <hekkaidekapus> | (With the non-dependent caveat, of course.) |
2020-11-04 22:07:08 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
2020-11-04 22:07:23 +0100 | waskell | (~quassel@d173-181-98-227.bchsia.telus.net) |
2020-11-04 22:07:34 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds) |
2020-11-04 22:09:43 +0100 | <ski> | there's two variants. one is defining an active pattern with just a single alternative, which can fail to match. the body will signal failure, by computing a `Maybe'. the other one is having a set of alternatives, and the single body will inspect the input value, do whatever branching (e.g. using conditionals) that it likes, and "return the alternative" that it elected should match |
2020-11-04 22:09:52 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2020-11-04 22:10:40 +0100 | waskell_ | (~quassel@d66-183-127-166.bchsia.telus.net) (Ping timeout: 272 seconds) |
2020-11-04 22:11:03 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-04 22:11:04 +0100 | <ski> | (ah, acually, there was also a non-failing single-pattern version. see <https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/active-patterns>) |
2020-11-04 22:13:47 +0100 | <hekkaidekapus> | Those alternatives are the closest sibling to views in Idris. Now, to avoid syntactic clutter, there is a with builtin to choose which alternative to use when inspecting the input. |
2020-11-04 22:14:21 +0100 | <hekkaidekapus> | oh, oopsy. Meant to highlight with ;) |
2020-11-04 22:14:47 +0100 | <hekkaidekapus> | (And thanks for the URL, will take a look.) |
2020-11-04 22:17:38 +0100 | ubert | (~Thunderbi@p200300ecdf1e5367e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-11-04 22:17:57 +0100 | ubert | (~Thunderbi@p200300ecdf1e5367e6b318fffe838f33.dip0.t-ipconnect.de) |
2020-11-04 22:19:14 +0100 | borne | (~fritjof@200116b864d4e2005d0cb1433c5d4cbb.dip.versatel-1u1.de) (Ping timeout: 264 seconds) |
2020-11-04 22:20:58 +0100 | Tops21 | (~Tobias@dyndsl-095-033-016-001.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2020-11-04 22:22:26 +0100 | waskell_ | (~quassel@d66-183-127-166.bchsia.telus.net) |
2020-11-04 22:23:35 +0100 | <koz_> | Where is the Data.Unique.Tag that dependent-map's docs refer to located? |
2020-11-04 22:23:36 +0100 | waskell__ | (~quassel@d173-181-98-227.bchsia.telus.net) |
2020-11-04 22:23:39 +0100 | <koz_> | The link misses on Hackage. |
2020-11-04 22:26:17 +0100 | <hekkaidekapus> | koz_: <https://hackage.haskell.org/package/prim-uniq-0.2/docs/Data-Unique-Tag.html> |
2020-11-04 22:26:29 +0100 | waskell | (~quassel@d173-181-98-227.bchsia.telus.net) (Ping timeout: 244 seconds) |
2020-11-04 22:26:29 +0100 | <hekkaidekapus> | (Found by following the source.) |
2020-11-04 22:26:58 +0100 | <koz_> | Nice, thank you! |
2020-11-04 22:26:59 +0100 | waskell__ | (~quassel@d173-181-98-227.bchsia.telus.net) (Client Quit) |
2020-11-04 22:27:04 +0100 | <hekkaidekapus> | yw |
2020-11-04 22:27:13 +0100 | waskell_ | (~quassel@d66-183-127-166.bchsia.telus.net) (Ping timeout: 260 seconds) |
2020-11-04 22:28:45 +0100 | <koz_> | So if I were to use DMap with that Tag, I guess I need to have k ~ Tag s for some s? |
2020-11-04 22:28:47 +0100 | <dsal> | geekosaur: thanks for the link. I should eventually do something useful here. |
2020-11-04 22:28:49 +0100 | <koz_> | What would be suitable for s? |
2020-11-04 22:29:38 +0100 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Ping timeout: 265 seconds) |
2020-11-04 22:29:44 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds) |
2020-11-04 22:29:55 +0100 | <dsal> | My yak was "I want to look at some of this data I've stored." Data is JSON from an upstream API, except I removed a few fields that are huge and temporary. Then the unmarshaling fails because they're required. So I change how I remove them. Then I want to make a lens through the marshaled data and realized I don't have a marshaler… |
2020-11-04 22:30:05 +0100 | <dsal> | I'm not sure what I *started* doing, but I found a bunch of things I can make better. |
2020-11-04 22:30:11 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2020-11-04 22:30:32 +0100 | waskell | (~quassel@d66-183-127-166.bchsia.telus.net) |
2020-11-04 22:30:41 +0100 | fresheyeball | (~isaac@c-71-237-105-37.hsd1.co.comcast.net) |
2020-11-04 22:31:03 +0100 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) |
2020-11-04 22:31:04 +0100 | <fresheyeball> | how do I explicitly import a pattern? |
2020-11-04 22:31:09 +0100 | <fresheyeball> | I can't figure it out |
2020-11-04 22:31:18 +0100 | <koz_> | fresheyeball: import Foo.Bar (pattern Baz) |
2020-11-04 22:31:26 +0100 | <koz_> | You have to have PatternSynonyms on. |
2020-11-04 22:31:57 +0100 | <fresheyeball> | oh odd |
2020-11-04 22:32:10 +0100 | <fresheyeball> | ok yeah, if I have the language pragma on in the importing file I can import explicitly |
2020-11-04 22:32:17 +0100 | o1lo01ol1o | (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
2020-11-04 22:32:21 +0100 | <koz_> | Yeah, that caught me out recently too. |
2020-11-04 22:32:21 +0100 | <fresheyeball> | but if I have it off, I can only import impplicitly |
2020-11-04 22:32:30 +0100 | borne | (~fritjof@200116b864d4e2005d0cb1433c5d4cbb.dip.versatel-1u1.de) |
2020-11-04 22:32:49 +0100 | KhoN_1 | (~KhoN@cm-84.208.147.132.getinternet.no) (Read error: Connection reset by peer) |
2020-11-04 22:33:07 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) |
2020-11-04 22:34:00 +0100 | gobbleguy | glguy |
2020-11-04 22:35:16 +0100 | vZS1 | (~vZS1@host-92-20-231-81.as13285.net) (Remote host closed the connection) |
2020-11-04 22:35:50 +0100 | mdunnio | (~mdunnio@208.59.170.5) |
2020-11-04 22:35:59 +0100 | alp | (~alp@2a01:e0a:58b:4920:543f:1fa8:3f98:5d73) |
2020-11-04 22:36:45 +0100 | o1lo01ol1o | (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 240 seconds) |
2020-11-04 22:37:16 +0100 | comerijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2020-11-04 22:38:08 +0100 | geekosaur | (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection) |
2020-11-04 22:38:09 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2020-11-04 22:38:37 +0100 | catchme | (uid355354@gateway/web/irccloud.com/x-jjbcbrnidixjkmxm) |
2020-11-04 22:40:29 +0100 | invaser | (~Thunderbi@31.148.23.125) |
2020-11-04 22:40:39 +0100 | mdunnio | (~mdunnio@208.59.170.5) (Ping timeout: 256 seconds) |
2020-11-04 22:41:30 +0100 | <tomjaguarpaw> | Hedgehog checkParallel runs the tests in parallel in ghci but not in a compiled program. Am I doing something obviously wrong? |
2020-11-04 22:41:44 +0100 | invaser | (~Thunderbi@31.148.23.125) (Remote host closed the connection) |
2020-11-04 22:42:20 +0100 | sillyotter | (~sillyotte@2605:a000:1004:819f:8b31:8f61:3553:9e1f) |
2020-11-04 22:45:21 +0100 | magicman | (~tchakkazu@static-47-180-28-65.lsan.ca.frontiernet.net) |
2020-11-04 22:45:23 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2020-11-04 22:45:30 +0100 | sillyotter | (~sillyotte@2605:a000:1004:819f:8b31:8f61:3553:9e1f) (Client Quit) |
2020-11-04 22:47:21 +0100 | <koz_> | tomjaguarpaw: Did you build with -threaded and tell the RTS to use all your cores? |
2020-11-04 22:48:54 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep) |
2020-11-04 22:48:56 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
2020-11-04 22:49:01 +0100 | belphegor666 | (~satan@HSI-KBW-046-005-253-003.hsi8.kabel-badenwuerttemberg.de) |
2020-11-04 22:55:37 +0100 | tdhttt | (~tdhttt@89.45.90.161) (Ping timeout: 260 seconds) |
2020-11-04 22:56:02 +0100 | <tomjaguarpaw> | Ah, that does the trick, thanks |
2020-11-04 22:56:21 +0100 | <tomjaguarpaw> | Strangely though the wall clock time is not reduced, despite it running the tests in parallel |
2020-11-04 22:56:29 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) |
2020-11-04 22:57:13 +0100 | <Axman6> | Welcome to the joys of parallelism |
2020-11-04 22:57:39 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-04 22:57:42 +0100 | <tomjaguarpaw> | That's strange. What's the overheard then? |
2020-11-04 22:57:44 +0100 | belphegor666 | (~satan@HSI-KBW-046-005-253-003.hsi8.kabel-badenwuerttemberg.de) (Quit: WeeChat 2.9) |
2020-11-04 22:57:53 +0100 | tdhttt | (~tdhttt@2600:8802:2203:2500:799b:bc7:7aac:82a9) |
2020-11-04 22:58:00 +0100 | belphegor666 | (~satan@HSI-KBW-046-005-253-003.hsi8.kabel-badenwuerttemberg.de) |
2020-11-04 22:58:16 +0100 | <tomjaguarpaw> | I wonder if it's the Hedgehog code that renders the output |
2020-11-04 22:58:20 +0100 | <tomjaguarpaw> | It updates a *lot* |
2020-11-04 22:58:22 +0100 | chaosmasttter | (~chaosmast@p200300c4a7117c01215e340256877fbe.dip0.t-ipconnect.de) (Quit: WeeChat 2.9) |
2020-11-04 22:58:39 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer) |
2020-11-04 22:58:48 +0100 | <Axman6> | it would depend on your program. it could be GC - try running it without parallel GC. Also try running with +RTS -s (I think, see +RTS --help for all the optiosn) to get a report from the RTS on things like productivity |
2020-11-04 23:00:08 +0100 | conal | (~conal@66.115.157.70) |
2020-11-04 23:00:26 +0100 | Rudd0 | (~Rudd0@185.189.115.108) |
2020-11-04 23:00:49 +0100 | britva | (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Client Quit) |
2020-11-04 23:01:05 +0100 | <Axman6> | lots of tiny tests are unlikely to get much speedup from parallelism with other overhead, it could very well be the hedgehog coordination. feel free to share some code |
2020-11-04 23:01:25 +0100 | knupfer | (~Thunderbi@i5E86B46C.versanet.de) (Ping timeout: 264 seconds) |
2020-11-04 23:01:50 +0100 | <tomjaguarpaw> | Thanks, says 1.2s GC and 1s MUT |
2020-11-04 23:02:05 +0100 | <Axman6> | looks like GC then. there are eays to reduce that though |
2020-11-04 23:02:20 +0100 | <Axman6> | like judt making it allocate a big enough heap it doesn't need to GC |
2020-11-04 23:02:20 +0100 | <tomjaguarpaw> | Productivity 45.4% of total user |
2020-11-04 23:02:28 +0100 | <Axman6> | that's pretty bad |
2020-11-04 23:02:43 +0100 | <Axman6> | stop making so much garbage! |
2020-11-04 23:03:05 +0100 | <tomjaguarpaw> | Hah, I'm doing 10k random samples for each of about 15 property tests |
2020-11-04 23:03:22 +0100 | belphegor666 | (~satan@HSI-KBW-046-005-253-003.hsi8.kabel-badenwuerttemberg.de) (Quit: WeeChat 2.9) |
2020-11-04 23:03:31 +0100 | <tomjaguarpaw> | 1.6 GB allocated on the heap, so I guess I can make the heap big enough |
2020-11-04 23:05:08 +0100 | <tomjaguarpaw> | GC is now 0.375s but MUT is now 2.2s! |
2020-11-04 23:05:15 +0100 | <tomjaguarpaw> | I don't even understand what MUT si |
2020-11-04 23:05:24 +0100 | <tomjaguarpaw> | Perhaps something in Hedgehog is doing mutation |
2020-11-04 23:05:49 +0100 | dxld | (~dxld@80-109-136-248.cable.dynamic.surfer.at) (Remote host closed the connection) |
2020-11-04 23:06:09 +0100 | hyperisco | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 256 seconds) |
2020-11-04 23:06:52 +0100 | <tomjaguarpaw> | Well they run fast enough anyway. I was just confused. Thanks Axman6 and koz_ |
2020-11-04 23:07:01 +0100 | enva2712 | (~enva2712@cpe-75-86-42-2.wi.res.rr.com) (Quit: leaving) |
2020-11-04 23:07:34 +0100 | <koz_> | Axman6: How does one disable parallel GC again? |
2020-11-04 23:08:13 +0100 | <Axman6> | there's a flag... >_> |
2020-11-04 23:08:15 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-11-04 23:08:18 +0100 | <hekkaidekapus> | koz_: ghc -qg |
2020-11-04 23:08:19 +0100 | <Axman6> | I don't remember, I've never done it |
2020-11-04 23:08:30 +0100 | dxld | (~dxld@80-109-136-248.cable.dynamic.surfer.at) |
2020-11-04 23:08:34 +0100 | <koz_> | hekkaidekapus: Thanks! |
2020-11-04 23:09:00 +0100 | hackage | gopro-plus 0.4.1.2 - GoPro Plus Client API. https://hackage.haskell.org/package/gopro-plus-0.4.1.2 (dustin) |
2020-11-04 23:09:49 +0100 | hekkaidekapus | waves at dsal. |
2020-11-04 23:10:11 +0100 | dsal | uploads GoPro footage of yak shaving |
2020-11-04 23:10:29 +0100 | <hekkaidekapus> | lol |
2020-11-04 23:10:48 +0100 | <dsal> | I think my actual motivation was "I saw a thing on optics yesterday, so I want to at least touch a lens." |
2020-11-04 23:11:09 +0100 | <hekkaidekapus> | dsal: changelog: Unreleased changes ;) |
2020-11-04 23:11:26 +0100 | ubert | (~Thunderbi@p200300ecdf1e5367e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2020-11-04 23:11:44 +0100 | <dsal> | The lens that allows me to manipulate data within a JSON blob of a known type is kind of neat, though. |
2020-11-04 23:11:59 +0100 | ubert | (~Thunderbi@p200300ecdf1e5367e6b318fffe838f33.dip0.t-ipconnect.de) |
2020-11-04 23:12:04 +0100 | <dsal> | Yeah, ...1 to ...2 just added a few instances. I guess I could've mentioned that. |
2020-11-04 23:12:12 +0100 | <dsal> | I don't feel like I've added all the instances, though. |
2020-11-04 23:12:55 +0100 | <hekkaidekapus> | Did you switch to optics or you did some lensy stuff? |
2020-11-04 23:13:23 +0100 | <dsal> | I'm still using lens. |
2020-11-04 23:13:25 +0100 | wroathe_ | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
2020-11-04 23:13:52 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2020-11-04 23:14:06 +0100 | <hekkaidekapus> | Ah, cheers! (Just saw the commit.) |
2020-11-04 23:14:08 +0100 | <dsal> | I just made a lens on a thing that comes out of the DB as a ByteString where I can manipulate the structured that ByteString represents. |
2020-11-04 23:14:48 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2020-11-04 23:15:19 +0100 | elliott_ | (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) |
2020-11-04 23:15:37 +0100 | <dsal> | It's not stuff I *need* to do, but stuff I'd like to be able to do someday. dbresult & someblob . variations . whatever ?~ "stuff" |
2020-11-04 23:16:50 +0100 | coot | (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) |
2020-11-04 23:17:25 +0100 | wroathe_ | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Client Quit) |
2020-11-04 23:17:33 +0100 | son0p | (~son0p@181.136.122.143) |
2020-11-04 23:17:46 +0100 | wroathe | (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
2020-11-04 23:20:36 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
2020-11-04 23:22:08 +0100 | jakob_ | (~textual@p200300f49f16220018bfd377e039c2e3.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…) |
2020-11-04 23:23:53 +0100 | ubert | (~Thunderbi@p200300ecdf1e5367e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection) |
2020-11-04 23:24:10 +0100 | Neuromancer | (~Neuromanc@unaffiliated/neuromancer) |
2020-11-04 23:25:17 +0100 | jedws | (~jedws@101.184.150.81) |
2020-11-04 23:30:19 +0100 | Tario | (~Tario@201.192.165.173) |
2020-11-04 23:31:04 +0100 | kest10 | (~kest10@139.28.218.148) |
2020-11-04 23:32:03 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2020-11-04 23:34:05 +0100 | jakob_ | (~textual@p200300f49f1622005c3255e4d89f5bc8.dip0.t-ipconnect.de) |
2020-11-04 23:34:12 +0100 | heatsink | (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) |
2020-11-04 23:36:40 +0100 | christo | (~chris@81.96.113.213) |
2020-11-04 23:42:03 +0100 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2020-11-04 23:50:48 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2020-11-04 23:53:01 +0100 | o1lo01ol1o | (~o1lo01ol1@bl8-213-81.dsl.telepac.pt) |
2020-11-04 23:55:11 +0100 | fendor | (~fendor@178.115.130.128.wireless.dyn.drei.com) (Remote host closed the connection) |
2020-11-04 23:55:14 +0100 | conal | (~conal@66.115.157.70) (Quit: Computer has gone to sleep.) |
2020-11-04 23:56:57 +0100 | conal | (~conal@66.115.157.70) |
2020-11-04 23:57:08 +0100 | conal | (~conal@66.115.157.70) (Client Quit) |