Home liberachat/#haskell: Logs Calendar

Logs on 2021-07-18 (liberachat/#haskell)

00:07:33 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
00:09:40 spruit11 joins (~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b)
00:11:43 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
00:14:06 × spruit11 quits (~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b) (Ping timeout: 255 seconds)
00:16:05 × derelict quits (~derelict@user/derelict) (Ping timeout: 255 seconds)
00:20:07 mrus joins (~mrus@2001:19f0:5:3fd4:5400:3ff:fe48:1820)
00:20:15 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
00:20:58 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.2)
00:23:40 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
00:31:48 derelict joins (~derelict@user/derelict)
00:32:12 × Null_A quits (~null_a@2601:645:8700:2290:b55a:33c2:1e1d:f229) (Remote host closed the connection)
00:35:43 img joins (~img@user/img)
00:38:30 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
00:44:42 spruit11 joins (~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b)
00:45:18 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
00:45:20 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 255 seconds)
00:45:47 kilolympus joins (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net)
00:45:49 enemeth79 joins (uid309041@id-309041.tooting.irccloud.com)
00:48:52 × alphabeta quits (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) (Ping timeout: 268 seconds)
00:49:13 × spruit11 quits (~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b) (Ping timeout: 246 seconds)
01:00:27 _xor joins (~xor@74.215.232.67)
01:00:41 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
01:00:43 × _xor quits (~xor@74.215.232.67) (Client Quit)
01:01:14 _xor joins (~xor@74.215.232.67)
01:01:53 spruit11 joins (~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b)
01:03:01 × derelict quits (~derelict@user/derelict) (Quit: WeeChat 3.2)
01:06:08 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 268 seconds)
01:06:13 × Deide quits (~Deide@user/deide) (Quit: Seeee yaaaa)
01:07:36 × mcglk quits (~mcglk@131.191.49.120) (Quit: (seeya))
01:08:07 mcglk joins (~mcglk@131.191.49.120)
01:08:36 × _xor quits (~xor@74.215.232.67) (Quit: WeeChat 3.2)
01:10:05 × spruit11 quits (~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b) (Ping timeout: 255 seconds)
01:10:06 lavaman joins (~lavaman@98.38.249.169)
01:11:39 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:12:12 × Atum_ quits (~IRC@user/atum/x-2392232) (Quit: Atum_)
01:12:46 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:13:01 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 246 seconds)
01:15:47 _xor joins (~xor@74.215.232.67)
01:17:35 Null_A joins (~null_a@2601:645:8700:2290:b55a:33c2:1e1d:f229)
01:17:42 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
01:21:42 xff0x_ joins (~xff0x@2001:1a81:525b:ea00:2ecf:bd12:9251:d3e)
01:24:09 Erutuon joins (~Erutuon@user/erutuon)
01:24:28 vicfred_ joins (~vicfred@206.217.205.37)
01:24:55 × xff0x quits (~xff0x@port-92-193-131-10.dynamic.as20676.net) (Ping timeout: 250 seconds)
01:28:20 × vicfred quits (~vicfred@user/vicfred) (Ping timeout: 268 seconds)
01:30:54 mcfrdy- joins (~mcfrdy@45.67.96.175)
01:31:30 × mcfrdy quits (~mcfrdy@user/mcfrdy) (Ping timeout: 255 seconds)
01:31:39 chris_ joins (~chris@81.96.113.213)
01:36:06 neurocyte0 joins (~neurocyte@92.119.8.106)
01:36:06 × neurocyte0 quits (~neurocyte@92.119.8.106) (Changing host)
01:36:06 neurocyte0 joins (~neurocyte@user/neurocyte)
01:39:06 spruit11 joins (~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b)
01:39:26 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:39:58 × neurocyte quits (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds)
01:39:58 neurocyte0 is now known as neurocyte
01:40:57 × favonia quits (~favonia@user/favonia) (Ping timeout: 255 seconds)
01:42:39 favonia joins (~favonia@user/favonia)
01:43:23 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 255 seconds)
01:43:49 × spruit11 quits (~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b) (Ping timeout: 246 seconds)
01:46:32 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 255 seconds)
01:47:22 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 244 seconds)
01:48:09 <davean> I find most mathematical objects I deal with in practice to be "some set construction, with laws"
01:56:48 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
01:57:07 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Read error: Connection reset by peer)
01:58:55 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
02:05:54 Maxdamantus joins (~Maxdamant@user/maxdamantus)
02:05:54 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
02:07:00 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
02:12:32 Erutuon joins (~Erutuon@user/erutuon)
02:13:36 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
02:13:59 × td_ quits (~td@muedsl-82-207-238-255.citykom.de) (Ping timeout: 258 seconds)
02:14:42 × favonia quits (~favonia@user/favonia) (Ping timeout: 255 seconds)
02:15:07 machinedgod joins (~machinedg@24.105.81.50)
02:15:38 td_ joins (~td@muedsl-82-207-238-204.citykom.de)
02:15:44 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:15:44 FinnElija is now known as Guest7485
02:15:44 × Guest7485 quits (~finn_elij@user/finn-elija/x-0085643) (Killed (sodium.libera.chat (Nickname regained by services)))
02:15:45 finn_elija is now known as FinnElija
02:17:13 favonia joins (~favonia@user/favonia)
02:18:20 norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
02:20:05 alphabeta joins (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net)
02:21:49 × kilolympus quits (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) (Ping timeout: 265 seconds)
02:24:21 × smichel17 quits (~smichel17@2601:193:8300:4b9::600) (Quit: smichel17)
02:36:14 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
02:37:16 ph88 joins (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
02:39:57 h98 joins (~h98@187.83.249.216.dyn.smithville.net)
02:39:59 spruit11 joins (~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b)
02:44:51 × spruit11 quits (~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b) (Ping timeout: 255 seconds)
02:52:45 fef joins (~thedawn@user/thedawn)
02:53:08 × aman quits (~aman@user/aman) (Ping timeout: 255 seconds)
02:53:38 agua joins (~agua@2804:18:44:17a3:1:0:2cdf:1514)
02:54:24 × h98 quits (~h98@187.83.249.216.dyn.smithville.net) (Quit: Client closed)
02:54:59 × enemeth79 quits (uid309041@id-309041.tooting.irccloud.com) (Quit: Connection closed for inactivity)
02:55:01 × vicfred_ quits (~vicfred@206.217.205.37) (Quit: Leaving)
02:55:13 vicfred joins (~vicfred@user/vicfred)
02:56:33 × Core5124 quits (~agua@2804:14c:8793:8e2f:642c:be4c:c775:de87) (Ping timeout: 255 seconds)
02:59:13 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 258 seconds)
03:02:28 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
03:02:45 × johnw quits (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
03:05:06 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds)
03:06:08 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
03:06:26 matsurago joins (~matsurago@p0125707-vcngn.tkyo.nt.ngn.ppp.ocn.ne.jp)
03:08:35 spruit11 joins (~quassel@2a02:a467:ccd6:1:b030:6032:2190:671b)
03:09:29 keutoi joins (~keutoi@157.47.111.203)
03:12:18 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds)
03:13:45 desophos joins (~desophos@2601:249:1680:a570:f1ba:fb0d:59f:a0b5)
03:14:36 pesada joins (~agua@191.177.175.57)
03:16:38 Core1864 joins (~agua@2804:18:44:17a3:1:0:2cdf:1514)
03:16:46 × agua quits (~agua@2804:18:44:17a3:1:0:2cdf:1514) (Read error: Connection reset by peer)
03:17:02 × pesada quits (~agua@191.177.175.57) (Read error: Connection reset by peer)
03:17:12 agua joins (~agua@2804:14c:8793:8e2f:642c:be4c:c775:de87)
03:20:46 × Core1864 quits (~agua@2804:18:44:17a3:1:0:2cdf:1514) (Ping timeout: 246 seconds)
03:23:06 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
03:23:58 jushur joins (~human@user/jushur)
03:29:30 mcfrdy joins (~mcfrdy@45.67.96.175)
03:29:30 × mcfrdy quits (~mcfrdy@45.67.96.175) (Changing host)
03:29:31 mcfrdy joins (~mcfrdy@user/mcfrdy)
03:30:27 × mcfrdy- quits (~mcfrdy@45.67.96.175) (Ping timeout: 265 seconds)
03:30:46 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
03:33:11 × matsurago quits (~matsurago@p0125707-vcngn.tkyo.nt.ngn.ppp.ocn.ne.jp) (Quit: Leaving)
03:36:26 vysn joins (~vysn@user/vysn)
03:38:54 × _xor quits (~xor@74.215.232.67) (Quit: brb)
03:39:53 _xor joins (~xor@74.215.232.67)
03:42:50 <guest61> about IO socket, if peer closed the connection, will get -1, what about they just went off the network without sent disconnect signal, how to handle that?
03:44:04 <geekosaur> you get an exception which you must catch
03:44:33 <geekosaur> see the Control.Exception module
03:44:37 <guest61> how we handle that without exception?
03:44:50 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 258 seconds)
03:45:04 <guest61> what about C langauage, it doesnt have exception, how it handle that?
03:45:14 img joins (~img@user/img)
03:45:24 <guest61> Either cant handle this IO exception?
03:45:37 lars8 joins (~bc817c21@217.29.117.252)
03:45:39 <geekosaur> C returns -1 with an error code, vs. 0; it doesn;t have exceptions
03:45:41 <c_wraith> in C, you look at return values and check ERRNO and hope nothing concurrent changed it
03:45:49 <geekosaur> Either can;t handle this kind of exception
03:48:27 <lars8> guest61, article makes a good argument why exceptions are prefered in IO over Either. https://www.fpcomplete.com/blog/2016/11/exceptions-best-practices-haskell/
03:48:29 <guest61> if there're multiple IO at the same time, one of them just did this, check ERRNO will work?
03:48:32 <lars8> +this
03:48:45 <nitrix> c_wraith, errno is thread-local for POSIX systems.
03:49:28 <guest61> I thought that try-catch is typical OOP stuff
03:49:46 <geekosaur> try-catch is not particularly OOP
03:49:49 <guest61> FP has try-catch is weird
03:50:21 <nitrix> For Haskell, Either/Maybe is a good way to do error-handling, then you also have nicer monad (transformers) like EitherT to do your exceptions.
03:50:33 × favonia quits (~favonia@user/favonia) (Ping timeout: 255 seconds)
03:50:54 <lars8> but then you force callers to handle errors in two ways, via either, and exceptions
03:50:57 <guest61> yes, but there're exception and run-time exception
03:51:13 <guest61> Either cant handle run-time exception
03:51:23 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
03:51:25 favonia joins (~favonia@user/favonia)
03:51:38 ubert joins (~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de)
03:51:50 × ubert quits (~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) (Client Quit)
03:52:06 ubert joins (~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de)
03:52:45 × ubert quits (~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) (Client Quit)
03:53:01 ubert joins (~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de)
03:54:46 × ubert quits (~Thunderbi@p2e5a50e5.dip0.t-ipconnect.de) (Client Quit)
03:55:35 <guest61> how other languages without try-catch to handle run-time exceptions?
03:57:10 <xsperry> probably more of a #programming question
03:59:54 × _xor quits (~xor@74.215.232.67) (Quit: brb)
04:01:01 _xor joins (~xor@74.215.232.67)
04:02:01 johnw joins (~johnw@2600:1700:cf00:db0:4c55:69bc:4e4d:1c90)
04:06:31 wei2912 joins (~wei2912@112.199.250.21)
04:06:45 soft-warm joins (~soft-warm@2600:8801:db01:8f0:67c1:e7b7:4e84:318d)
04:10:03 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:14:24 × favonia quits (~favonia@user/favonia) (Ping timeout: 255 seconds)
04:16:46 favonia joins (~favonia@user/favonia)
04:20:33 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
04:21:43 <lars8> guest61, Either can handle runtime errors, just return Left instead of throwing an exception. but, any IO code can throw exceptions other than the one you considered throwing, but are not returning (async exceptions, out of memory exceptions, etc), and encoding every possible exception in the type would be pretty tedious. java tried something similar with checked exceptions, and they are nearly universally hated
04:21:54 <lars8> s/not/now
04:22:14 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 268 seconds)
04:23:52 Maxdamantus joins (~Maxdamant@user/maxdamantus)
04:24:18 × favonia quits (~favonia@user/favonia) (Ping timeout: 255 seconds)
04:26:45 favonia joins (~favonia@user/favonia)
04:27:11 × mcfrdy quits (~mcfrdy@user/mcfrdy) (Ping timeout: 255 seconds)
04:27:53 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
04:28:14 <c_wraith> in some sense, Either is the same as checked exceptions. Except that the tools for working with them are a lot more pleasant
04:28:40 × bgamari_ quits (~bgamari@72.65.101.148) (Ping timeout: 246 seconds)
04:28:51 bgamari joins (~bgamari@72.65.102.182)
04:34:43 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
04:40:57 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 255 seconds)
04:44:26 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
04:46:32 × norias quits (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 255 seconds)
04:46:50 Ananta-shesha joins (~pjetcetal@128-71-13-182.broadband.corbina.ru)
04:50:17 <monochrom> try-catch traces all the way back to a David Parnas 1970s paper. Way before OO.
04:50:41 <monochrom> OO only added "the Exception type can have user-defined subtypes"
04:51:17 lavaman joins (~lavaman@98.38.249.169)
04:51:21 <monochrom> SML also has had exceptions for a long time.
04:51:31 <monochrom> and SML's predecessors
04:54:59 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
04:55:12 <monochrom> Theorem provers written in *ML used this heavily for backtracking proof search. So it was not just I/O even.
04:55:48 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 255 seconds)
04:56:52 <monochrom> To be sure, in that use case, we now know that it should be Either/Maybe and MonadPlus. But writing theorem provers in *ML was a long long time ago.
05:00:18 × favonia quits (~favonia@user/favonia) (Ping timeout: 255 seconds)
05:00:22 <c_wraith> and if you worry about performance of constructing/matching all those data types, you might CPS-transform the Either, at which point... you're basically back at exceptions anyway. Except without an extra language construct.
05:01:40 lavaman joins (~lavaman@98.38.249.169)
05:02:46 favonia joins (~favonia@user/favonia)
05:11:00 × favonia quits (~favonia@user/favonia) (Remote host closed the connection)
05:11:49 favonia joins (~favonia@user/favonia)
05:11:58 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
05:16:40 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
05:17:37 Erutuon joins (~Erutuon@user/erutuon)
05:31:59 × mrus quits (~mrus@2001:19f0:5:3fd4:5400:3ff:fe48:1820) (Ping timeout: 255 seconds)
05:32:06 × jmorris quits (uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
05:33:46 × retroid_ quits (~retro@97e2ba5d.skybroadband.com) (Ping timeout: 268 seconds)
05:37:12 ph88 joins (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
05:37:58 × soft-warm quits (~soft-warm@2600:8801:db01:8f0:67c1:e7b7:4e84:318d) (Ping timeout: 246 seconds)
05:52:23 mnrmnaugh joins (~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net)
05:56:05 Maxdaman1us joins (~Maxdamant@user/maxdamantus)
05:56:10 × alphabeta quits (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) (Quit: Quitting IRC :()
05:56:16 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 252 seconds)
05:56:31 kilolympus joins (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net)
05:59:00 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
06:00:02 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:18:09 × Null_A quits (~null_a@2601:645:8700:2290:b55a:33c2:1e1d:f229) (Ping timeout: 255 seconds)
06:24:27 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 255 seconds)
06:26:10 × hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 256 seconds)
06:27:22 hyiltiz joins (~quassel@31.220.5.250)
06:31:32 Maxdaman1us is now known as Maxdamantus
06:41:01 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:41:02 jmorris joins (uid433911@id-433911.stonehaven.irccloud.com)
06:42:47 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
06:45:55 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 268 seconds)
06:48:23 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
06:48:33 PinealGlandOptic joins (~PinealGla@37.115.210.35)
06:52:07 Guest9 joins (~Guest9@103.250.137.213)
06:58:01 × desophos quits (~desophos@2601:249:1680:a570:f1ba:fb0d:59f:a0b5) (Quit: Leaving)
06:59:30 mcfrdy_ joins (uid507892@user/mcfrdy)
07:03:11 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
07:05:52 <guest61> update message is Nothing
07:05:53 <guest61> update message is Nothing
07:10:24 × kilolympus quits (~kilolympu@cpc92710-cmbg20-2-0-cust265.5-4.cable.virginm.net) (Read error: Connection reset by peer)
07:15:17 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
07:15:40 × Guest18 quits (~Guest18@2603-8080-6d0d-35bb-0000-0000-0000-0004.res6.spectrum.com) (Quit: Client closed)
07:22:48 × _xor quits (~xor@74.215.232.67) (Quit: WeeChat 3.2)
07:28:57 × trufas quits (~trufas@177.240.218.218) (Ping timeout: 276 seconds)
07:28:58 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
07:29:49 trufas joins (~trufas@177.240.218.218)
07:32:14 lavaman joins (~lavaman@98.38.249.169)
07:35:01 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
07:40:57 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 255 seconds)
07:43:01 chris_ joins (~chris@81.96.113.213)
07:43:06 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
07:44:17 × bontaq quits (~user@ool-18e47f8d.dyn.optonline.net) (Ping timeout: 245 seconds)
07:46:13 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
07:46:15 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
07:50:21 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
07:53:06 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 255 seconds)
07:53:56 × Guest9 quits (~Guest9@103.250.137.213) (Quit: Connection closed)
07:56:37 Feuermagier joins (~Feuermagi@user/feuermagier)
08:00:00 acidjnk joins (~acidjnk@p200300d0c72b9505d437a5269bf657ec.dip0.t-ipconnect.de)
08:00:28 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
08:07:01 hendursa1 joins (~weechat@user/hendursaga)
08:09:11 × hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 244 seconds)
08:09:56 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 255 seconds)
08:10:51 smtnet3 joins (~asdfasdfa@202.36.244.28)
08:12:38 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
08:13:29 Feuermagier_ joins (~Feuermagi@213.178.26.41)
08:17:16 <smtnet3> yoyo
08:17:44 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
08:17:48 geekosaur joins (~geekosaur@xmonad/geekosaur)
08:23:37 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
08:24:02 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
08:25:13 adamse_ is now known as adamse
08:27:21 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
08:30:00 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 255 seconds)
08:30:11 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:30:36 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds)
08:30:38 Lord_of_Life_ is now known as Lord_of_Life
08:31:49 zeenk joins (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3)
08:32:47 × hnOsmium0001 quits (uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
08:33:57 fendor joins (~fendor@178.165.167.65.wireless.dyn.drei.com)
08:33:59 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
08:34:14 × xff0x_ quits (~xff0x@2001:1a81:525b:ea00:2ecf:bd12:9251:d3e) (Ping timeout: 255 seconds)
08:34:52 xff0x_ joins (~xff0x@2001:1a81:525b:ea00:61de:d55d:7965:91a3)
08:41:11 peutri_ is now known as peutri
08:41:12 anandprabhu joins (~anandprab@94.202.243.198)
08:46:22 × azeem quits (~azeem@dynamic-adsl-94-34-31-95.clienti.tiscali.it) (Read error: Connection reset by peer)
08:47:13 benin0369 joins (~benin@183.82.204.23)
08:48:09 azeem joins (~azeem@176.201.37.153)
08:50:47 lavaman joins (~lavaman@98.38.249.169)
08:50:51 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
08:51:23 lavaman joins (~lavaman@98.38.249.169)
08:52:50 × azeem quits (~azeem@176.201.37.153) (Ping timeout: 265 seconds)
08:53:50 azeem joins (~azeem@176.201.37.153)
08:56:13 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
09:01:03 × azeem quits (~azeem@176.201.37.153) (Ping timeout: 265 seconds)
09:01:12 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
09:01:35 azeem joins (~azeem@dynamic-adsl-94-34-31-95.clienti.tiscali.it)
09:07:45 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
09:12:26 × azeem quits (~azeem@dynamic-adsl-94-34-31-95.clienti.tiscali.it) (Ping timeout: 252 seconds)
09:15:52 _xor joins (~xor@74.215.232.67)
09:17:42 × Feuermagier_ quits (~Feuermagi@213.178.26.41) (Quit: Leaving)
09:21:13 ru0mad joins (~ru0mad@176.187.215.241)
09:26:57 × ru0mad quits (~ru0mad@176.187.215.241) (Remote host closed the connection)
09:28:37 ru0mad joins (~ru0mad@176.187.215.241)
09:31:59 gehmehgeh joins (~user@user/gehmehgeh)
09:32:01 × lars8 quits (~bc817c21@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
09:33:26 × ru0mad quits (~ru0mad@176.187.215.241) (Ping timeout: 265 seconds)
09:33:54 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds)
09:36:44 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
09:37:05 geekosaur joins (~geekosaur@xmonad/geekosaur)
09:37:28 ph88 joins (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
09:38:05 Guest77 joins (~Guest77@2402:e280:2117:297:ecf8:f374:8704:f843)
09:40:59 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
09:43:52 ru0mad joins (~ru0mad@176.187.215.241)
09:44:40 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
09:45:47 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
09:46:37 × mcfrdy_ quits (uid507892@user/mcfrdy) (Quit: Connection closed for inactivity)
09:54:37 × ru0mad quits (~ru0mad@176.187.215.241) (Ping timeout: 268 seconds)
09:56:21 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
10:01:32 × chomwitt quits (~Pitsikoko@athedsl-32487.home.otenet.gr) (Ping timeout: 255 seconds)
10:04:36 jippiedoe joins (~david@2a02-a44c-e14e-1-a3df-4b90-dd0e-5377.fixed6.kpn.net)
10:06:09 ru0mad joins (~ru0mad@176.187.215.241)
10:08:16 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
10:08:52 × jippiedoe quits (~david@2a02-a44c-e14e-1-a3df-4b90-dd0e-5377.fixed6.kpn.net) (Ping timeout: 246 seconds)
10:09:26 frdy joins (~mcfrdy@user/mcfrdy)
10:10:51 × ru0mad quits (~ru0mad@176.187.215.241) (Ping timeout: 258 seconds)
10:12:46 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
10:18:57 × wei2912 quits (~wei2912@112.199.250.21) (Remote host closed the connection)
10:22:59 wei2912 joins (~wei2912@112.199.250.21)
10:32:17 lavaman joins (~lavaman@98.38.249.169)
10:33:16 × Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
10:34:20 Vajb joins (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
10:34:35 × zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection)
10:35:26 azeem joins (~azeem@176.201.37.153)
10:35:47 × azeem quits (~azeem@176.201.37.153) (Read error: Connection reset by peer)
10:36:00 azeem joins (~azeem@dynamic-adsl-84-220-239-18.clienti.tiscali.it)
10:36:54 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 255 seconds)
10:39:43 × Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
10:39:53 Vajb joins (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
10:39:59 zaquest joins (~notzaques@5.128.210.178)
10:44:41 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
10:45:47 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
10:46:40 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds)
10:46:41 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
10:47:48 jumper149 joins (~jumper149@80.240.31.34)
10:47:48 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
10:57:05 Guest9 joins (~Guest9@103.250.137.212)
11:07:44 Pickchea joins (~private@user/pickchea)
11:08:00 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 268 seconds)
11:09:08 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
11:09:11 ghais joins (uid508683@id-508683.tinside.irccloud.com)
11:09:53 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
11:14:12 hseg joins (~gesh@185.120.126.10)
11:14:14 jippiedoe joins (~david@2a02-a44c-e14e-1-8d88-9bbd-c50a-c552.fixed6.kpn.net)
11:14:47 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
11:15:41 smichel17 joins (~smichel17@c-73-68-217-18.hsd1.ma.comcast.net)
11:16:26 ghais is now known as Ghais
11:19:58 <hseg> has this idea been offered to solve the orphan instance problem: extend overlapping rules so that non-orphan instances are considered more specific than orphan instances
11:20:41 <hseg> at first blush, it would seem to provide a mechanism for adoptable orphans -- just mark your instance OVERLAPPABLE, and petition upstream to pull it in
11:20:55 Ghais is now known as _0x47
11:22:16 × Guest9 quits (~Guest9@103.250.137.212) (Quit: Connection closed)
11:22:44 <hseg> you'd just want to extract the orphans from your package so you don't have multiple orphans first
11:25:42 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
11:26:48 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
11:27:48 × hseg quits (~gesh@185.120.126.10) (Quit: WeeChat 3.2)
11:29:30 hseg joins (~gesh@185.120.126.10)
11:30:18 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:40:30 × Codaraxis quits (~Codaraxis@user/codaraxis) (Remote host closed the connection)
11:40:53 Codaraxis joins (~Codaraxis@user/codaraxis)
11:40:55 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 246 seconds)
11:44:11 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
11:45:45 × jippiedoe quits (~david@2a02-a44c-e14e-1-8d88-9bbd-c50a-c552.fixed6.kpn.net) (Ping timeout: 255 seconds)
11:56:25 drd joins (~drd@93-39-151-19.ip76.fastwebnet.it)
11:59:19 × ishutin_ quits (~ishutin@85-238-93-30.pool.digikabel.hu) (Remote host closed the connection)
12:04:01 pesada joins (~agua@2804:18:44:17a3:1:0:2cdf:1514)
12:04:43 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
12:05:48 × hexfive quits (~eric@50.35.83.177) (Quit: WeeChat 3.0)
12:06:49 × agua quits (~agua@2804:14c:8793:8e2f:642c:be4c:c775:de87) (Ping timeout: 246 seconds)
12:08:15 × xff0x_ quits (~xff0x@2001:1a81:525b:ea00:61de:d55d:7965:91a3) (Ping timeout: 255 seconds)
12:08:33 xff0x_ joins (~xff0x@185.65.135.235)
12:09:04 <hseg> no takers? to recall my question was whether considering non-orphan instances more specific than orphans for overlap resolution was ever considered as a solution for the orphan instance problem
12:14:53 soft-warm joins (~soft-warm@2600:8801:db01:8f0:b50e:8cc8:c702:8b1f)
12:18:42 fendor_ joins (~fendor@178.165.167.65.wireless.dyn.drei.com)
12:21:02 fendor__ joins (~fendor@212095005147.public.telering.at)
12:21:07 turlando_ joins (~turlando@93-42-250-112.ip89.fastwebnet.it)
12:21:24 × turlando quits (~turlando@user/turlando) (Remote host closed the connection)
12:21:24 × fendor quits (~fendor@178.165.167.65.wireless.dyn.drei.com) (Read error: Connection reset by peer)
12:22:58 fendor joins (~fendor@178.165.167.65.wireless.dyn.drei.com)
12:23:16 × fendor_ quits (~fendor@178.165.167.65.wireless.dyn.drei.com) (Ping timeout: 246 seconds)
12:23:19 × fendor quits (~fendor@178.165.167.65.wireless.dyn.drei.com) (Read error: Connection reset by peer)
12:23:46 fendor joins (~fendor@178.165.167.65.wireless.dyn.drei.com)
12:25:01 × soft-warm quits (~soft-warm@2600:8801:db01:8f0:b50e:8cc8:c702:8b1f) (Ping timeout: 246 seconds)
12:26:46 × xff0x_ quits (~xff0x@185.65.135.235) (Ping timeout: 252 seconds)
12:28:46 xff0x_ joins (~xff0x@2001:1a81:525b:ea00:8ac3:8abd:f864:c680)
12:30:14 fendor__ is now known as fendor_
12:32:06 × jmorris quits (uid433911@id-433911.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
12:33:41 lavaman joins (~lavaman@98.38.249.169)
12:37:05 awth13 joins (~user@user/awth13)
12:37:34 ph88 joins (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
12:38:34 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
12:38:36 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
12:38:49 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
12:41:06 × Pickchea quits (~private@user/pickchea) (Ping timeout: 255 seconds)
12:46:44 <guest61> update message is Nothing
12:48:23 <[exa]> no update, good update
12:48:31 × Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 268 seconds)
12:50:07 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
12:52:27 <tom__> Are stochastic processes better modelled as comonads or monads?
12:53:07 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
12:53:42 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
12:54:50 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
12:55:26 <[exa]> tom__: depends
12:55:27 × Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
12:55:30 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 255 seconds)
12:55:45 <[exa]> tom__: comonads are great for representing a "cache" of stuff, may be interesting for e.g. precomputed distributions
12:56:28 <[exa]> tom__: monads are great for representing the "actual background context" that you only somehow manipulate using (say) an EDSL
12:56:33 <tom__> Its for brownian motion/wiener process
12:56:39 Vajb joins (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
12:57:01 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Quit: free())
12:57:02 lbseale joins (~lbseale@user/ep1ctetus)
12:57:11 <[exa]> so you have a state of X particles moving around and hitting each other?
12:57:34 <tom__> Well, modelling a stock price
12:57:49 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
12:57:52 <tom__> So just a time series
12:58:13 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
12:58:35 <[exa]> ok so there's some "actual state", and some "history" that you may as well forget, right?
12:59:23 <tom__> Yeah since its a martingale the process computes the next step from the last step only
12:59:58 <tom__> but the last step has some extra state which is the delta of the brownian motion itself which obviously has a random component
13:00:33 <tom__> Forgetting history when computing the next step feels comonadic to me
13:05:29 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Quit: mikoto-chan)
13:05:43 <[exa]> yeah that would work
13:05:44 mikoto-chan joins (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be)
13:06:01 <[exa]> otoh it might be much simpler because you really don't need to reach for the history there
13:11:25 burnside_ joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
13:11:25 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Read error: Connection reset by peer)
13:13:52 fendor__ joins (~fendor@178.165.167.65.wireless.dyn.drei.com)
13:15:57 mthvedt joins (uid501949@id-501949.stonehaven.irccloud.com)
13:15:59 × burnside_ quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Read error: Connection reset by peer)
13:16:05 <tom__> awesome thanks!
13:16:06 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
13:17:00 × fendor_ quits (~fendor@212095005147.public.telering.at) (Ping timeout: 252 seconds)
13:17:00 <guest61> update message is Nothing
13:20:52 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
13:22:44 × chexum quits (~chexum@gateway/tor-sasl/chexum) (Quit: -)
13:23:38 retroid_ joins (~retro@97e2ba5d.skybroadband.com)
13:26:41 hseg_ joins (~gesh@185.120.126.10)
13:27:28 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
13:29:48 × hseg quits (~gesh@185.120.126.10) (Ping timeout: 258 seconds)
13:30:42 chomwitt joins (~Pitsikoko@athedsl-32487.home.otenet.gr)
13:33:43 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
13:34:49 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
13:39:00 chexum joins (~chexum@gateway/tor-sasl/chexum)
13:39:00 × chexum quits (~chexum@gateway/tor-sasl/chexum) (Client Quit)
13:45:29 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
13:49:20 <Boarders> Is there a convenient way to see every type defined in base?
13:49:41 haritz joins (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220)
13:49:41 × haritz quits (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host)
13:49:41 haritz joins (~hrtz@user/haritz)
13:52:29 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
13:55:20 × anandprabhu quits (~anandprab@94.202.243.198) (Quit: Leaving)
14:00:30 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
14:00:33 <[exa]> Boarders: in ghci, you can do something like Prelude.[2x tab]
14:01:05 <[exa]> types will be nicely together starting with capitals
14:01:06 chexum joins (~quassel@gateway/tor-sasl/chexum)
14:01:20 <[exa]> but that ain't too systematic, right
14:01:37 <Boarders> Still useful to know :)
14:01:43 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
14:02:27 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Client Quit)
14:02:36 chexum joins (~quassel@gateway/tor-sasl/chexum)
14:02:50 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
14:03:06 zebrag joins (~chris@user/zebrag)
14:03:22 × acidjnk quits (~acidjnk@p200300d0c72b9505d437a5269bf657ec.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
14:05:02 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
14:06:06 _73 joins (~user@pool-96-252-123-136.bstnma.fios.verizon.net)
14:06:36 × Katarushisu quits (~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net) (Ping timeout: 255 seconds)
14:07:03 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 255 seconds)
14:09:08 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
14:12:05 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Read error: Connection reset by peer)
14:12:13 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
14:12:19 amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
14:12:22 × zeenk quits (~zeenk@2a02:2f04:a106:9600:82fb:aed9:ca9:38d3) (Quit: Konversation terminated!)
14:15:29 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
14:15:45 _73 parts (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (ERC (IRC client for Emacs 27.2))
14:16:42 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
14:17:51 × keutoi quits (~keutoi@157.47.111.203) (Ping timeout: 255 seconds)
14:19:47 keutoi joins (~keutoi@106.208.22.182)
14:20:04 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
14:20:11 × immae quits (~immae@2a01:4f8:141:53e7::) (Quit: WeeChat 2.9)
14:20:37 immae joins (~immae@2a01:4f8:141:53e7::)
14:26:35 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 255 seconds)
14:30:16 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 268 seconds)
14:30:44 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
14:31:51 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
14:34:06 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
14:36:25 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
14:37:15 Topsi joins (~Tobias@dyndsl-095-033-088-035.ewe-ip-backbone.de)
14:39:45 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
14:40:57 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 250 seconds)
14:44:42 × keutoi quits (~keutoi@106.208.22.182) (Ping timeout: 265 seconds)
14:45:19 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 258 seconds)
14:45:44 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
14:46:51 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
14:47:44 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
14:47:45 slowButPresent joins (~slowButPr@user/slowbutpresent)
14:48:51 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
14:49:40 × lbseale quits (~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
14:52:43 × azeem quits (~azeem@dynamic-adsl-84-220-239-18.clienti.tiscali.it) (Ping timeout: 246 seconds)
14:58:17 afotgkmnzj7asv3r joins (~afotgkmnz@2001:470:69fc:105::c24b)
14:58:30 Atum_ joins (~IRC@user/atum/x-2392232)
15:01:01 Gurkenglas joins (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
15:02:48 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
15:08:21 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
15:08:28 yauhsien joins (~yauhsien@61-231-25-245.dynamic-ip.hinet.net)
15:08:50 × oso quits (~oso@2601:58c:c080:a950:e67d:b4e2:c5be:433f) (Quit: Client closed)
15:09:39 Null_A joins (~null_a@2601:645:8700:2290:a961:38e5:e25d:7cd0)
15:11:02 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
15:18:30 <davean> hseg_: I feel you've missed what we value about instances
15:19:04 <hseg_> oh?
15:19:10 hseg_ is now known as hseg
15:19:30 × drd quits (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 255 seconds)
15:20:42 <davean> hseg: your approach makes it vary by what you import.
15:20:45 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
15:21:21 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 258 seconds)
15:21:47 <hseg> except it already does -- if you ever have overlapping instances, whether the more specific instance is imported will affect which instance gets chosen
15:21:55 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
15:21:58 <davean> yes, thats the problem
15:21:59 <hseg> true, that isn't common practice
15:22:45 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Read error: Connection reset by peer)
15:23:01 <hseg> the idea would be that this would be used to provide instances until upstream does, not to try and override upstream's instances
15:23:50 Pickchea joins (~private@user/pickchea)
15:23:52 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
15:25:34 isekaijin joins (~pyon@user/pyon)
15:27:07 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
15:28:46 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
15:29:52 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
15:29:54 azeem joins (~azeem@dynamic-adsl-94-34-39-251.clienti.tiscali.it)
15:30:04 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
15:30:54 gehmehgeh joins (~user@user/gehmehgeh)
15:31:56 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
15:32:58 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
15:33:47 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 268 seconds)
15:34:31 machinedgod joins (~machinedg@24.105.81.50)
15:34:55 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
15:34:58 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
15:35:11 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
15:35:52 Deide joins (~Deide@217.155.19.23)
15:35:52 × Deide quits (~Deide@217.155.19.23) (Changing host)
15:35:52 Deide joins (~Deide@user/deide)
15:36:19 Guest9 joins (~Guest9@103.240.169.111)
15:36:52 RemiYuko is now known as AkechiShiro
15:37:17 ph88 joins (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
15:37:37 × wei2912 quits (~wei2912@112.199.250.21) (Quit: Lost terminal)
15:41:31 keutoi joins (~keutoi@223.237.21.130)
15:42:05 zmt00 joins (~zmt00@user/zmt00)
15:43:39 × cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds)
15:43:50 cheater joins (~Username@user/cheater)
15:48:46 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
15:48:56 × xff0x_ quits (~xff0x@2001:1a81:525b:ea00:8ac3:8abd:f864:c680) (Ping timeout: 255 seconds)
15:49:23 zcombinator joins (~zcombinat@host-79-33-75-218.retail.telecomitalia.it)
15:49:53 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
15:49:58 xff0x_ joins (~xff0x@2001:1a81:525b:ea00:e4bc:612d:f531:cac7)
15:53:28 × keutoi quits (~keutoi@223.237.21.130) (Quit: leaving)
15:53:29 hololeap joins (~hololeap@user/hololeap)
15:54:09 × NieDzejkob quits (~quassel@195.149.98.3) (Quit: No Ping reply in 180 seconds.)
15:55:28 NieDzejkob joins (~quassel@195.149.98.3)
15:55:28 × chomwitt quits (~Pitsikoko@athedsl-32487.home.otenet.gr) (Ping timeout: 258 seconds)
15:57:26 × zcombinator quits (~zcombinat@host-79-33-75-218.retail.telecomitalia.it) (Quit: WeeChat 3.2)
15:59:10 burnside_ joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
15:59:10 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Read error: Connection reset by peer)
16:00:58 Tisoxin joins (~ikosit@user/ikosit)
16:01:19 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
16:02:34 niemand joins (~niemand@p2e52f785.dip0.t-ipconnect.de)
16:03:49 slycelote_ joins (~slycelote@user/slycelote)
16:03:54 × Guest9 quits (~Guest9@103.240.169.111) (Ping timeout: 258 seconds)
16:04:30 × slycelote quits (~slycelote@user/slycelote) (Ping timeout: 255 seconds)
16:04:32 × niemand quits (~niemand@p2e52f785.dip0.t-ipconnect.de) (Client Quit)
16:04:55 × burnside_ quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
16:05:30 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
16:10:15 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 265 seconds)
16:11:04 econo joins (uid147250@user/econo)
16:12:47 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
16:13:23 TranquilEcho joins (~grom@user/tranquilecho)
16:13:44 × hseg quits (~gesh@185.120.126.10) (Ping timeout: 252 seconds)
16:13:52 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
16:13:54 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
16:13:57 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:14:08 × Pickchea quits (~private@user/pickchea) (Ping timeout: 255 seconds)
16:15:17 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
16:15:43 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 268 seconds)
16:17:03 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
16:18:10 ph88^ joins (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de)
16:18:44 hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com)
16:18:48 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
16:19:36 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
16:22:02 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:22:03 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 255 seconds)
16:22:26 Guest9 joins (~Guest9@103.250.139.40)
16:23:05 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
16:24:17 × dajoer quits (~david@user/gvx) (Quit: leaving)
16:26:12 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 268 seconds)
16:27:06 geekosaur joins (~geekosaur@xmonad/geekosaur)
16:30:20 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:30:31 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
16:31:25 Guest31 joins (~Guest31@76-236-222-208.lightspeed.tukrga.sbcglobal.net)
16:32:19 <Guest31> can someone help me understand how case works?
16:32:24 <Guest31> myTakeWhileFold condition xs = foldr step [] xs
16:32:24 <Guest31> where step x y = case condition y of
16:32:25 <Guest31> True -> x ++ y
16:32:25 <Guest31> False -> x
16:33:32 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
16:33:50 <Guest31> I thought this would work, butI get an error at True
16:34:39 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 255 seconds)
16:35:02 <davean> well you need to give us a type signature or we have no idea what "condition" or "xs" are
16:35:02 lavaman joins (~lavaman@98.38.249.169)
16:35:11 <davean> and you didn't give us the error
16:36:11 <Guest31> myTakeWhileFold :: (a -> Bool) -> [a] -> [a]
16:36:18 <Guest31> error: parse error on input ‘True’
16:36:30 <davean> I expect you have an indentation error
16:37:32 <Guest31> OK Ill check it out thanks
16:39:06 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
16:39:46 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
16:41:23 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
16:42:24 chris_ joins (~chris@81.96.113.213)
16:42:47 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
16:43:53 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
16:44:47 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
16:45:54 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
16:46:08 <Guest31> that was it thanks davean
16:46:28 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
16:46:43 × Null_A quits (~null_a@2601:645:8700:2290:a961:38e5:e25d:7cd0) (Read error: Connection reset by peer)
16:47:17 Null_A joins (~null_a@2601:645:8700:2290:a961:38e5:e25d:7cd0)
16:47:25 <monochrom> This is why the line of "where" should contain nothing else.
16:47:41 <geekosaur> it needs to be more indented than "step" with NonDecreasingIndentation, or than "case" without it, I think
16:47:51 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
16:48:24 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
16:48:36 agua joins (~agua@2804:14c:8793:8e2f:642c:be4c:c775:de87)
16:49:12 <monochrom> The grammar is flexible in styles but some styles are misleading.
16:50:39 <davean> I've never really gotten that where style
16:51:18 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 255 seconds)
16:51:18 × pesada quits (~agua@2804:18:44:17a3:1:0:2cdf:1514) (Ping timeout: 255 seconds)
16:52:36 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
16:56:13 chomwitt joins (~Pitsikoko@athedsl-32487.home.otenet.gr)
16:57:11 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
16:58:06 <Guest31> What would be an example of good style with Where monochrom?
16:58:15 <Guest31> in your opinion
16:58:20 drd joins (~drd@93-39-151-19.ip76.fastwebnet.it)
16:59:37 <monochrom> <monochrom> This is why the line of "where" should contain nothing else.
16:59:47 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
17:01:23 <c_wraith> I've been working hard recently to style my haskell code such that no indentation depends on any token length
17:01:54 chris_ joins (~chris@81.96.113.213)
17:01:57 <c_wraith> It's awkward in some places, but it's got huge advantages
17:03:22 <monochrom> Yeah, "f x | x>0 = ..." is fairly natural, to always split it takes way too much discipline.
17:04:11 <monochrom> Furthermore if you split at both | and = it looks ugly for short code. (But makes perfect sense for long code.)
17:04:48 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
17:05:55 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
17:06:09 × chris_ quits (~chris@81.96.113.213) (Ping timeout: 255 seconds)
17:09:48 <dsal> I might have to start using oumolu which, as tweag says in their blog post: ormolu: format haskell code like never before (except they did that in all caps)
17:10:34 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
17:12:07 <Franciman> I personally try to shy away from any tool
17:12:10 <Franciman> i use just ghc
17:12:25 <Franciman> ghc --make
17:12:27 <Franciman> is all I need
17:12:32 <Franciman> oh and ghcup
17:12:37 <Franciman> ghcup is unvaluable
17:12:52 <davean> I still haven't used ghcup
17:12:57 <dsal> If you're not the first member on an established team, they might be upset with you if you decided to ignore all their ways.
17:13:34 <davean> I'd be upset to end up with the mess that is oumolu how ever it happened :-p
17:13:58 <dsal> :( Yeah. That's the biggest downside I'm facing.
17:14:22 <davean> oumolu has no concept of the code its formating
17:14:29 <davean> it can only consider syntax, not content
17:14:42 <davean> so every human element is thrown out the window
17:14:43 <dsal> They took a lot from elm which prioritized reading diffs over reading code.
17:14:49 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
17:15:35 <dsal> IMO, fixing the stuff that renders diffs would be a saner approach than making all the code harder to read.
17:15:55 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
17:16:14 oso joins (~oso@2601:58c:c080:a950:e67d:b4e2:c5be:433f)
17:18:23 <geekosaur> --make hasn't been needed for a while now (since ghc 6.12 iirc)
17:19:03 <dsal> I lose most of my excitement about elm, dhall, etc... when I have to do things their One True Way™. I passed a thing I wrote in elm through their standard formatter and got this: https://www.irccloud.com/pastebin/lIpmTDCu/format.elm
17:19:14 <geekosaur> I'm a little surprised it hasn't been deprecated
17:19:32 <dsal> I've not used ormolu much myself, but I expect I'll be seeing more such doublings where I can't read a function on my screen anymore.
17:21:13 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
17:22:06 <monochrom> In comp.lang.functional there was once a detractor who praised imperative programming for "one thing at a time, one concept per line" and attacked functional programming for the opposite.
17:22:29 <monochrom> You have just shown an answer similar to mine :)
17:22:55 <davean> lol. I've seen a lot of mixed concerns in imperative programming
17:23:30 <maerwald> if you do imperative programming with shared mutability tamed, then that is workable
17:24:09 × Null_A quits (~null_a@2601:645:8700:2290:a961:38e5:e25d:7cd0) (Ping timeout: 255 seconds)
17:25:03 <monochrom> My reverse thinking is that whoever imposed that oversplitting style must have been an imperative bonehead who couldn't even understand in C "x = cos(t); y = sin(t);" if I wrote that as one line.
17:25:24 <geekosaur> or a Python programmer
17:25:29 × fef quits (~thedawn@user/thedawn) (Remote host closed the connection)
17:25:54 <dsal> monochrom: please state your variable names in the form of complete sentences.
17:26:12 <monochrom> haha yikes
17:26:27 <davean> the_variable_x
17:26:29 <geekosaur> I haven't programmed cobol in decades
17:26:29 <dsal> I got in an argument with someone who said he had some kind of neurodivergence and couldn't possible comprehend code that used such short variable names.
17:26:30 <davean> Done?
17:26:45 <monochrom> COMPUTE COSINE OF T INTO X
17:26:51 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 255 seconds)
17:26:55 <monochrom> (let's go COBOL for complete sentences)
17:26:58 P1RATEZ joins (piratez@user/p1ratez)
17:28:23 <monochrom> COMPUTE COSINE OF T INTO THE_VAR_THAT_WOULD_BE_COSINE_OF_T
17:28:35 × hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1)
17:28:37 <monochrom> (inspired by the movie name "the kid that would be king" :) )
17:29:05 <monochrom> "lady of the trig functions, please return the cosine of t"
17:29:11 <monochrom> OK I'll stop.
17:29:11 <oso> needs more "Please"
17:29:23 hendursaga joins (~weechat@user/hendursaga)
17:29:25 <davean> no, should be worded must
17:29:29 <davean> we want to have confidence in it
17:30:03 <oso> i was referencing INTERCAL, which wouldn't compile if you didn't say "please" enough but also wouldn't compile if you said it too much because you were being a suckup
17:30:51 <davean> Yes but a function like "please_compute_the_cosine_of_t" might not
17:30:56 <davean> you can't rely on your code being agreeable!
17:31:26 <oso> true; on the contrary, i find my code to be most disagreeable
17:33:00 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection)
17:33:23 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
17:37:38 × mnrmnaugh quits (~mnrmnaugh@pool-96-252-87-182.bstnma.fios.verizon.net) (Quit: Leaving)
17:40:04 <dsal> In go, we use Must as a prefix for things that will panic if they don't work.
17:40:34 <davean> Ugh, like usuall go gets it wrong
17:40:45 <davean> "must" should make it a total function that matches the specification
17:40:53 × ph88^ quits (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) (Ping timeout: 258 seconds)
17:41:05 <davean> What part of "must" did they understand?
17:41:18 <monochrom> mustHead (x:xs) = x \∩/
17:42:00 <davean> monochrom: thats exactly the sort of thing "must" must fix!
17:42:20 <monochrom> mustFix f = let x = f x in x
17:42:40 × azeem quits (~azeem@dynamic-adsl-94-34-39-251.clienti.tiscali.it) (Ping timeout: 268 seconds)
17:43:01 × neurocyte quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
17:43:21 azeem joins (~azeem@176.200.195.170)
17:43:49 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
17:43:52 × oso quits (~oso@2601:58c:c080:a950:e67d:b4e2:c5be:433f) (Ping timeout: 246 seconds)
17:44:14 <monochrom> OTOH perhaps "if they don't work" means "you can assume it works, only a system bug would be a reason why it doesn't, which is not your responsibility"
17:44:57 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
17:45:42 <davean> lets just always assume it works.
17:45:43 <monochrom> OTOOH under multiple-world non-determinism and the convention "ignore those worlds that don't survive", the function works in all surviving worlds, so the modal quantifier "must" is right.
17:45:57 <davean> Yah, now you're getting it
17:46:03 <monochrom> :)
17:46:53 lavaman joins (~lavaman@98.38.249.169)
17:47:11 <davean> mustSort = randomizeOrder
17:47:47 <dsal> must sort eventually
17:48:06 <davean> dsal: No, quantum bogosort sorts in O(n)
17:48:39 <dsal> I've been meaning to get a new computer for a while. Might as well be a quantum one.
17:48:52 h98 joins (~h98@187.83.249.216.dyn.smithville.net)
17:49:13 <davean> So, launch missiles is in IO, whats the monad of universes?
17:49:43 <monochrom> []
17:50:22 <monochrom> Dr. Strange and the LogicT monad transformer of madness
17:50:22 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Remote host closed the connection)
17:50:28 machinedgod joins (~machinedg@24.105.81.50)
17:51:08 <h98> dumb question, is there a way to avoid the inner parentheses in the type application "@(f (g a b))"? something like @(f $ g a b) on the type-level?
17:51:19 __monty__ joins (~toonn@user/toonn)
17:51:44 <monochrom> No.
17:52:24 × turlando_ quits (~turlando@93-42-250-112.ip89.fastwebnet.it) (Quit: Leaving)
17:52:33 <dmj`> type Foo f g a b = f (g a b) -- @(Foo f g a b) ... maybe?
17:52:37 oso joins (~oso@2601:58c:c080:a950:e67d:b4e2:c5be:433f)
17:52:37 turlando_ joins (~turlando@93-42-250-112.ip89.fastwebnet.it)
17:54:21 <h98> oooh
17:54:39 <davean> I guess the Haskellish form would be "sort = must (\xs -> all id . map (\(x,y) -> x <= y) . zip xs $ tail xs) randomizeOrder
17:54:40 <h98> yes duh, that works...thanks
17:55:10 Sgeo joins (~Sgeo@user/sgeo)
17:56:16 × qrpnxz quits (~qrpnxz@user/qrpnxz) (Ping timeout: 272 seconds)
17:57:35 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
17:59:50 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
18:00:33 × azeem quits (~azeem@176.200.195.170) (Ping timeout: 268 seconds)
18:00:56 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
18:02:24 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
18:03:38 <guest61> update message is Nothing
18:03:45 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
18:05:23 <h98> I can't get over that trick by the way davean, no more nested parentheses in any of my type expressions!
18:05:35 <guest61> update message is Nothing
18:05:36 <davean> Yu mean dmj`?
18:05:55 <h98> sorry yes, dmj` hah
18:06:06 <davean> *I'd* nest the parens because its less indirection :-p
18:06:22 × Guest77 quits (~Guest77@2402:e280:2117:297:ecf8:f374:8704:f843) (Quit: Client closed)
18:06:35 <dmj`> "One weird trick to remove your parentheses... lisp programmers *hate* him"
18:06:36 <davean> (Not if the alias had semantics weight of its own though)
18:09:49 × Guest31 quits (~Guest31@76-236-222-208.lightspeed.tukrga.sbcglobal.net) (Quit: Client closed)
18:10:42 qrpnxz joins (~qrpnxz@user/qrpnxz)
18:10:50 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
18:11:57 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
18:15:10 azeem joins (~azeem@dynamic-adsl-94-34-39-251.clienti.tiscali.it)
18:15:54 Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com)
18:21:57 × Atum_ quits (~IRC@user/atum/x-2392232) (Ping timeout: 250 seconds)
18:24:54 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
18:25:56 lbseale joins (~lbseale@user/ep1ctetus)
18:26:22 burnside_ joins (~burnsides@client-8-82.eduroam.oxuni.org.uk)
18:27:24 × burnside_ quits (~burnsides@client-8-82.eduroam.oxuni.org.uk) (Remote host closed the connection)
18:29:27 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 265 seconds)
18:31:30 burnsidesLlama joins (~burnsides@client-8-82.eduroam.oxuni.org.uk)
18:34:52 chris_ joins (~chris@81.96.113.213)
18:36:19 × burnsidesLlama quits (~burnsides@client-8-82.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds)
18:37:34 ph88^ joins (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
18:40:14 × lbseale quits (~lbseale@user/ep1ctetus) (Remote host closed the connection)
18:40:37 lbseale joins (~lbseale@user/ep1ctetus)
18:47:25 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 268 seconds)
18:49:11 × h98 quits (~h98@187.83.249.216.dyn.smithville.net) (Quit: Client closed)
18:49:45 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
18:53:41 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:54:44 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Read error: Connection reset by peer)
18:55:12 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
18:58:45 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
18:58:52 <guest61> update message is Nothing
19:03:47 <monochrom> guest61: What is all that about?
19:04:12 <guest61> update message is Nothing
19:04:17 ChanServ sets mode +o monochrom
19:04:23 monochrom sets mode +b *!*@47.245.54.240
19:04:23 guest61 is kicked by monochrom (guest61)
19:04:36 monochrom sets mode -o monochrom
19:05:49 Pickchea joins (~private@user/pickchea)
19:05:53 Null_A joins (~null_a@2601:645:8700:2290:a961:38e5:e25d:7cd0)
19:07:08 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 258 seconds)
19:09:49 Atum_ joins (~IRC@user/atum/x-2392232)
19:12:25 <tom__> So if you are modelling a stochastic process as a comonad how do you get the randomness for each step if IO is a monad
19:13:08 × Guest9 quits (~Guest9@103.250.139.40) (Quit: Connection closed)
19:13:09 <dsal> Guest9: update message is (Just Quit)
19:13:32 dsal is too late and missed
19:13:51 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
19:14:33 × lbseale quits (~lbseale@user/ep1ctetus) (Ping timeout: 268 seconds)
19:17:29 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
19:18:07 <davean> tom__: or randomness is a source for the cell
19:19:17 <tom__> davean: Right but you can't product a cell without being in IO then?
19:19:20 <tom__> produce
19:20:11 <davean> tom__: I mean, you don't need to be in IO to step a pseudo random function
19:20:30 <davean> You can do all sorts of things
19:20:48 <davean> the particular one I'd start with is taking one seed value, and splitting a prf to all the "cells"
19:21:10 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
19:22:59 <dsal> > randomRs (1, 11) $ mkStdGen 42
19:23:00 <lambdabot> [1,8,1,3,2,8,5,3,6,10,9,3,10,11,9,2,1,11,3,3,9,3,3,9,1,7,9,8,6,7,4,2,7,1,3,2...
19:25:31 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
19:27:44 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
19:28:07 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
19:28:18 <tom__> Does the Random package allow sampling from a normal distribution?
19:28:53 <geekosaur> yes, as of 1.2
19:29:02 <tom__> thanks
19:29:19 <davean> tom__: I mean it provides random numbers, sampling from is a way to *use* randomness
19:29:19 <tom__> Does "Constructs a StdGen deterministically." mean - not randomly?
19:29:58 <davean> Uh, the construction is never random persay
19:29:59 <geekosaur> if the input you give it is deterministic then yes
19:30:00 <dsal> > randomRs (1, 11) $ mkStdGen 42 -- tom__ yes, it means it'll reproduce the same sequence
19:30:01 <lambdabot> [1,8,1,3,2,8,5,3,6,10,9,3,10,11,9,2,1,11,3,3,9,3,3,9,1,7,9,8,6,7,4,2,7,1,3,2...
19:30:11 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
19:30:20 × MorrowM quits (~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 255 seconds)
19:31:16 Morrow joins (~Morrow@bzq-110-168-31-106.red.bezeqint.net)
19:31:21 <tom__> Ah ok so mkStdGen enables "decoupling" between IO and your computation
19:31:23 mdunnio joins (~textual@205.178.28.97)
19:31:47 <dsal> Yes. There are MonadIO variants in there as well.
19:31:58 <geekosaur> you can also get a randomly generated seed from IO and do the rest purely
19:32:11 <tom__> aha thanks
19:32:47 <tom__> by purely do you mean - not with IO?
19:32:48 <davean> Note there are plenty of monadic forms that aren't IO also, for prfs
19:33:22 <geekosaur> yes
19:33:27 × Atum_ quits (~IRC@user/atum/x-2392232) (Ping timeout: 250 seconds)
19:33:52 <davean> I'm not really a fan of the 1.2 changes :/
19:34:21 <davean> tom__: if you want good sampling, see random-fu and such BTW
19:34:31 <davean> distributions is seperate from random numbers
19:34:57 <geekosaur> on the one hand it cleaned up my use of the mersenne twister a bit; on the other I found 1.1 much easier
19:35:15 × Sgeo quits (~Sgeo@user/sgeo) (Quit: Leaving)
19:35:17 <geekosaur> gripping hand I didn't have to fake normal distributions any more
19:35:31 <davean> geekosaur: I don't think the 1.2 design is valid :/ I think theres some actual contradictions in its design, but thats far too long a discussion for here and now
19:36:13 <davean> I'm actually rather upset about 1.2
19:36:27 <davean> Not that 1.1 was great
19:36:34 × mdunnio quits (~textual@205.178.28.97) (Quit: Textual IRC Client: www.textualapp.com)
19:37:25 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:37:50 mdunnio joins (~textual@205.178.28.97)
19:38:13 Sgeo joins (~Sgeo@user/sgeo)
19:38:50 <tom__> I'm using MWC-probability
19:39:05 Erutuon joins (~Erutuon@user/erutuon)
19:39:53 <mdunnio> hello! is anyone aware of any up-to-date guides on how to use LLVM backend with GHC? I'm looking to utilize GHC 8.10.5's first class support for M1, but I'm not exactly sure where to get started.
19:40:14 Atum_ joins (~IRC@user/atum/x-2392232)
19:41:18 <geekosaur> using it is just doing "ghc-options: -fllvm" in the cabal file. but I think 8.10.5 is known buggy
19:41:44 <mdunnio> oh interesting. ok
19:42:12 <mdunnio> I'll try that out
19:42:24 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
19:42:26 <geekosaur> and true first class (-fasm) support is supposed to come in 9.2.1
19:42:45 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 255 seconds)
19:42:55 <geekosaur> there's a prerelease available in ghcup but it has some known bugs
19:43:22 <davean> Yah, on one hand llvm is kinda first class, on the other, LLVM isn't a general system and we don't fit its preconception of being C
19:43:30 <davean> So it'll never be quite right to use LLVM
19:43:48 <davean> You'll always eat a penalty of LLVM not being a general system
19:44:22 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 265 seconds)
19:44:33 × chris_ quits (~chris@81.96.113.213) (Remote host closed the connection)
19:44:42 <mdunnio> penalty as in performance, or just support generally?
19:44:56 <geekosaur> both
19:44:57 <davean> More the former, but there CAN be a few issues with the later
19:45:07 <davean> LLVM is very much a C IR
19:45:20 <davean> It claims to be general, but frankly, thats wishful thinking
19:45:22 <geekosaur> llvm doesn't understand the cps-encoded code ghc emits and pessimizes it
19:45:26 <davean> it has a ton of assumptions baked in at hte bottom
19:45:37 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:45:43 <Rembane> So every language that looks like C if you squint works for LLVM?
19:45:57 <davean> Rembane: Close, and LLVM works more generally than that, just not well
19:46:10 <davean> LLVM can't think some normal thoughts, and never will be able to
19:46:13 <mdunnio> I see
19:46:25 <Rembane> davean: Got it. Doesn't sound too bad if your needs are C et al
19:46:26 <davean> Theres ways to make them "work" because the turing tarpit, but that doesn't mean they work well
19:46:37 <davean> Rembane: Yah, its actually great for that
19:46:48 <davean> Rembane: I mean you make sometihng better for one thing, usually you make it worse for another
19:46:58 <davean> the only issue I see here is the claim that its general, which it just clearly isn't
19:47:16 <davean> but! It works pretty well for GHC for most thing
19:47:22 <davean> so, go use it
19:47:31 <davean> Its actually the best option for a few specific cases
19:47:38 <davean> and you can do funky stuff to use it only where it is the best ...
19:48:05 <davean> So like, its good to have, I'm not trying to bash it, just explain what one might feel about "first class ness"
19:48:32 × shailangsa quits (~shailangs@host86-186-196-229.range86-186.btcentralplus.com) (Ping timeout: 258 seconds)
19:48:36 <mdunnio> yeah, to be fair, I have a pretty broad interpretation of what "first class support" even means
19:48:58 <Rembane> davean: Totally, it's trade offs all the way down.
19:49:07 <mdunnio> at this point, I'm willing to take "does it work at all?"
19:49:14 <davean> mdunnio: ok!
19:49:16 <davean> so, it does work!
19:49:32 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Client Quit)
19:50:14 <davean> mdunnio: So my understanding is that the nix stuff is still the best option
19:50:39 niemand joins (~niemand@p2e52f785.dip0.t-ipconnect.de)
19:50:43 niemand parts (~niemand@p2e52f785.dip0.t-ipconnect.de) ()
19:50:57 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
19:51:02 <davean> (I uh, keep an arms length from Apple, I just uh, make sure we have CI for it)
19:51:56 <davean> Talking of which, yah rossetta, uh, don't run a ton of x86 binaries.
19:53:05 <mdunnio> fair
19:53:10 <mdunnio> yeah, that's the plan
19:53:38 <davean> yah, its a problem (I don't know if you know, but it doesn't clear the cache, so you'll run out of disk space and be stuck unless you disable SIP)
19:53:46 <mdunnio> I haven't actually worked much with nix yet, might be time to experiment
19:54:01 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 268 seconds)
19:54:19 <davean> mdunnio: So, I'm not sure they want me to refer you, but the bigest expert I know in this area is moritz angermann
19:54:31 <davean> I think we're due for a writeup on the state of M1 stuff
19:54:42 <davean> It would be a public service
19:55:26 <mdunnio> I recall moritz wrote up a bunch about cross-compiling for ARM. I did some rpi work back a year or so ago
19:56:01 <davean> I'll admit I was taking care of a lot of the mac stuff and then moritz stepped in and not being a mac user I disowned it as fast as possible
19:56:23 <mdunnio> seems like the appropriate time to pass the torch
19:56:51 <mdunnio> ok, I'm going to experiment a little bit and see if I can get somewhere. I appreciate the help
19:56:53 × P1RATEZ quits (piratez@user/p1ratez) (Remote host closed the connection)
19:57:02 <davean> Someone needed to do it, but better it be someone who loves it and has base skills for it
19:57:10 × mdunnio quits (~textual@205.178.28.97) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:58:41 myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net)
19:58:44 yauhsien_ joins (~yauhsien@61-231-35-149.dynamic-ip.hinet.net)
19:59:01 <davean> Hum, I failed to full say what I should have above - which is that the CI config is where that knowlege should be accessible
19:59:04 <davean> well I'm a bad helper
19:59:34 × yauhsien quits (~yauhsien@61-231-25-245.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
20:00:56 × peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Ping timeout: 255 seconds)
20:05:07 × juhp quits (~juhp@128.106.188.66) (Ping timeout: 268 seconds)
20:05:31 × Lycurgus quits (~juan@cpe-45-46-140-49.buffalo.res.rr.com) (Quit: Exeunt)
20:06:54 × zmt00 quits (~zmt00@user/zmt00) (Quit: Gone.)
20:07:20 juhp joins (~juhp@128.106.188.66)
20:09:14 × drd quits (~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 258 seconds)
20:10:19 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
20:11:25 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
20:19:32 shailangsa joins (~shailangs@host86-145-14-107.range86-145.btcentralplus.com)
20:19:56 × Atum_ quits (~IRC@user/atum/x-2392232) (Quit: Atum_)
20:19:59 drd joins (~drd@93-39-151-19.ip76.fastwebnet.it)
20:21:54 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
20:22:21 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
20:22:32 × shailangsa quits (~shailangs@host86-145-14-107.range86-145.btcentralplus.com) ()
20:22:34 peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi)
20:24:37 zangi joins (~zangi@103.154.230.230)
20:26:44 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
20:29:07 sm wonders why the above thread jumped tracks from LLVM to apple .. do these go together ?
20:29:38 chris_ joins (~chris@81.96.113.213)
20:29:43 <sm> and , #ghc is also a good source of info
20:30:24 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
20:31:47 <davean> sm: it was about Apple
20:31:49 <geekosaur> sm: M1 == Apple Silicon
20:31:55 <davean> the point of LLVM there was to get M1 support
20:32:08 <davean> which we get via LLVM or the native code gen, the native code gen isn't until 9.2 tohugh
20:32:30 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
20:32:35 <zangi> does laziness consume more memory than strict evaluation?
20:32:42 × Topsi quits (~Tobias@dyndsl-095-033-088-035.ewe-ip-backbone.de) (Read error: Connection reset by peer)
20:32:45 <davean> zangi: no, sometimes far less
20:32:46 <dminuoso> Yes. No.
20:33:38 Atum_ joins (~IRC@user/atum/x-2392232)
20:33:40 <zangi> what about the thunks?
20:33:42 <dminuoso> zangi: In order to provide lazyness, the lazy expression has to have some kind of memory representation. That costs allocation and indirection.
20:33:44 <davean> zangi: Theres a few cases where it uses more, the main one is special cased in the GC
20:34:07 <davean> zangi: whats smaller, the infinite list, or the thunk [1..]?
20:34:11 <dminuoso> zangi: But this is usually offset having low residency when working on large data.
20:34:17 jneira_ joins (~jneira_@28.red-80-28-169.staticip.rima-tde.net)
20:34:33 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:34:45 <dminuoso> I think the fundamental problem is that "memory consumption" is not something you can put as a single number metric.
20:37:37 Hecate_ is now known as Hecate
20:37:44 <dminuoso> For instance: Your program might process a 20TiB data set but have only 50MiB of memory residency at any given time.
20:37:47 × Hecate quits (~mariposa@163.172.211.189) (Changing host)
20:37:47 Hecate joins (~mariposa@user/hecate)
20:38:21 × slep quits (~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net) (Read error: Connection reset by peer)
20:38:39 <dminuoso> But this could still have a lot of allocations internally
20:38:52 slep joins (~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net)
20:39:22 <dminuoso> Lazyness also produces a level of indirection, which might hurt locality
20:39:37 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
20:40:10 <davean> or it can create locality
20:40:46 <lechner> Hi, why are the dolla signs needed in these two lines, please? https://dpaste.org/41S0#L94,95
20:40:59 × ph88^ quits (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 255 seconds)
20:41:03 <dminuoso> lechner: They are not needed.
20:41:17 <dminuoso> lechner: You can also use parens to associate the right hand side of it.
20:41:31 <dminuoso> host $ scheduler config is equivalent to: host (schedular config)
20:41:42 <lechner> can i use map, too?
20:43:12 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
20:43:47 <lechner> dminuoso: I get the following errors when I take out the dollar signs https://dpaste.org/mM0q
20:44:10 <dminuoso> lechner: Like I said.
20:44:16 <dsal> Does anyone know how to do something interesting with Control.Monad.Trans.Select ? There doesn't seem to be much written about it.
20:44:21 <dminuoso> `host $ scheduler config` is equivalent to `host (scheduler config)
20:44:35 × renzhi quits (~xp@2607:fa49:655f:a700::8b9f) (Ping timeout: 255 seconds)
20:44:50 <lechner> okay, why are the parentheses needed, please?
20:44:56 <davean> lechner: to parse it
20:45:08 <geekosaur> $ is "backwards parentheses
20:45:15 <lechner> that i know
20:45:35 <lechner> i think it's a (slightly) higher level question
20:45:39 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
20:45:40 <davean> lechner: so things (sorta) group to the left by default
20:45:42 <geekosaur> so if you remove a $ you usually have to insert the parenheses it was replacing. here, for (scheduler config)
20:45:52 <davean> lechner: you need to put it into the grammer as a group, not seperate things
20:46:03 <lechner> my JSON declarations are not strict
20:46:22 <davean> WHo said anything about strictness?
20:46:53 <davean> This is about grammar
20:47:04 <monochrom> The computer is not telepathic. You can't just write "f g h" and "t x y" and have the computer guess "oh you mean (f g) h and t (x y)".
20:47:37 <lechner> not even when asking for a final result (printf) ?
20:47:55 <monochrom> But there is a little bit of left associativity so "f g h" means "(f g) h".
20:48:24 <lechner> why is that evaluated in my case, though?
20:48:34 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
20:48:44 × amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 252 seconds)
20:48:56 acidjnk joins (~acidjnk@p200300d0c72b9531605cd8043a67e221.dip0.t-ipconnect.de)
20:49:09 ph88^ joins (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
20:52:20 <nf> you usually have to evaluate things in order to print them
20:52:28 shailangsa joins (~shailangs@host86-145-14-107.range86-145.btcentralplus.com)
20:53:32 <davean> lechner: it doesn't know printf is your final result even
20:53:34 × ph88^ quits (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Ping timeout: 246 seconds)
20:53:36 <lechner> but is that done inside the parentheses around the argument to printf?
20:53:44 <davean> Its not "done inside"
20:53:51 <davean> you're saying what is applied to what
20:54:38 <lechner> i think i misunderstood partial application
20:56:00 lbseale joins (~lbseale@user/ep1ctetus)
20:57:54 slack1256 joins (~slack1256@191.125.28.13)
20:58:39 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
20:59:03 geekosaur joins (~geekosaur@xmonad/geekosaur)
21:02:28 × lbseale quits (~lbseale@user/ep1ctetus) (Ping timeout: 268 seconds)
21:02:30 <davean> Definition is not execution
21:02:52 <davean> lechner: consider the option of doign that like with (.)
21:02:58 <davean> *line
21:03:46 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 252 seconds)
21:04:47 <maerwald> monochrom: wingman can guess what you mean, haha
21:05:02 <maerwald> if your types are correct, that is
21:06:36 <maerwald> now you just need something to guess the types for you
21:07:16 <maerwald> and then something that guesses what the program should do
21:07:26 <maerwald> we'll have no engineering problems to solve anymore
21:07:43 maerwald goes packing
21:07:46 wallymathieu joins (~wallymath@81-234-151-21-no94.tbcn.telia.com)
21:07:58 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
21:08:24 <dexterfoo> can I convert a 'Text' value directly into an Int?
21:08:27 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
21:09:05 Guest31 joins (~Guest31@76-236-222-208.lightspeed.tukrga.sbcglobal.net)
21:11:07 <Hecate> % import Data.Text.Read
21:11:08 <yahb> Hecate:
21:11:12 <Hecate> % decimal "3"
21:11:13 <yahb> Hecate: ; <interactive>:223:1: error:; Ambiguous occurrence `decimal'; It could refer to; either `Data.Text.Read.decimal', imported from `Data.Text.Read'; or `Numeric.Lens.decimal', imported from `Numeric.Lens'
21:11:20 <Hecate> fair enough
21:11:20 <Hecate> so
21:11:25 × oso quits (~oso@2601:58c:c080:a950:e67d:b4e2:c5be:433f) (Ping timeout: 246 seconds)
21:11:30 <monochrom> fib :: Int -> Int -> Int -> Int -> Int let wingman guess what I want!
21:11:32 <Hecate> Data.Text.Read.decimal "3"
21:11:35 <Hecate> % Data.Text.Read.decimal "3"
21:11:35 <yahb> Hecate: ; <interactive>:224:24: error:; * Couldn't match type `[Char]' with `Data.Text.Internal.Text'; Expected: Data.Text.Internal.Text; Actual: GHC.Base.String; * In the first argument of `Data.Text.Read.decimal', namely `"3"'; In the expression: Data.Text.Read.decimal "3"; In an equation for `it': it = Data.Text.Read.decimal "3"
21:11:39 <Hecate> curse
21:11:46 <Hecate> % import qualified Data.Text as T
21:11:46 <yahb> Hecate:
21:11:52 <Hecate> % Data.Text.Read.decimal (T.pack "3")
21:11:53 <yahb> Hecate: Right (3,"")
21:11:57 <Hecate> % Data.Text.Read.decimal (T.pack "3x")
21:11:57 <yahb> Hecate: Right (3,"x")
21:12:08 <Hecate> dexterfoo: check this ^
21:13:53 <lechner> davean: how do i use . in that line, please?
21:15:08 <maerwald> sometimes I wonder why I even write documentation... all it does is confuse me 2 weeks later
21:15:39 <maerwald> "I tried to figure out what this does, but didn't manage. But I wrote down my crippled thought regardless"
21:15:45 <dexterfoo> Hecate: thanks!
21:16:28 <Hecate> maerwald: because you don't know how to talk to yourself yet :P
21:16:34 <Hecate> dexterfoo: you're welcome :)
21:16:40 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 246 seconds)
21:16:44 <maerwald> Hecate: preciousssss
21:17:48 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
21:18:40 oso joins (~oso@2601:58c:c080:a950:e67d:b4e2:c5be:433f)
21:20:32 <lechner> Hi, in printf "%s:%d" $ map ($ struct) [stringAccessor intAccessor] does map work only when the return types are the same?
21:20:55 <lechner> actually, there is a comma in there
21:21:05 <geekosaur> all elements of a list must have the same type, yes
21:22:27 <lechner> thanks. i could prosumably use 'show'
21:23:05 <geekosaur> that's the usual way to do it, yes
21:23:14 <geekosaur> don't forget to change the %d to %s
21:24:18 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
21:24:18 <lechner> at some point, that tips the scale toward putStrLn
21:24:30 <geekosaur> yes
21:25:05 × smtnet3 quits (~asdfasdfa@202.36.244.28) (Read error: Connection reset by peer)
21:26:05 × Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Remote host closed the connection)
21:26:17 Vajb joins (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi)
21:26:31 smtnet3 joins (~asdfasdfa@202.36.244.28)
21:27:08 × MQ-17J quits (~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
21:27:08 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 268 seconds)
21:27:28 <dsal> lechner: You could make a function that does the "%s:%d" part pretty easily and NamedFieldPuns or RecordWildCards would make it fairly short.
21:28:16 aegon joins (~mike@174.127.249.180)
21:28:22 × mikoto-chan quits (~mikoto-ch@ip-213-49-189-31.dsl.scarlet.be) (Ping timeout: 268 seconds)
21:29:28 <lechner> dsal: that sounds like a great idea! let's do that in one minute please.
21:30:04 <lechner> meanwhile i am learning. why doesn't that work: printf "Expecting scheduler on %s:%s.\n" $ map ($ scheduler config) [Connection.host, show . Connection.listen_port]
21:31:42 MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com)
21:31:55 <lechner> the point here is the partial application of 'show'
21:32:01 <[exa]> lechner: what's the error?
21:32:06 × myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 255 seconds)
21:32:32 <lechner> https://paste.debian.net/1204829/
21:32:44 <geekosaur> I think you have multiple problems there
21:33:12 <geekosaur> for one, a list is not a collection of applications
21:33:16 <dsal> lechner: A list isn't two arguments.
21:33:26 <dsal> Or phrased how geekosaur said it.
21:33:55 <[exa]> lechner: why still keep printf? (just curious)
21:34:19 <lechner> just chewing on other things :)
21:34:54 <lechner> [exa]: i am not so fond of ++ "[" ++ exa ++ "]" ++ ....
21:35:14 <geekosaur> there is concat
21:35:15 <oso> `concat`?
21:35:43 <dsal> I don't use ++ in general, but I do use fold for logging.
21:36:04 <monochrom> $ kills printf type inference. Seriously. Just don't use $.
21:36:05 royo joins (~royo@user/royo)
21:36:42 <[exa]> lechner: `concat [all, this, stuff]` is a widely used pattern. Esp good when combined with `intercalate`
21:37:01 <lechner> monochrom: for some reason it seemed i needed $
21:37:37 ph88^ joins (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
21:37:40 <dsal> lechner: does it work with $ ?
21:37:43 <monochrom> Sure, "map ($ x) [f, g, h]" has just cause. I am referring to "printf fmt $ ..."
21:37:57 <lechner> okay, i'll change that but why is my partial application wrong. could someone please restate?
21:37:57 <dsal> :t ($)
21:37:58 <lambdabot> (a -> b) -> a -> b
21:38:17 <geekosaur> lechner, you are attempting to use a list as two applications
21:38:17 <lechner> monochrom: i meant that one
21:38:25 <[exa]> lechner: the partial application is right (at least so it seems to me), the problem is that you're giving printf 1 argument and specify 2 in format
21:38:37 <dsal> lechner: If it doesn't work, then it's not fair to say that you needed it.
21:38:43 <geekosaur> one list is one application, not two
21:39:17 <dsal> > (+) $ 1 $ 2
21:39:18 <lambdabot> error:
21:39:18 <lambdabot> • Could not deduce (Num t0)
21:39:18 <lambdabot> from the context: (Num a, Num t, Num (t -> a))
21:39:55 <dsal> $ isn't a syntactic feature. It's just a function. And it will break your applications if effective arity is > 1
21:40:01 <lechner> [exa]: https://paste.debian.net/1204830/
21:40:35 × slack1256 quits (~slack1256@191.125.28.13) (Remote host closed the connection)
21:40:39 pavonia joins (~user@user/siracusa)
21:40:44 <[exa]> dsal: you'd need -XChurchNumerals
21:40:48 <dsal> You might try breaking that into different statements to understand it better.
21:41:16 <geekosaur> lechner, contemplate this:
21:41:25 <geekosaur> > (+) [1,2]
21:41:27 <lambdabot> error:
21:41:27 <lambdabot> • No instance for (Num [Integer]) arising from a use of ‘e_112’
21:41:27 <lambdabot> • In the expression: e_112
21:41:43 <geekosaur> hm, (+) is not the best example there
21:41:54 <monochrom> (&&) [False, False]
21:41:57 <[exa]> lechner: yeah there printf uses `map` as the first argument, likely not very printable
21:41:57 <geekosaur> > (++) ["a","b"]
21:42:00 <lambdabot> <[[Char]] -> [[Char]]>
21:42:03 <lechner> geekosaur: isn't that here four applications? https://salsa.debian.org/lintian/kickoff/-/blob/master/Collect.hs#L68
21:42:40 <lechner> [exa]: yeah, that part i get now
21:42:40 <monochrom> one single list.
21:42:46 <geekosaur> lechner, no, it is a 4-element list
21:42:56 <dsal> :t map
21:42:57 <lambdabot> (a -> b) -> [a] -> [b]
21:43:06 <geekosaur> thisis not lisp, a list is not a group of applications
21:43:23 <dsal> map takes a function and applies it to each element inside a list. One list in, one list out.
21:44:39 <lechner> that's what i am looking for, except one member (of all partially or unapplied functions) is specified as a . b
21:45:19 <dsal> You're doing several things at once. You will likely have more success if you break them down a bit.
21:45:53 <lechner> dsal: let's go with your approach. i am reading up on puns
21:45:53 × azeem quits (~azeem@dynamic-adsl-94-34-39-251.clienti.tiscali.it) (Read error: Connection reset by peer)
21:45:54 <dsal> A list is one thing, but it's not what your printf wants. So to work backwards, you'll have to figure out how to make what your printf wants.
21:46:03 <lechner> yes
21:46:14 <lechner> let's chuck printf
21:46:16 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection)
21:46:17 <dsal> My approach is to make a function that formats your connection string.
21:46:29 azeem joins (~azeem@dynamic-adsl-94-34-39-251.clienti.tiscali.it)
21:46:43 burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk)
21:47:12 <dsal> In MonadLogger, you can call that ToLogStr, but that's the opposite direction from "do less stuff" :)
21:48:42 × wallymathieu quits (~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
21:51:29 × burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 265 seconds)
21:52:42 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:53:07 __monty__ joins (~toonn@user/toonn)
21:53:19 × __monty__ quits (~toonn@user/toonn) (Client Quit)
21:54:50 <lechner> can i define an instance of 'show' to return the string host ++ ":" ++ listen_port for a type that has both?
21:55:05 <geekosaur> you can but you shouldn't
21:55:20 <lechner> why not, please?
21:55:47 <geekosaur> an instance of Show should match an instance of Read and ideally be a fragment of Haskell source that will reproduce a value of the type within ghc / ghci
21:56:37 <geekosaur> otherwise you run into issues Show-ing or Read-ing structures that contain values of that type
21:56:39 <lechner> could i add both?
21:56:50 × fendor__ quits (~fendor@178.165.167.65.wireless.dyn.drei.com) (Remote host closed the connection)
21:57:38 <geekosaur> what do you mean?
21:58:00 <lechner> Show and Read
21:58:35 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
21:58:41 <dsal> lechner: That's not what show is for. This is why MonadLogger defines ToLogStr. You can make your own.
21:59:47 <dminuoso> geekosaur: Strictly speaking, that is only requires for deriving generated instances. This notion that they "should" seems to be based in rumour or just an observation of established practice.
21:59:47 <dsal> You *can* define your own Show and Read if you're pretty sure you can encapsulate all of the structure you want. It's not definitely the wrong idea all the time, but it's not easier than making something specific for logging and having your logger log with it.
22:00:39 <dsal> I think it's the date/time stuff that has fancy Show instances that just make life miserable when you have them in data structures.
22:01:08 <lechner> i should not use UTCTime in JSON decls?
22:01:13 <pavonia> Custom Show instances are a PITA if you have to debug things. Just don't do it
22:01:22 <lechner> okay
22:01:42 <monochrom> Established practice is still something to respect. Of course, "respect" allows exceptions. OK I'm on a fence, I'll stop now.
22:02:04 <lechner> i'm just learning
22:02:13 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
22:02:33 jmorris joins (uid433911@id-433911.stonehaven.irccloud.com)
22:02:35 × fendor quits (~fendor@178.165.167.65.wireless.dyn.drei.com) (Remote host closed the connection)
22:03:08 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
22:03:26 × jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
22:04:01 <sm> for learning, do whatever you like :)
22:04:34 × yauhsien_ quits (~yauhsien@61-231-35-149.dynamic-ip.hinet.net) (Remote host closed the connection)
22:04:58 <exarkun> Where's the Haskell implementation of https://en.wikipedia.org/wiki/Turtle_graphics ?
22:05:04 geekosaur joins (~geekosaur@xmonad/geekosaur)
22:05:22 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
22:05:52 <lechner> what's the precedence between $ and ++ please?
22:06:55 <dminuoso> %i ($)
22:07:05 <dminuoso> % :i ($)
22:07:05 <yahb> dminuoso: ($) :: (a -> b) -> a -> b -- Defined in `GHC.Base'; infixr 0 $
22:07:07 <dminuoso> % :i (++)
22:07:08 <yahb> dminuoso: (++) :: [a] -> [a] -> [a] -- Defined in `GHC.Base'; infixr 5 ++
22:07:18 <dminuoso> lechner: ^- See the fixity declarations?
22:08:05 <dminuoso> The number is the precedence level
22:08:09 <dsal> % :i (<>)
22:08:09 <yahb> dsal: type GHC.Base.Semigroup :: * -> Constraint; class GHC.Base.Semigroup a where; (<>) :: a -> a -> a; ...; -- Defined in `GHC.Base'; infixr 6 <>
22:08:17 <dsal> That's interesting.
22:08:20 <dminuoso> And the `r` in infixr means its right-associative. We also have infixl for left associative
22:08:28 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 246 seconds)
22:09:02 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
22:09:23 <dminuoso> If no fixity is declared, an operator defaults to infixl 9.
22:09:33 <lechner> dsal: ++ binds more tightly than $ right?
22:09:41 <dminuoso> Yes.
22:10:01 <monochrom> What do "0" and "5" tell you?
22:10:18 × _xor quits (~xor@74.215.232.67) (Ping timeout: 268 seconds)
22:10:32 <lechner> a relative ordering
22:10:35 <dsal> I don't ever use ++. I just never considered ++ was lower than <>
22:10:44 waleee joins (~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
22:11:06 <lechner> what is <> please? i have only seen that in purescript
22:11:14 <dsal> :t (<>)
22:11:16 <lambdabot> Semigroup a => a -> a -> a
22:11:17 <dsal> :t (++)
22:11:19 <lambdabot> [a] -> [a] -> [a]
22:11:35 <dsal> ++ only works for lists. <> is like ++ but works for many other types.
22:11:39 <xsperry> lechner, you can think of it as a more general ++. it works with more than just lists
22:12:02 <lechner> dsal: should is stick to concat instead of ++?
22:12:29 <dsal> :t concat
22:12:30 <lambdabot> Foldable t => t [a] -> [a]
22:12:31 Erutuon joins (~Erutuon@user/erutuon)
22:12:37 <dsal> :t fold
22:12:39 <lambdabot> (Foldable t, Monoid m) => t m -> m
22:12:51 <dsal> That doesn't do the same thing, but depending on what you're doing, it might be better.
22:13:18 <dsal> I use <> often, I just don't use ++. You can use ++ if you like. I was just commenting on the precedence.
22:14:41 <dsal> I've got logging functions like `logErrorL, logInfoL, logDbgL :: (Foldable f, MonadLogger m) => f T.Text-> m ()` which are helpful when I want to log a list of Texts. e.g., `logInfoL = logInfoN . fold`
22:19:55 hexfive joins (~eric@50.35.83.177)
22:19:55 × zangi quits (~zangi@103.154.230.230) (Read error: Connection reset by peer)
22:21:23 × Guest31 quits (~Guest31@76-236-222-208.lightspeed.tukrga.sbcglobal.net) (Quit: Client closed)
22:27:12 <lechner> are those two lines acceptable for a newbie? https://dpaste.org/sqiW#L96,97
22:27:33 × ph88^ quits (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c) (Read error: Connection reset by peer)
22:27:56 ph88^ joins (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de)
22:28:48 <dminuoso> Looks fine.
22:29:12 <lechner> thanks to everyone for your help!
22:29:22 <dminuoso> The `nice 19` looks dubious though.
22:29:48 <lechner> what should it look like?
22:30:48 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
22:31:08 <lechner> I'm trying to do this: https://salsa.debian.org/lintian/kickoff/-/blob/master/runner#L57
22:31:36 × Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer)
22:31:50 Vajb joins (~Vajb@2001:999:62:1d53:26b1:6c9b:c1ed:9c01)
22:34:05 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 244 seconds)
22:34:46 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
22:35:03 yauhsien joins (~yauhsien@61-231-35-149.dynamic-ip.hinet.net)
22:35:40 × nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
22:37:34 × azeem quits (~azeem@dynamic-adsl-94-34-39-251.clienti.tiscali.it) (Remote host closed the connection)
22:37:44 azeem joins (~azeem@dynamic-adsl-94-34-39-251.clienti.tiscali.it)
22:44:29 × yauhsien quits (~yauhsien@61-231-35-149.dynamic-ip.hinet.net) (Ping timeout: 258 seconds)
22:44:34 machinedgod joins (~machinedg@24.105.81.50)
22:45:55 lavaman joins (~lavaman@98.38.249.169)
22:47:27 nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
22:48:54 × chomwitt quits (~Pitsikoko@athedsl-32487.home.otenet.gr) (Quit: Leaving)
22:49:07 chomwitt joins (~chomwitt@2a02:587:dc04:b400:12c3:7bff:fe6d:d374)
22:51:00 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
22:52:55 × falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 258 seconds)
22:54:15 chomwitt parts (~chomwitt@2a02:587:dc04:b400:12c3:7bff:fe6d:d374) (Leaving)
22:56:54 × acidjnk quits (~acidjnk@p200300d0c72b9531605cd8043a67e221.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
22:57:09 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 255 seconds)
22:57:18 acidjnk joins (~acidjnk@p200300d0c72b9531605cd8043a67e221.dip0.t-ipconnect.de)
22:57:24 × vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.0.1)
22:58:14 vysn joins (~vysn@user/vysn)
22:58:38 × vysn quits (~vysn@user/vysn) (Client Quit)
22:58:44 × acid quits (~acid@user/acid) (Read error: Connection reset by peer)
22:58:52 acid joins (~acid@2a01:4f9:c010:898a::1)
22:59:07 econo joins (uid147250@user/econo)
22:59:15 acid is now known as Guest152
23:03:14 smichel17[m] is now known as silly17[m]
23:05:32 <lechner> why do ++ and concat not do the same thing, please?
23:05:51 <int-e> they have different types?
23:06:39 <geekosaur> what do you mean by "not do the same thing"?
23:06:45 <geekosaur> :t (++)
23:06:46 <lambdabot> [a] -> [a] -> [a]
23:06:46 <int-e> concat takes a list of lists (well, a traversable of lists, but let's simplify) and appends those; ++ takes two lists and appends them
23:06:58 × cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds)
23:06:58 <geekosaur> :t concat
23:06:59 <lambdabot> Foldable t => t [a] -> [a]
23:07:04 <int-e> foldable, my bad
23:07:14 <int-e> Why do we use "t" for a Foldable.
23:07:27 cheater joins (~Username@user/cheater)
23:07:47 <lechner> are they different when used with String?
23:07:55 <int-e> (That's what misled me, though it shouldn't have.)
23:07:58 <geekosaur> I think this may be ghc inferring a type and calling it "t" because that's the default
23:08:07 <int-e> > concat ["a","b","c"]
23:08:09 <lambdabot> "abc"
23:08:09 <geekosaur> lechner, a String is just a list of Char
23:08:11 <int-e> > "a" ++ "b"
23:08:12 <lambdabot> "ab"
23:08:19 <int-e> it's still a completely different type
23:08:37 <dsal> Two things and a list of two things are not the same type.
23:08:58 <int-e> You can rewrite xs ++ ys as concat [xs,ys] if you like.
23:09:22 <lechner> that's what i meant. thanks!
23:09:27 <int-e> (it may come at a small performance penalty)
23:09:34 <int-e> (I haven't checked)
23:10:22 <lechner> performance is a binary event here atm
23:11:55 <int-e> Checked, evidently concat [xs, ys] gets rewritten to xs ++ ys, so there's no difference.
23:12:10 <int-e> (when compiling with ghc with optimizations enabled)
23:12:46 falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
23:13:41 <int-e> I don't know what "binary event" means.
23:13:44 <arahael> The joy of a bit of early-morning haskell before work. :D
23:14:08 <beaky> hello does ghc do whole program optimization like mlton
23:14:24 <arahael> It's _remarkable_ how one can get by with sloppy code in haskell: You can trivially and painlessly refactor it. So nice.
23:15:18 <int-e> beaky: no, it compiles modules separately, though there's inlining across modules for small functions.
23:17:27 <arahael> int-e: There was this last year, though: https://www.patreon.com/posts/introducing-ghc-38173710 Has anything happened in that space since then or has it fizzled out?
23:18:45 <int-e> I don't really know. I saw that there was some discussion on GRIN on here 2 hours ago...
23:19:43 <geekosaur> there is apparently still some ongoing work but it hasn't been upstreamed and isn't yet usable in production
23:19:54 cjb joins (~cjb@user/cjb)
23:21:12 silly17[m] is now known as smichel17[m]
23:21:49 <int-e> Or is that 26 hours ago, my client has no dates in the timestamp, and my feeling for time is all messed up
23:22:39 <arahael> I'm personally a bit torn between thinking that that research is awesome - and or wishing that compilation took way less memory, even though memory doesn't seem to affect me because I never have less than 16 GB of RAM these days.
23:23:25 <geekosaur> 26 hours ago more likely
23:23:37 <geekosaur> was when I was in the discussion at least
23:24:18 <int-e> cf. https://paste.debian.net/hidden/d3d82af6/
23:25:17 <int-e> Yes, it was 26 hours ago. I still don't know whether it's related to that patreon thing. The topic clearly overlaps heavily.
23:26:10 <int-e> (don't bookmark that paste, I set it to expire in 24h)
23:27:15 <geekosaur> people can get it from ircbrowse if they want it :)
23:27:40 <geekosaur> admittedly it'd help if it were searchable, but can't have everything
23:29:29 <geekosaur> that was the one I was talking about, at least. don't know with 100% certainty it was the one dmj` intended, but it seemed to match up
23:33:57 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 265 seconds)
23:34:41 × acidjnk quits (~acidjnk@p200300d0c72b9531605cd8043a67e221.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
23:36:07 × caubert quits (~caubert@136.244.111.235) (Quit: WeeChat 3.1)
23:38:48 caubert joins (~caubert@136.244.111.235)
23:39:44 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
23:41:13 × ph88^ quits (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) (Ping timeout: 258 seconds)
23:42:43 ph88^ joins (~ph88@2a02:8109:9e00:7e5c:f938:d06a:9ad7:b39c)
23:42:47 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 255 seconds)
23:48:22 × caubert quits (~caubert@136.244.111.235) (Quit: WeeChat 3.2)
23:50:01 caubert joins (~caubert@136.244.111.235)
23:50:43 dajoer joins (~david@user/gvx)
23:54:57 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:55:03 × phma quits (phma@2001:5b0:211f:63f8:7d7f:3315:17e4:ee3e) (Read error: Connection reset by peer)
23:55:31 _xor joins (~xor@74.215.232.67)
23:58:15 phma joins (phma@2001:0:c38c:c38c:3cee:b989:bcd3:2f3d)

All times are in UTC on 2021-07-18.