Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,804,178 events total
2021-08-20 17:28:49 azeem joins (~azeem@176.200.243.66)
2021-08-20 17:29:39 × o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
2021-08-20 17:30:39 Maya50 joins (~Maya@p4ffdb725.dip0.t-ipconnect.de)
2021-08-20 17:34:05 × ananthakumaran quits (~ananthaku@49.207.194.59) (Quit: leaving)
2021-08-20 17:35:22 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-20 17:36:19 o1lo01ol1o joins (~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
2021-08-20 17:37:24 × azeem quits (~azeem@176.200.243.66) (Read error: Connection reset by peer)
2021-08-20 17:37:39 azeem joins (~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
2021-08-20 17:41:22 × o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
2021-08-20 17:43:46 o1lo01ol1o joins (~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
2021-08-20 17:45:21 retroid_ joins (~retro@5ec19a54.skybroadband.com)
2021-08-20 17:48:28 × o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
2021-08-20 17:51:10 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-08-20 17:55:06 × Matthias1 quits (~Matthias1@casewireless11.CWRU.Edu) (Read error: Connection reset by peer)
2021-08-20 17:56:21 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-08-20 18:02:28 × fef quits (~thedawn@user/thedawn) (Remote host closed the connection)
2021-08-20 18:02:55 o1lo01ol1o joins (~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
2021-08-20 18:06:01 lavaman joins (~lavaman@98.38.249.169)
2021-08-20 18:07:34 × o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Ping timeout: 252 seconds)
2021-08-20 18:09:13 × keutoi quits (~keutoi@157.48.195.127) (Ping timeout: 252 seconds)
2021-08-20 18:09:46 notzmv joins (~zmv@user/notzmv)
2021-08-20 18:10:19 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
2021-08-20 18:11:14 keutoi joins (~keutoi@106.208.52.196)
2021-08-20 18:13:45 jakalx joins (~jakalx@base.jakalx.net)
2021-08-20 18:18:59 lavaman joins (~lavaman@98.38.249.169)
2021-08-20 18:23:19 × Xnuk quits (~xnuk@45.76.202.58) (Quit: ZNC - https://znc.in)
2021-08-20 18:24:02 Xnuk joins (~xnuk@45.76.202.58)
2021-08-20 18:29:26 fresheyeball joins (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net)
2021-08-20 18:31:44 <_bin> What is the idiomatic way to run a loop until SIGTERM, forking a new thread with the same function every n minutes?
2021-08-20 18:34:46 o1lo01ol1o joins (~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
2021-08-20 18:35:07 <dsal> forever + threadDelay + async, I suppose.
2021-08-20 18:36:10 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-20 18:36:39 Guest38 joins (~Guest38@75-54-107-59.lightspeed.hstntx.sbcglobal.net)
2021-08-20 18:36:49 <Rembane_> _bin: What's a thread in this case?
2021-08-20 18:38:33 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-20 18:38:49 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-20 18:40:46 dschrempf joins (~dominik@92-249-159-252.pool.digikabel.hu)
2021-08-20 18:42:13 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 252 seconds)
2021-08-20 18:42:25 × keutoi quits (~keutoi@106.208.52.196) (Quit: leaving)
2021-08-20 18:42:27 × Guest38 quits (~Guest38@75-54-107-59.lightspeed.hstntx.sbcglobal.net) (Quit: Client closed)
2021-08-20 18:43:21 <_bin> Rembane_: forkIO, I guess
2021-08-20 18:45:13 <Rembane_> _bin: Cool, dsal's idea should work for that too. :)
2021-08-20 18:48:20 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 258 seconds)
2021-08-20 18:48:59 Guest60 joins (~Guest60@modemcable169.17-58-74.mc.videotron.ca)
2021-08-20 18:51:19 × o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Remote host closed the connection)
2021-08-20 18:52:31 <Guest60> I'm writting wrappers for a bunch of different things (a database and a bunch of HTTP APIs), I'm not sure how to handle errors
2021-08-20 18:52:36 <Guest60> should I just define custom Error sum types in each module, make them instances of Exception and throw in IO ? I mostly want everything to compose nicely
2021-08-20 18:53:13 × dschrempf quits (~dominik@92-249-159-252.pool.digikabel.hu) (Ping timeout: 252 seconds)
2021-08-20 18:54:25 <_bin> dsal, Remobane_: Thanks.
2021-08-20 19:00:22 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-08-20 19:00:22 × benin036932 quits (~benin@183.82.178.142) (Ping timeout: 252 seconds)
2021-08-20 19:01:08 × Maya50 quits (~Maya@p4ffdb725.dip0.t-ipconnect.de) (Quit: Client closed)
2021-08-20 19:07:44 benin036932 joins (~benin@183.82.178.142)
2021-08-20 19:11:06 <_bin> Any recommendation on logging frameworks? co-log and katip appear to be two common ones, but I'm not sure as to why one or the other is better.
2021-08-20 19:17:28 × xff0x quits (~xff0x@2001:1a81:5207:3100:686a:e8fd:47a9:633d) (Ping timeout: 250 seconds)
2021-08-20 19:22:42 venue joins (~venue@user/venue)
2021-08-20 19:23:35 × Obo quits (~roberto@h-46-59-103-134.a498.priv.bahnhof.se) (Quit: WeeChat 2.8)
2021-08-20 19:26:15 <lechner> Hi, many friendly souls here told me to prefer 'putStrLn' over 'print', and especially 'printf', but 'hlint' recommends the former! https://paste.debian.net/1208376/
2021-08-20 19:27:35 <monochrom> Are you ignoring the context that ". show" is also present?
2021-08-20 19:28:24 <monochrom> But I would delete hlint altogether.
2021-08-20 19:28:47 <monochrom> If you prefer "putStrLn . show", if this is your coding style, then this is your coding style.
2021-08-20 19:28:59 o1lo01ol1o joins (~o1lo01ol1@5.181.115.89.rev.vodafone.pt)
2021-08-20 19:29:25 <Rembane_> I just do what hlint tells me, it makes my life more interesting and increases the chance that monochrom becomes my arch enemy.
2021-08-20 19:29:26 <monochrom> Along the way, I would also delete any memory of hearing an unconditional, one-size-fits-all "prefer putStrLn over print".
2021-08-20 19:29:44 <monochrom> Do people really say things like "prefer apple to orange" in their style guides?
2021-08-20 19:29:57 <monochrom> haha
2021-08-20 19:30:24 <lechner> does 'print' need a <> "\n" ?
2021-08-20 19:30:29 <nitrix> print is literally putStrLn . show, so I don't see how it could be a problem semantically, nor syntactically (way simpler than the composition).
2021-08-20 19:30:30 <monochrom> No.
2021-08-20 19:31:41 <lechner> How about "newtype instead of data"? https://paste.debian.net/1208378/
2021-08-20 19:32:17 <monochrom> Did you see the line "Note: decreases laziness"?
2021-08-20 19:32:55 <monochrom> BTW I think you should also wear pink instead of blue tomorrow.
2021-08-20 19:33:10 × o1lo01ol1o quits (~o1lo01ol1@5.181.115.89.rev.vodafone.pt) (Ping timeout: 240 seconds)
2021-08-20 19:33:17 <monochrom> And for tonight's dinner you should prefer fish over veggies.
2021-08-20 19:33:33 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-20 19:33:38 <nitrix> I smell more a symptom of someone that developed the bad habit of memorizing strict rules and applying them systematically, without really understanding what they're doing or why they're doing it in the first place. Props for being suspicious and asking though.
2021-08-20 19:33:40 <lechner> yeah, i use that type to parse JSON, and do not understand it. does it imply "!" on the constituents ?
2021-08-20 19:34:09 <monochrom> OK, I have two points.
2021-08-20 19:34:09 <lechner> nitrix: i am a noobie
2021-08-20 19:34:32 <monochrom> 1. Learn newtype. Then you can decide whether it fits your purpose.
2021-08-20 19:34:46 <monochrom> 2. It probably doesn't matter for now and for the next few months either.
2021-08-20 19:35:12 × oxide_ quits (~lambda@user/oxide) (Quit: oxide_)
2021-08-20 19:35:40 <nitrix> That's generous. Make that a year.
2021-08-20 19:36:36 <monochrom> In fact I stick to "data" in my course, even where Haskellers would use newtype. Yes I totally have "data State s a = MkState (s -> (s, a))".
2021-08-20 19:36:54 <monochrom> Screw hlint. It is an anti-educational tool.
2021-08-20 19:37:11 <monochrom> When pros use it, I can understand.
2021-08-20 19:37:12 <lechner> or it competes with you?
2021-08-20 19:37:28 <lechner> in a way you dislike
2021-08-20 19:37:30 <nitrix> hlint and hoogle don't seem to deliver too well on their promises.
2021-08-20 19:37:45 kenran joins (~kenran@200116b82b157f00af733520c5a4c898.dip.versatel-1u1.de)
2021-08-20 19:38:15 norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
2021-08-20 19:38:16 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 250 seconds)
2021-08-20 19:38:19 <Rembane_> nitrix: I think that depends on what you think they promise.
2021-08-20 19:38:30 <monochrom> Well I can't call something or someone a competitor if they derail the job rather than do a better job.
2021-08-20 19:38:41 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 248 seconds)
2021-08-20 19:39:37 <lechner> there are good and bad restaurants
2021-08-20 19:39:52 <monochrom> Tangential digressions are the enemy of teaching and learning. When I and my students are still at the stage of learning lambdas, for example (\x -> x + 3), suggesting "why not (+ 3)" is derailing. Only smartasses and #haskell regulars do this.
2021-08-20 19:40:15 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
2021-08-20 19:40:52 <lechner> but do you agree with the recommendation?
2021-08-20 19:41:05 <lechner> outside your class

All times are in UTC.