Logs: freenode/#haskell
| 2020-11-16 14:49:12 | × | jchia quits (~jchia@45.32.62.73) (Remote host closed the connection) |
| 2020-11-16 14:49:29 | <kuribas> | what's so bad about overlapping instances? |
| 2020-11-16 14:49:33 | → | avdb joins (~avdb@ip-62-235-12-238.dsl.scarlet.be) |
| 2020-11-16 14:49:58 | <hekkaidekapus> | tomjaguarpaw: 1) ghc -O2 -eventlog M.hs 2) ./M +RTS -lau 3) Roam Hackage searching the best events analyser for your liking. |
| 2020-11-16 14:50:02 | × | acidjnk_new quits (~acidjnk@p200300d0c718f648045012e87868ed0b.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2020-11-16 14:50:08 | → | jchia joins (~jchia@58.32.36.109) |
| 2020-11-16 14:51:12 | × | alp quits (~alp@2a01:e0a:58b:4920:1c72:d61a:7e48:b350) (Ping timeout: 260 seconds) |
| 2020-11-16 14:51:26 | <hekkaidekapus> | tomjaguarpaw: <https://www.well-typed.com/blog/2019/09/eventful-ghc/> |
| 2020-11-16 14:52:23 | × | heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 2020-11-16 14:52:49 | <merijn> | kuribas: Instance selection is implementation defined and may change depending on which instances are defined/exposed in your dependencies |
| 2020-11-16 14:53:10 | <kuribas> | merijn: they are all predefined |
| 2020-11-16 14:53:29 | <merijn> | hekkaidekapus: THat's not at runtime, though |
| 2020-11-16 14:53:36 | <merijn> | hekkaidekapus: At least not *within* the code |
| 2020-11-16 14:54:34 | × | da39a3ee5e6b4b0d quits (~da39a3ee5@cm-171-98-76-220.revip7.asianet.co.th) (Ping timeout: 260 seconds) |
| 2020-11-16 14:54:43 | <hekkaidekapus> | merijn: Not within the code but profiling an executable for GC events may be more helpful. |
| 2020-11-16 14:55:05 | → | da39a3ee5e6b4b0d joins (~da39a3ee5@ppp-27-55-82-144.revip3.asianet.co.th) |
| 2020-11-16 14:57:00 | hackage | prolude 0.0.0.8 - ITProTV's custom prelude https://hackage.haskell.org/package/prolude-0.0.0.8 (goolord) |
| 2020-11-16 14:57:43 | → | nados joins (~dan@69-165-210-185.cable.teksavvy.com) |
| 2020-11-16 14:59:14 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 2020-11-16 15:00:01 | × | Guest2830 quits (~geekosaur@84.39.117.57) () |
| 2020-11-16 15:00:32 | × | xff0x quits (~fox@2001:1a81:529e:a500:a7e0:336:a54e:d7a5) (Ping timeout: 260 seconds) |
| 2020-11-16 15:00:46 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 2020-11-16 15:00:50 | × | jakob_ quits (~textual@p200300f49f1622008dbefd778746ea7f.dip0.t-ipconnect.de) (Quit: Textual IRC Client: www.textualapp.com) |
| 2020-11-16 15:00:56 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9) |
| 2020-11-16 15:01:00 | → | __monty__ joins (~toonn@unaffiliated/toonn) |
| 2020-11-16 15:04:03 | × | gxt quits (~gxt@gateway/tor-sasl/gxt) (Ping timeout: 240 seconds) |
| 2020-11-16 15:04:20 | × | da39a3ee5e6b4b0d quits (~da39a3ee5@ppp-27-55-82-144.revip3.asianet.co.th) (Ping timeout: 256 seconds) |
| 2020-11-16 15:04:59 | <magicman> | The fact that Data.Map.Merge.{Lazy,Strict} exist makes me happy. Thanks to whomever did this. I don't know how long they've been there, but they're great. |
| 2020-11-16 15:06:02 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 264 seconds) |
| 2020-11-16 15:06:08 | <merijn> | I think micro-optimising that stuff in containers is David Feuer's baby? |
| 2020-11-16 15:07:40 | → | jedws joins (~jedws@101.184.175.183) |
| 2020-11-16 15:09:59 | → | lucasb joins (uid333435@gateway/web/irccloud.com/x-ezcrumvhrckwfdja) |
| 2020-11-16 15:12:39 | → | xff0x joins (~fox@2001:1a81:529e:a500:a7e0:336:a54e:d7a5) |
| 2020-11-16 15:13:22 | → | albert joins (~albert@user-5-173-8-190.play-internet.pl) |
| 2020-11-16 15:13:53 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 2020-11-16 15:15:40 | × | idhugo quits (~idhugo@users-1190.st.net.au.dk) (Ping timeout: 265 seconds) |
| 2020-11-16 15:17:48 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 2020-11-16 15:20:39 | <siraben> | Why would you need both lazy and strict map merging? |
| 2020-11-16 15:21:27 | <merijn> | siraben: If you need to combine values for existing keys then how you do that depends on whether you have a strict or lazy map :p |
| 2020-11-16 15:22:14 | <siraben> | I see. Does Data.Map default to strict or lazy? |
| 2020-11-16 15:22:40 | <merijn> | Data.Map exports lazy |
| 2020-11-16 15:22:55 | <merijn> | You need to import Data.Map.Strict for strict |
| 2020-11-16 15:22:58 | <siraben> | I see. |
| 2020-11-16 15:23:19 | <merijn> | (Note that the datatype is the same in both modules, only the functions chance) |
| 2020-11-16 15:23:21 | × | jedws quits (~jedws@101.184.175.183) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2020-11-16 15:24:13 | <siraben> | I've used IntMap to represent the store in a Scheme interpreter. Is that best strict or lazy? |
| 2020-11-16 15:25:42 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 2020-11-16 15:26:34 | <merijn> | siraben: The Map itself is always strict, so strict/lazy refers to the elements stored in it. So lazy map stores the (lazy, unevaluated) computation as value, whereas strict will store the evaluated thing as value |
| 2020-11-16 15:27:09 | <merijn> | So if you have a map storing "small" values (like Int) and you know that computing the value is cheap and/or you will always use all values, then you probably want strict |
| 2020-11-16 15:27:13 | × | acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 264 seconds) |
| 2020-11-16 15:27:51 | × | thunderrd quits (~thunderrd@183.182.111.169) (*.net *.split) |
| 2020-11-16 15:28:38 | → | vacm joins (~vacwm@70.23.92.191) |
| 2020-11-16 15:28:53 | <siraben> | The IntMap can be strict but grow unbounded in size right? |
| 2020-11-16 15:29:02 | <merijn> | because storing an int obviously costs less space than an arbitrary thunk |
| 2020-11-16 15:29:19 | <siraben> | https://github.com/siraben/r5rs-denot/blob/126031d43b222dd1056f93e8fa078317c8701d2d/src/SchemeTypes.hs#L107 |
| 2020-11-16 15:29:22 | <merijn> | siraben: strict just means that "values are evaluated to WHNF when you insert them" |
| 2020-11-16 15:29:50 | <siraben> | Sounds like I'd want a strict IntMap then since these values are Scheme values or functions |
| 2020-11-16 15:30:34 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2020-11-16 15:30:41 | → | Ariakenom joins (~Ariakenom@h-82-196-111-82.NA.cust.bahnhof.se) |
| 2020-11-16 15:31:00 | × | mmfood quits (~mmfood@81-232-132-159-no64.tbcn.telia.com) (Quit: Leaving) |
| 2020-11-16 15:31:53 | <tomjaguarpaw> | I've just noticed something very amusing. I can't pass +RTS to my executable when invoking cabal v2-exec because it as swallowed by cabal itself. |
| 2020-11-16 15:32:46 | <merijn> | tomjaguarpaw: Use -- before the +RTS |
| 2020-11-16 15:33:10 | <merijn> | tomjaguarpaw: So "cabal v2-exec myexe -- +RTS ..." |
| 2020-11-16 15:33:45 | <reactormonk> | I'm on "which recursion scheme function do I use?". I've got Recursive / Corecursive instances over my AST. I wanna change an annotation (and its type). That annotation depends on the value of the current node and its leaves. |
| 2020-11-16 15:33:59 | → | thunderrd joins (~thunderrd@183.182.111.169) |
| 2020-11-16 15:34:34 | <merijn> | tomjaguarpaw: Someone already thought of and solved that problem ;) |
| 2020-11-16 15:35:05 | <tomjaguarpaw> | What a clever person. And if there are two levels of nesting, -- -- ? |
| 2020-11-16 15:35:13 | <tomjaguarpaw> | I just used -with-rtsopts :D |
| 2020-11-16 15:36:51 | <merijn> | tomjaguarpaw: No clue, I've never had that problem nested doubly before :p |
| 2020-11-16 15:36:51 | × | knupfer quits (~Thunderbi@dynamic-046-114-148-109.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
| 2020-11-16 15:37:37 | → | gxt joins (~gxt@gateway/tor-sasl/gxt) |
| 2020-11-16 15:38:28 | → | da39a3ee5e6b4b0d joins (~da39a3ee5@cm-171-98-76-220.revip7.asianet.co.th) |
| 2020-11-16 15:45:31 | hackage | Z-Data 0.1.9.1 - Array, vector and text https://hackage.haskell.org/package/Z-Data-0.1.9.1 (winterland) |
| 2020-11-16 15:48:00 | × | pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!) |
| 2020-11-16 15:48:05 | <kuribas> | merijn: I can make this work without overlapping instances. It's just more ugly. |
| 2020-11-16 15:48:29 | <kuribas> | merijn: I would need a extra phantom type in the multiparam typeclass |
| 2020-11-16 15:48:44 | <kuribas> | merijn: A boolean to signify "stop searching" |
| 2020-11-16 15:48:45 | × | jespada quits (~jespada@90.254.245.49) (Ping timeout: 240 seconds) |
| 2020-11-16 15:50:11 | → | jespada joins (~jespada@90.254.245.49) |
| 2020-11-16 15:50:14 | → | hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-zpttjkkcshfghzwp) |
| 2020-11-16 15:51:27 | × | albert quits (~albert@user-5-173-8-190.play-internet.pl) (Quit: Leaving) |
| 2020-11-16 15:51:37 | × | ericsagn1 quits (~ericsagne@2405:6580:0:5100:1e63:f75b:d40e:f87e) (Ping timeout: 260 seconds) |
| 2020-11-16 15:53:40 | → | idhugo joins (~idhugo@80-62-116-101-mobile.dk.customer.tdc.net) |
| 2020-11-16 15:56:42 | → | GothAlice1 joins (~GothAlice@178.162.212.214) |
| 2020-11-16 15:58:49 | → | Martinsos joins (~user@cpe-188-129-116-164.dynamic.amis.hr) |
| 2020-11-16 15:59:14 | × | servo quits (~servo@41.92.97.254) (Remote host closed the connection) |
| 2020-11-16 15:59:15 | → | conal joins (~conal@64.71.133.70) |
| 2020-11-16 15:59:43 | × | conal quits (~conal@64.71.133.70) (Client Quit) |
| 2020-11-16 16:00:01 | → | carlomagno joins (~cararell@148.87.23.10) |
| 2020-11-16 16:01:06 | × | mputz quits (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 265 seconds) |
| 2020-11-16 16:01:21 | → | Rudd0 joins (~Rudd0@185.189.115.103) |
| 2020-11-16 16:03:02 | → | ericsagn1 joins (~ericsagne@2405:6580:0:5100:af5d:a404:2c6:5e7e) |
| 2020-11-16 16:04:55 | → | royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 2020-11-16 16:05:41 | <dminuoso> | 15:43:39 kuribas | like: asClass :: IsSubClass a b => Attribute a tp -> Attribute b tp |
| 2020-11-16 16:05:46 | <dminuoso> | kuribas: Take a look at optics |
| 2020-11-16 16:05:57 | <dminuoso> | They implement a hierarchy with subtyping, supported by type families |
| 2020-11-16 16:06:20 | <dminuoso> | Including utilities to calculate least upper bounds |
| 2020-11-16 16:06:29 | → | alp joins (~alp@2a01:e0a:58b:4920:e453:474f:9209:5f93) |
| 2020-11-16 16:06:30 | <dminuoso> | See |
| 2020-11-16 16:06:32 | <dminuoso> | https://hackage.haskell.org/package/optics-core-0.3.0.1/docs/Optics-Internal-Optic-Subtyping.html#t:Is |
All times are in UTC.