Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→ 502,152 events total
2021-04-12 20:46:53 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds)
2021-04-12 20:46:59 jstn joins (~jstn@89.197.183.98)
2021-04-12 20:47:50 × mud quits (~mud@unaffiliated/kadoban) (Quit: bye)
2021-04-12 20:50:07 fendor__ is now known as fendor
2021-04-12 20:51:19 × LKoen quits (~LKoen@65.250.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.”)
2021-04-12 20:52:30 justan0theruser joins (~justanoth@unaffiliated/justanotheruser)
2021-04-12 20:53:49 × bobey88 quits (~bobey@72-172-218-188.fidnet.com) (Quit: The Lounge - https://thelounge.chat)
2021-04-12 20:54:31 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds)
2021-04-12 20:56:21 arpl parts (~ARPL@84-107-171-239.cable.dynamic.v4.ziggo.nl) ()
2021-04-12 20:56:26 × ystael quits (~ystael@214.sub-174-242-80.myvzw.com) (Read error: Connection reset by peer)
2021-04-12 20:56:31 × ram19890 quits (~ram@49.207.130.109) (Ping timeout: 252 seconds)
2021-04-12 20:58:15 freusque joins (63e6e881@cpef85e4245f305-cmf85e4245f303.cpe.net.cable.rogers.com)
2021-04-12 20:58:58 × nbloomf quits (~nbloomf@76.217.43.73) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-04-12 20:59:13 × Sorny quits (~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 240 seconds)
2021-04-12 21:00:21 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
2021-04-12 21:00:21 × andreas303 quits (~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 240 seconds)
2021-04-12 21:01:03 × Chai-T-Rex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
2021-04-12 21:01:24 Chai-T-Rex joins (~ChaiTRex@gateway/tor-sasl/chaitrex)
2021-04-12 21:01:28 × hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:c438:feb2:e809:229a) (Quit: Leaving)
2021-04-12 21:03:16 bobey88 joins (~bobey@72-172-218-188.fidnet.com)
2021-04-12 21:03:18 vv8 joins (~egp_@2.95.117.163)
2021-04-12 21:04:40 rj joins (~x@gateway/tor-sasl/rj)
2021-04-12 21:04:42 mud joins (~mud@unaffiliated/kadoban)
2021-04-12 21:04:45 andreas303 joins (~andreas@gateway/tor-sasl/andreas303)
2021-04-12 21:06:20 Jesin joins (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2021-04-12 21:06:28 × bobey88 quits (~bobey@72-172-218-188.fidnet.com) (Client Quit)
2021-04-12 21:07:07 × hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 260 seconds)
2021-04-12 21:11:28 nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-12 21:12:05 × nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection)
2021-04-12 21:13:13 nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-12 21:14:34 bobey88 joins (~bobey@72-172-218-188.fidnet.com)
2021-04-12 21:16:19 × frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds)
2021-04-12 21:16:20 × Varis quits (~Tadas@unaffiliated/varis) (Read error: Connection reset by peer)
2021-04-12 21:17:50 × jstn quits (~jstn@89.197.183.98) (Ping timeout: 246 seconds)
2021-04-12 21:27:12 ixlun joins (~user@109.249.184.235)
2021-04-12 21:28:42 dansho joins (~dansho@ec2-13-112-45-179.ap-northeast-1.compute.amazonaws.com)
2021-04-12 21:28:52 × ixlun quits (~user@109.249.184.235) (Remote host closed the connection)
2021-04-12 21:30:25 × freusque quits (63e6e881@cpef85e4245f305-cmf85e4245f303.cpe.net.cable.rogers.com) (Quit: Connection closed)
2021-04-12 21:31:01 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Remote host closed the connection)
2021-04-12 21:31:19 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
2021-04-12 21:32:40 ystael joins (~ystael@209.6.50.55)
2021-04-12 21:35:54 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2021-04-12 21:40:32 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-04-12 21:41:56 × Feuermagier_ quits (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) (Read error: Connection reset by peer)
2021-04-12 21:42:09 Feuermagier_ joins (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e)
2021-04-12 21:43:02 <maralorn> I wonder how this code could leak because the call to concurrently breaks tail call detection:
2021-04-12 21:43:06 × Guest35124 quits (~textual@mskresolve-a.mskcc.org) (Ping timeout: 260 seconds)
2021-04-12 21:43:30 maralorn < https://matrix.org/_matrix/media/r0/download/matrix.org/RpMuWoqelieVjAEJGjBTcTNx/message.txt >
2021-04-12 21:44:21 × rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 240 seconds)
2021-04-12 21:44:59 M9ndres[m] joins (m9ndresmat@gateway/shell/matrix.org/x-dfiqdthtgevvjnld)
2021-04-12 21:45:22 <monochrom> Is that a fork bomb?
2021-04-12 21:45:33 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds)
2021-04-12 21:47:52 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2021-04-12 21:47:58 rj joins (~x@gateway/tor-sasl/rj)
2021-04-12 21:50:00 <maralorn> monochrom: What? No. Well if that queue were very full maybe …
2021-04-12 21:50:11 Althar joins (5e039f1a@94.3.159.26)
2021-04-12 21:51:25 <maralorn> But it doesn‘t feel very bomby to me seeing that the number of threads grows only linear. But the handler is not supposed to run very long anyways.
2021-04-12 21:51:35 <Althar> Hello all, anyone with experience using haddock around here? I am trying to figure out if it is possible to exclude a module from the documentation. Specifically, I have an autogen module which I don't really want to feature in the documentation. I have another project setup similarly, with an autogen & somehow the module isn't documented there;
2021-04-12 21:51:36 <Althar> not sure what the difference could be. Thanks
2021-04-12 21:52:17 <Althar> specifically, I'm trying to hide my Paths_ autogen module
2021-04-12 21:53:00 <wz1000> maralorn: there is no 'tail call detection', but it probably leaks because of the way concurrently_ is defined (it retains a reference to the ThreadId of both threads until they both terminate)
2021-04-12 21:54:50 <maralorn> Now I wonder how I could work around that …
2021-04-12 21:55:07 <monochrom> concurrently_ waits for both jobs to finish. One such job is a recursive call. This is intentionally non-tail.
2021-04-12 21:55:33 <wz1000> but you probably don't want to use concurrently_ at all since if there is an exception in the handler it will bring down both threads
2021-04-12 21:56:18 × fendor quits (~fendor@77.119.130.199.wireless.dyn.drei.com) (Remote host closed the connection)
2021-04-12 21:56:49 <wz1000> tail calls don't mean much in Haskell
2021-04-12 21:57:09 <monochrom> But it regains the usual imperative meaning in IO.
2021-04-12 21:57:59 × srk quits (~sorki@unaffiliated/srk) (Ping timeout: 260 seconds)
2021-04-12 21:58:12 <monochrom> main = do { x; y; z } totally exhibits tail-call behaviour with the last statement z.
2021-04-12 21:58:13 <wz1000> not necessarily. If `concurrently_` was just defined as `concurrently_ left right = right` (as a degenerate example) it wouldn't grow the stack
2021-04-12 21:58:52 <wz1000> even though the original function still isn't tail call
2021-04-12 21:59:06 <wz1000> (this is true even with NOINLINE concurrently_)
2021-04-12 22:00:21 Rudd0 joins (~Rudd0@185.189.115.108)
2021-04-12 22:01:10 <monochrom> That can also be explained by saying "`concurrently_ left right = right` makes a tail call to right".
2021-04-12 22:01:22 acidjnk_new joins (~acidjnk@p200300d0c72b9561cdce4d77de6ce0bc.dip0.t-ipconnect.de)
2021-04-12 22:01:40 <wz1000> nope
2021-04-12 22:02:02 <wz1000> concurrently_ left right = forkIO right >> forkIO left
2021-04-12 22:02:08 <wz1000> that still doesn't leak
2021-04-12 22:02:14 × nilof quits (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 260 seconds)
2021-04-12 22:02:22 × e quits (e@freenode/staff/spy.edk) (Quit: edk)
2021-04-12 22:03:37 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
2021-04-12 22:04:21 × araujo quits (~araujo@unaffiliated/araujo) (Quit: My laptop has gone to ZZZzzz…)
2021-04-12 22:04:37 × ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-04-12 22:05:05 × nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
2021-04-12 22:05:26 × malumore quits (~malumore@151.62.112.168) (Ping timeout: 260 seconds)
2021-04-12 22:05:35 ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-12 22:07:37 × heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-12 22:07:44 <monochrom> That can also be explained by saying "forkIO returns promptly, so the model that says the 1st forkIO isn't a tail call (but it returns promptly anyway) and the 2nd forkIO is a tail call still explains the space observation".
2021-04-12 22:09:07 <wz1000> sounds like epicycles to me
2021-04-12 22:09:19 <monochrom> Yes I know. What's your replacement?
2021-04-12 22:09:38 × ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 246 seconds)
2021-04-12 22:09:52 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 252 seconds)
2021-04-12 22:10:09 <wz1000> reasoning about the behaviour of your program by understanding the operational semantics
2021-04-12 22:10:10 <monochrom> You have only stated that my model is not good. Where can I find a better model?
2021-04-12 22:10:10 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-12 22:12:43 <monochrom> I have done that. I have also looked at generated code.
2021-04-12 22:13:15 <wz1000> you don't have a model really. The point of the tail call model in other languages is so you can take one glance at the definition of your recursive function and figure out if it will blow up the stack. It already breaks down when its not purely syntactic anymore and you need to substitute in the definition of all the functions you call
2021-04-12 22:13:31 <monochrom> I have found that for IO, all that can be safely approximated and/or abstracted to: to execute "x >>= k", make a non-tail call to x, then make a tail call to k.
2021-04-12 22:17:56 × chenshen quits (~chenshen@2620:10d:c090:400::5:c73d) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
2021-04-12 22:18:51 × Althar quits (5e039f1a@94.3.159.26) (Quit: Connection closed)

All times are in UTC.