Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
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.