Home liberachat/#haskell: Logs Calendar

Logs on 2023-02-19 (liberachat/#haskell)

00:02:35 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
00:04:45 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
00:04:45 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit)
00:11:45 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
00:11:45 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit)
00:15:07 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 248 seconds)
00:18:47 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
00:18:47 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit)
00:19:17 mauke_ joins (~mauke@user/mauke)
00:20:38 × mauke quits (~mauke@user/mauke) (Ping timeout: 255 seconds)
00:20:38 mauke_ is now known as mauke
00:23:20 × tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Ping timeout: 255 seconds)
00:23:24 tcard_ joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
00:25:46 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
00:25:47 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit)
00:27:39 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
00:27:57 × vglfr quits (~vglfr@88.155.56.103) (Ping timeout: 255 seconds)
00:29:49 × acidjnk quits (~acidjnk@p200300d6e715c42481098173da91238f.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
00:32:46 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
00:32:46 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit)
00:34:52 × opticblast quits (~Thunderbi@172.58.82.191) (Quit: opticblast)
00:35:10 opticblast joins (~Thunderbi@172.58.82.191)
00:37:00 × opticblast quits (~Thunderbi@172.58.82.191) (Client Quit)
00:37:21 opticblast joins (~Thunderbi@172.58.82.191)
00:39:47 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
00:39:47 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit)
00:44:45 × travisb_ quits (~travisb@2600:1700:7990:24e0:abed:c122:a91f:97ed) (Remote host closed the connection)
00:44:57 travisb_ joins (~travisb@2600:1700:7990:24e0:a63a:1f39:8aa8:be50)
00:46:07 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
00:46:07 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Client Quit)
00:46:23 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 248 seconds)
00:47:07 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
00:49:50 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
00:51:11 × mikoto-chan quits (~mikoto-ch@2001:999:250:81ee:23c4:8735:cf7a:82c6) (Ping timeout: 252 seconds)
00:53:43 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
00:57:25 × gurkenglas quits (~gurkengla@46.114.183.40) (Ping timeout: 252 seconds)
00:59:55 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 246 seconds)
01:02:03 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
01:03:30 merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl)
01:09:22 × merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
01:10:42 × brettgilio quits (~brettgili@x-irc.gq) (Ping timeout: 255 seconds)
01:11:00 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:17:24 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:17:24 <albet70> my project has cabal, when I run cabal run, cabal can't find source for TelegramSendMsg in app
01:21:14 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
01:21:15 PotentialUser-23 joins (~Potential@2600:8800:7b00:2aa0:68f1:2f6f:21cc:c39c)
01:21:42 <albet70> how using cabal to compile to a native binary program?
01:22:44 PotentialUser-23 parts (~Potential@2600:8800:7b00:2aa0:68f1:2f6f:21cc:c39c) ()
01:26:27 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
01:26:27 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
01:26:27 wroathe joins (~wroathe@user/wroathe)
01:52:56 cassaundra joins (~cassaundr@c-73-25-18-25.hsd1.or.comcast.net)
01:52:58 × kee quits (~~kee@user/wizzwizz4) (Read error: Connection reset by peer)
01:53:02 × cassaundra quits (~cassaundr@c-73-25-18-25.hsd1.or.comcast.net) (Changing host)
01:53:02 cassaundra joins (~cassaundr@user/cassaundra)
01:53:17 n0den1te joins (~n0den1te@223.178.80.253)
01:53:24 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
01:53:40 kee joins (~~kee@user/wizzwizz4)
01:54:16 jpds joins (~jpds@gateway/tor-sasl/jpds)
01:56:55 dextaa0 joins (~DV@user/dextaa)
01:58:41 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
01:59:00 × dextaa quits (~DV@user/dextaa) (Ping timeout: 260 seconds)
01:59:00 dextaa0 is now known as dextaa
02:00:14 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
02:02:23 king_gs joins (~Thunderbi@2806:103e:29:1779:2dd6:bac2:8268:e668)
02:04:31 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 252 seconds)
02:17:28 × p0lyph3m quits (~polyphem@2a02:810d:840:8754:ad77:3864:324d:fcd8) (Read error: Connection reset by peer)
02:37:18 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
02:37:57 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
02:41:47 <zero> how do i disable default type warnings on ghci?
02:42:38 <c_wraith> zero: :set -w
02:42:49 <c_wraith> ok, that disables *all* warnings
02:42:54 <c_wraith> but it's fast!
02:43:05 <zero> lol
02:43:24 <zero> i just want the opposite to :seti -Wtype-defaults
02:43:42 <c_wraith> you can just negate the error type
02:43:49 <c_wraith> -Wno-type-defaults
02:43:56 <albet70> Could not find module ‘GHC.Int.Int64’ is it already in base?
02:44:06 <zero> thanks
02:44:52 <c_wraith> albet70: that looks like a type, not a modules. the module would be GHC.Int
02:44:55 <albet70> oh Int64 is a type
02:46:07 <albet70> how to change cabal output path for the generated binary?
02:46:13 <albet70> —builddir ?
02:47:27 × telser quits (~quassel@user/telser) (Ping timeout: 248 seconds)
02:50:50 telser joins (~quassel@user/telser)
02:53:15 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 260 seconds)
02:54:55 brettgilio joins (~brettgili@x-irc.gq)
02:58:35 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection)
03:05:59 Duste3 joins (~Duste3@46.2.23.192)
03:06:06 merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl)
03:06:40 <Duste3> hi can someone tell me why it can't install base? http://codepad.org/DAfKZQHz
03:07:00 <Duste3> it looks like there are multiple versions rejected but they are in the ranges
03:08:33 n0den1te parts (~n0den1te@223.178.80.253) ()
03:09:03 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
03:09:44 chexum joins (~quassel@gateway/tor-sasl/chexum)
03:25:11 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
03:25:27 razetime joins (~Thunderbi@117.193.5.87)
03:31:44 czy joins (~user@host-140-23.ilcub310.champaign.il.us.clients.pavlovmedia.net)
03:40:34 × merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
03:40:59 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
03:41:15 × terrorjack quits (~terrorjac@2a01:4f8:1c1e:4e8c::) (Quit: The Lounge - https://thelounge.chat)
03:41:30 <sclv> Duste3: base isn’t reinstallalble
03:41:56 <sclv> its fixed to whatever ships with ghx
03:41:59 <sclv> ghc
03:42:18 terrorjack joins (~terrorjac@2a01:4f8:1c1e:4e8c::)
03:43:57 x_kuru joins (~xkuru@user/xkuru)
03:44:50 mikess joins (~sam@user/mikess)
03:46:52 × xkuru quits (~xkuru@user/xkuru) (Ping timeout: 246 seconds)
03:50:00 × td_ quits (~td@i53870933.versanet.de) (Ping timeout: 255 seconds)
03:51:46 td_ joins (~td@i5387093b.versanet.de)
03:54:26 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
03:56:07 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
03:56:07 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
03:56:07 finn_elija is now known as FinnElija
03:59:00 × razetime quits (~Thunderbi@117.193.5.87) (Ping timeout: 255 seconds)
04:10:39 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 252 seconds)
04:16:24 Quinten[m] joins (~quintenkd@2001:470:69fc:105::3:1b1c)
04:17:06 × opticblast quits (~Thunderbi@172.58.82.191) (Quit: opticblast)
04:17:22 opticblast joins (~Thunderbi@172.58.85.230)
04:25:22 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
04:29:09 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 255 seconds)
04:30:05 abhixec joins (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net)
04:34:05 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
04:34:48 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit)
04:43:32 razetime joins (~Thunderbi@117.193.5.87)
04:47:08 × abhixec quits (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
04:53:19 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
04:56:14 abhixec joins (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net)
04:59:55 emmanuelux_ joins (~emmanuelu@user/emmanuelux)
05:01:16 <zero> gloss doesn't do anti-alias?
05:02:54 × _leo___ quits (~emmanuelu@user/emmanuelux) (Ping timeout: 255 seconds)
05:05:09 mikoto-chan joins (~mikoto-ch@2001:999:250:81ee:23c4:8735:cf7a:82c6)
05:13:36 × king_gs quits (~Thunderbi@2806:103e:29:1779:2dd6:bac2:8268:e668) (Ping timeout: 248 seconds)
05:28:13 × wroathe quits (~wroathe@user/wroathe) (Quit: leaving)
05:36:40 merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl)
05:39:23 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
05:40:31 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
05:41:36 × merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
05:45:02 × x_kuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
05:51:55 × abhixec quits (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
05:54:58 abhixec joins (~abhinav@67.169.139.16)
05:59:28 bitmapper joins (uid464869@id-464869.lymington.irccloud.com)
06:03:05 × Duste3 quits (~Duste3@46.2.23.192) (Remote host closed the connection)
06:23:16 cheater_ joins (~Username@user/cheater)
06:25:25 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
06:25:30 cheater_ is now known as cheater
06:27:13 falafel joins (~falafel@2607:fb91:143f:e47f:151f:f468:e134:97f2)
06:48:33 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
06:49:16 × mikoto-chan quits (~mikoto-ch@2001:999:250:81ee:23c4:8735:cf7a:82c6) (Ping timeout: 252 seconds)
06:50:26 bliminse joins (~bliminse@user/bliminse)
06:50:30 × bliminse quits (~bliminse@user/bliminse) (Client Quit)
06:53:19 bliminse joins (~bliminse@user/bliminse)
06:53:47 mikoto-chan joins (~mikoto-ch@85-76-71-143-nat.elisa-mobile.fi)
06:54:50 × analoq quits (~yashi@user/dies) (Ping timeout: 255 seconds)
06:55:32 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:56:06 trev joins (~trev@user/trev)
06:56:38 analoq joins (~yashi@user/dies)
06:56:51 takuan joins (~takuan@178-116-218-225.access.telenet.be)
07:00:35 king_gs joins (~Thunderbi@187.201.41.239)
07:01:15 × czy quits (~user@host-140-23.ilcub310.champaign.il.us.clients.pavlovmedia.net) (Ping timeout: 255 seconds)
07:06:05 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:13:10 farzad joins (~farzad@83.121.6.134)
07:19:29 <farzad> Hi! Anyone know of an equivalent of haskells polysemy for purescript?
07:27:49 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:28:10 cheater_ joins (~Username@user/cheater)
07:29:36 × king_gs quits (~Thunderbi@187.201.41.239) (Ping timeout: 255 seconds)
07:30:10 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
07:30:15 cheater_ is now known as cheater
07:33:13 king_gs joins (~Thunderbi@187.201.41.239)
07:37:12 merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl)
07:42:38 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
07:44:19 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
07:46:37 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds)
07:49:53 inversed joins (~inversed@bcdcac82.skybroadband.com)
08:07:24 × mikoto-chan quits (~mikoto-ch@85-76-71-143-nat.elisa-mobile.fi) (Ping timeout: 255 seconds)
08:10:40 × merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
08:16:08 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) (Remote host closed the connection)
08:17:18 × razetime quits (~Thunderbi@117.193.5.87) (Ping timeout: 255 seconds)
08:20:47 × ddellacosta quits (~ddellacos@146.70.166.221) (Ping timeout: 255 seconds)
08:25:38 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
08:30:51 razetime joins (~Thunderbi@117.193.5.87)
08:32:27 × king_gs quits (~Thunderbi@187.201.41.239) (Quit: king_gs)
08:35:47 Lycurgus joins (~juan@user/Lycurgus)
08:41:28 × mauke quits (~mauke@user/mauke) (Quit: leaving)
08:42:47 × meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
08:44:11 × mikess quits (~sam@user/mikess) (Ping timeout: 252 seconds)
08:45:49 mauke joins (~mauke@user/mauke)
08:46:28 × opticblast quits (~Thunderbi@172.58.85.230) (Ping timeout: 246 seconds)
08:46:43 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
08:48:14 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 255 seconds)
08:50:29 oldsk00l joins (~znc@ec2-18-134-205-208.eu-west-2.compute.amazonaws.com)
08:51:49 merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl)
08:52:16 acidjnk joins (~acidjnk@p200300d6e715c480d175a2749fc75020.dip0.t-ipconnect.de)
08:52:47 × falafel quits (~falafel@2607:fb91:143f:e47f:151f:f468:e134:97f2) (Ping timeout: 248 seconds)
08:54:56 × mauke quits (~mauke@user/mauke) (Read error: Connection reset by peer)
08:55:37 mauke joins (~mauke@user/mauke)
09:02:15 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
09:03:02 jpds joins (~jpds@gateway/tor-sasl/jpds)
09:04:27 andrewboltachev joins (~andrey@178.141.125.176)
09:07:43 × farzad quits (~farzad@83.121.6.134) (Ping timeout: 248 seconds)
09:13:46 × oldsk00l quits (~znc@ec2-18-134-205-208.eu-west-2.compute.amazonaws.com) (Ping timeout: 246 seconds)
09:16:05 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
09:16:36 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:bc09:17b4:a9c9:5fe5)
09:17:50 gmg joins (~user@user/gehmehgeh)
09:18:19 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds)
09:19:23 × abhixec quits (~abhinav@67.169.139.16) (Ping timeout: 252 seconds)
09:20:51 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:bc09:17b4:a9c9:5fe5) (Ping timeout: 252 seconds)
09:28:11 × Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
09:36:47 × bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
09:47:22 × freeside quits (~mengwong@103.252.202.170) (Ping timeout: 246 seconds)
09:51:43 gurkenglas joins (~gurkengla@dynamic-046-114-183-040.46.114.pool.telefonica.de)
09:54:57 × merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
10:03:24 razetime1 joins (~Thunderbi@117.193.2.252)
10:03:49 × razetime quits (~Thunderbi@117.193.5.87) (Ping timeout: 246 seconds)
10:07:40 × razetime1 quits (~Thunderbi@117.193.2.252) (Ping timeout: 246 seconds)
10:08:49 razetime joins (~Thunderbi@117.193.3.43)
10:14:34 farzad joins (~farzad@192.15.7.16)
10:15:25 × farzad quits (~farzad@192.15.7.16) (Client Quit)
10:18:29 use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:50e2:6d7:efc7:59a5)
10:43:06 Mahi joins (~Mahi@91-159-147-164.elisa-laajakaista.fi)
10:44:23 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
10:44:26 <Mahi> Hello, my task's instructions tell me to use this function: https://paste.tomsmeding.com/PjMMDUtN and tell me to modify the "events" list with new events added inside the function - but everything I google says I can't modify lists? Any ideas?
10:47:36 <[exa]> Mahi: well technically you can't modify anything because of purity
10:47:47 <Mahi> I've already written a function that returns a new function with the added event: `addEvent name place date events = ((EventInfo name place date) : events)` but I don't understand how to use this inside the provided IO function
10:47:54 <Mahi> returns a new list*
10:48:07 <[exa]> but commonly "modifying" means basically making a copy of the list with the stuff replaced where you wanted the changes
10:48:40 <Mahi> yes so I'd like to replace the existing `events` variable with my new data, is that possible?
10:49:00 <[exa]> yeah
10:49:30 <[exa]> I'm still a bit confused about what the function should do, the `loop` is an IO action that continues the processing and returns (), right?
10:50:00 <[exa]> and you basically want to enrich the list a bit with a few new events every here and there so that loop does something else?
10:50:04 <Mahi> https://paste.tomsmeding.com/UB3vijwd
10:50:22 <Mahi> yes the loop takes an input string until "Quit" is written
10:50:29 <Mahi> And my job is to keep modifying the list based on the input
10:51:29 Tuplanolla joins (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi)
10:51:30 <[exa]> I kinda fail to see what's the reason to have it wrapped in "IO" but let's leave that for later I guess :D
10:51:52 <Mahi> I'm wondering if the original function provided by teachers should instead be this: https://paste.tomsmeding.com/uccc4zDh
10:52:19 <Mahi> the original one they provided makes it seem liek I should edit the `events` variable instead of returning a new list?
10:52:22 <[exa]> yeah but that doesn't leave you an opportunity to do an IO action (such as printing a response to the command)
10:52:27 <Mahi> ahh
10:52:43 <Mahi> that explains
10:52:55 <[exa]> anyway, do you have an example of an action that you want to run with 1] what it does 2] what id adds to the event list?
10:53:45 <Mahi> Input: Event 'Some Event X' happens at 'Some Place Y' on '2019-10-08' should print "Event added" and add the event
10:53:50 <[exa]> btw modifying the list is done basically with making a new one, e.g. for prepending you do basically: loop $ return (myEvent : events)
10:54:14 <Mahi> yeah that's what threw me off the most, now that you've said it it's obvious :D
10:54:58 <[exa]> I still don't really see the reason to have the eventlist wrapped in IO, but I guess that's gonna explain itself with more actions
10:55:03 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
10:56:08 <Mahi> The only other actions are all like this, Input: "What happens on '2019-10-08'" => prints a list of events
10:56:28 <Mahi> similarly "What happens at <place>" and "What is <eventname>"
10:56:34 <Mahi> that's all there is to the task
10:57:23 <[exa]> anyway at this point I'd go: ...; events <- ioEvents; newEvents <- case parseEvent of {.....} ; loop $ return (newEvents ++ events)
10:57:46 <[exa]> errr... parseCommand. :]
10:58:26 <[exa]> or so, schematically
10:58:28 <Mahi> I was trying to use `do` somehow
10:58:44 <[exa]> you actually need to have access to the event list in order to execute the command
10:59:22 <[exa]> `do` is for gluing IO actions together (and also of other monadic actions that are of no interest right now)
11:01:52 <Mahi> Thanks for the help, I think I need to watch a youtube guide on IO or something, everything else in the task seems simple to me but the printing and reading input
11:02:37 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds)
11:02:38 <Mahi> I just can't understand how to do imperative stuff in functional programming :D "print something and return something else entirely" seems imposible
11:04:22 <[exa]> Mahi: it's a bit confusing but there are pretty good rule of thumbs on how to do this
11:04:35 azimut joins (~azimut@gateway/tor-sasl/azimut)
11:04:51 × razetime quits (~Thunderbi@117.193.3.43) (Remote host closed the connection)
11:05:56 <[exa]> in summary, by types: `something` is a plain value that you can access and play with it`. `IO something` is a program that produces the plain value if you run it. Because of purity, you can't run side-effect-causing programs anywhere, the only way to run them is to do it within a larger IO program and let the system to glue the side-effects together to form a larger IO program.
11:05:59 the_proffesor joins (~theproffe@2601:282:8880:20:cbd6:9442:3ec7:7047)
11:05:59 × the_proffesor quits (~theproffe@2601:282:8880:20:cbd6:9442:3ec7:7047) (Changing host)
11:05:59 the_proffesor joins (~theproffe@user/theproffesor)
11:06:44 <[exa]> Mahi: `do` notation is exactly the thing that does this gluing, if you write `do program1; program2` it just makes a program that runs both the subprograms in sequence.
11:07:36 <Mahi> So why can't I do something like `events <- if blabla then do { print "something"; return someEvents  }`
11:07:54 <[exa]> Mahi: and to extract the results of programs, you use the <- (or "bind") notation. `do val<-program1; program2 val` constructs a IO program that runs program 1 and feeds its output directly to program2
11:08:18 <[exa]> btw internally these are rewritten to >> and >>=, you may want to examine the types in ghci using say :t (>>)
11:09:21 <[exa]> and the only remaining part is return, which constructs a "trivial program" that doesn't really do anything but produces the value that you give it; which is useful for gluing your computation results into the IO programs
11:09:58 × theproffesor quits (~theproffe@user/theproffesor) (Ping timeout: 246 seconds)
11:10:06 <[exa]> in short: `<-` allows you to go from `IO something` (on the right) to `something` (on the left), `return` does the reverse, and everything you put into `do` must be an `IO whatever` program
11:10:40 <[exa]> s/put into/run in/ -- probably a better wording
11:11:08 <Mahi> Hmm thank you very much
11:11:11 <[exa]> the code you pasted will probably be rejected by a typechecker
11:11:28 × acidjnk quits (~acidjnk@p200300d6e715c480d175a2749fc75020.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
11:11:50 <[exa]> `print "something" :: IO ()` (program that returns an "empty" value), but `return someEvents :: IO [EventInfo]`
11:12:27 <[exa]> in turn, if you would do `events <- ....`; it wouldn't know if events should be () or [EventInfo]
11:13:30 <[exa]> btw there are various ways to circumvent that, for example you can do `do print "something"; return []` which is a IO program that prints what you want and still returns a type-compatible list
11:13:53 <[exa]> (equivalent notation: print "something" >> return [] )
11:14:02 <[exa]> (without `do` ^)
11:14:22 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
11:15:22 <Mahi> hmm yes yes, I'm starting to get a hang of it :D thank you for the help
11:16:03 <[exa]> it takes some practice but becomes pretty intuitive later
11:16:10 <Mahi> let's hope so
11:17:24 <[exa]> btw many people tend to think that the IO actually "runs" a side effect; that's a practical but slightly misleading view. In fact you're building a description of a huge `main :: IO ()` program that the haskell runtime then later interprets
11:21:47 × Mahi quits (~Mahi@91-159-147-164.elisa-laajakaista.fi) (Quit: Client closed)
11:22:46 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
11:33:14 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
11:36:32 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 248 seconds)
11:41:03 × gawen quits (~gawen@user/gawen) (Quit: cya)
11:47:23 gawen joins (~gawen@user/gawen)
11:51:34 merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl)
12:02:03 CiaoSen joins (~Jura@p200300c9570460002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
12:06:05 × saolsen quits (sid26430@id-26430.lymington.irccloud.com) (Quit: Connection closed for inactivity)
12:11:22 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:15:40 wootehfoot joins (~wootehfoo@user/wootehfoot)
12:15:41 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
12:16:28 × cassaundra quits (~cassaundr@user/cassaundra) (Ping timeout: 246 seconds)
12:16:34 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
12:26:40 × merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
12:34:41 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
12:35:33 azimut joins (~azimut@gateway/tor-sasl/azimut)
12:36:13 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
12:37:02 jpds joins (~jpds@gateway/tor-sasl/jpds)
12:54:12 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
12:56:49 × califax quits (~califax@user/califx) (Remote host closed the connection)
12:57:40 califax joins (~califax@user/califx)
13:03:43 × sagax quits (~sagax_nb@user/sagax) (Quit: Konversation terminated!)
13:10:41 × jrm quits (~jrm@user/jrm) (Remote host closed the connection)
13:11:18 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
13:11:43 jrm joins (~jrm@user/jrm)
13:11:43 × jrm quits (~jrm@user/jrm) (Client Quit)
13:12:32 <bramhaag> I'm trying to parse a String that can only contain alphanumeric characters, -, and _ using megaparsec. The first and last character should not be a - or _, and the string has to be at least 1 character long. I expressed it as the following regular expression: [a-zA-Z0-9]+ ([_-]+ [a-zA-Z0-9]+)*. Directly translating this regex to megaparsec gives me
13:12:32 <bramhaag> a rather ugly parser, an attempt to reduce the amount of many and some calls also did not make it more readable (https://paste.tomsmeding.com/jGFf05nu). Is there an easier way to define this?
13:13:00 jrm joins (~jrm@user/jrm)
13:13:23 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds)
13:16:37 × jrm quits (~jrm@user/jrm) (Client Quit)
13:17:25 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
13:17:56 jrm joins (~jrm@user/jrm)
13:23:35 meinside joins (uid24933@id-24933.helmsley.irccloud.com)
13:25:23 × shinjipf quits (~shinjipf@2a01:4f8:1c1c:c1be::1) (Quit: Shinji leaves)
13:26:08 shinjipf joins (~shinjipf@2a01:4f8:1c1c:c1be::1)
13:28:55 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
13:30:37 <int-e> Something like this maybe: (:) <$> alphaNumChar <*> ((++) <$> many (oneOf "-_" <|> alphaNumChar) <*> (:[]) <$> alphaNumChar <|> pure [])
13:31:05 gmg joins (~user@user/gehmehgeh)
13:31:07 random-jellyfish joins (~random-je@user/random-jellyfish)
13:31:42 <int-e> so [a-zA-Z0-9]([a-zA-Z0-9_-]*[a-zA-Z0-9])?
13:32:04 × tomboy65 quits (~tomboy64@user/tomboy64) (Ping timeout: 246 seconds)
13:33:10 tomboy64 joins (~tomboy64@user/tomboy64)
13:36:56 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
13:37:17 <bramhaag> Hmm, possible but imo not more readable than the others
13:38:16 <int-e> it's just a tad shorter
13:46:49 L29Ah joins (~L29Ah@wikipedia/L29Ah)
13:50:44 × califax quits (~califax@user/califx) (Ping timeout: 255 seconds)
13:51:29 califax joins (~califax@user/califx)
13:59:35 oxide joins (~lambda@user/oxide)
14:19:44 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:21:10 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:21:17 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:bc09:17b4:a9c9:5fe5)
14:21:45 <sayola> what do you think about using exceptions instead of ExceptT in a monad stack, when there is MonadIO on it already?
14:22:08 merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl)
14:25:36 <geekosaur> exceptions are genrally a pain if they happen in pure code even if there is an IO "nearby"; ExceptT is much easier and more reliable
14:25:44 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:bc09:17b4:a9c9:5fe5) (Ping timeout: 255 seconds)
14:26:11 <geekosaur> if you are actually in IO when it happens, you can catch it fine, but even there I tend to prefer ExceptT
14:27:59 × merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
14:28:20 <tomsmeding> unlike in Java, nothing stops you from forgetting to handle an IO exception
14:33:04 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:41:41 <[exa]> probably depends on what you want to do with the exception though
14:42:08 <[exa]> if the action is "apologize in human language and quit immediately", I'd say IO exceptions are perfectly okay
14:48:15 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:49:32 <sayola> i've read that since you already have to deal with exceptions when there is IO, you might as well stick to it. ExceptT would be redundant / only add to complexity.
14:50:45 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:50e2:6d7:efc7:59a5) (Remote host closed the connection)
14:51:04 use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:50e2:6d7:efc7:59a5)
14:52:57 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
14:53:40 <segfaultfizzbuzz> i would like to talk about the concept of a "graded language" and whether or not it is impossible:
14:54:35 <segfaultfizzbuzz> the simplest example of grading (in the sense of gradation) in a language i can think of is "unsafe" in rust, where some part of the code deviates from normally enforced program invariants
14:56:11 <segfaultfizzbuzz> it seems like an "ideal language" would have the most strict collection of program invariants enforced throughout the codebase by default, and then on an as-needed basis different sections of code would selectively exempt themselves from those invariants
14:56:42 <segfaultfizzbuzz> for a variety of reasons,... perhaps the programmer doesn't have time to prove something, perhaps some kind of performance optimization is necessary, and soforth
14:57:03 freeside joins (~mengwong@103.252.202.170)
14:57:57 <hellwolf[m]> what's the concrete problem and its example to illustrate its application, say in Haskell?
14:58:34 <segfaultfizzbuzz> for example it is "more strict" to enforce program totality by default, and then to have specific sections of code which are not total
14:59:26 <segfaultfizzbuzz> alternatively maybe it isn't possible to do this,... but i think even that would be interesting because it would show that you can't "unify" languages,
14:59:36 jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff)
15:00:08 <segfaultfizzbuzz> the overall thrust of what i am thinking is that it is silly how many programming **languages** there are, when really what we want to do is turn on and off program invariants
15:00:55 <segfaultfizzbuzz> hellwolf[m]: did i answer your question...?
15:01:03 <mauke> you think that is what programming languages are about?
15:01:20 <segfaultfizzbuzz> maybe? or you can improve my understanding
15:02:51 <geekosaur> lotsof languages are turing complete and therefore can do the same things. the question is what things they make easy
15:03:23 Rembane waves the BF-flag enthusiastically
15:03:50 <hellwolf[m]> segfaultfizzbuzz: not sure. "the next 700 programming languages" came to my mind though.
15:04:41 acidjnk joins (~acidjnk@p200300d6e715c48085d724d6bf6f6012.dip0.t-ipconnect.de)
15:04:41 <hellwolf[m]> Agda says it's not turing complete, since there is "silly programs" you can't write in it, so to speak loosely.
15:05:49 <segfaultfizzbuzz> turing completeness defeats program invariants?
15:07:22 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
15:07:42 <segfaultfizzbuzz> put another way, what is a programming language *aside from* invariants?
15:08:22 <segfaultfizzbuzz> there are "superficial" characteristics such as syntax and community, and then there are "less superficial" things such as library, but i would argue that these aren't the language itself
15:08:23 <hellwolf[m]> https://math.stackexchange.com/questions/2026006/is-there-a-version-of-turing-completeness-for-total-programming-languages
15:09:02 <segfaultfizzbuzz> i would say don't pay *too* much attention to totality as that was one example of a program invariant
15:09:10 <hellwolf[m]> not sure do you have a clear definition od "invariants" here, wouldn't be able to discuss without one.
15:10:06 <segfaultfizzbuzz> hellwolf[m]: a program invariant would be a guarantee about the program which is enforced either by the compiler or by the runtime, if there is a runtime
15:10:34 <segfaultfizzbuzz> "bounds checking" for example would be a way of enforcing the program invariant that an array access doesn't go out of bounds
15:11:39 <Rembane> Could a horrible crash count as enforcement of an invariant?
15:15:07 <segfaultfizzbuzz> so long as the behavior is guaranteed and known, whatever that might be, then that would count as a program invariant
15:15:29 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
15:15:39 <segfaultfizzbuzz> C as a language can be good (or better) for enforcing timing-related program invariants
15:16:02 <segfaultfizzbuzz> but otherwise does not enforce much at all about the program itself
15:16:47 <segfaultfizzbuzz> a programming language "exists" if one *must* make a choice between a pair of program invariants
15:16:51 <mauke> C without a library is not turing complete, so that's fun
15:18:12 <Quinten[m]> mauke: wait why, because you cannot allocate infinite amounts of memory?
15:18:19 <hellwolf[m]> what's the simplest program to illustrate your point?
15:18:32 <segfaultfizzbuzz> hellwolf[m]: are you talking to me?
15:18:44 <mauke> Quinten[m]: yes
15:19:07 <Quinten[m]> because if it's about memory, C99 VLA's should be able to fix that and I think those are part of the language?
15:19:29 <hellwolf[m]> yes, segfaultfizzbuzz:
15:19:58 <mauke> Quinten[m]: no, array elements must be addressable and your addresses are bounded by sizeof (void *)
15:22:08 <Quinten[m]> okay but ultimately every computer has such limits, C with the standard library enabled also has a limited address space and so does x86_64 assembly and Haskell is affected by that too
15:22:52 <mauke> Haskell isn't built out of pointers
15:23:19 <mauke> C with the standard library has FILE * and fseek. you can build an infinite tape out of that
15:23:23 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
15:24:41 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
15:25:08 <segfaultfizzbuzz> hellwolf[m]: this is probably the simplest example: https://doc.rust-lang.org/rust-by-example/unsafe/asm.html
15:25:13 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Remote host closed the connection)
15:25:55 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
15:25:58 <segfaultfizzbuzz> hellwolf[m]: this is probably the simplest example: https://doc.rust-lang.org/rust-by-example/unsafe/asm.html
15:29:40 <hellwolf[m]> I guess that's what it takes to work with oily machines at times. It seems quite alright under "IO a" type. I guess I am missing what do we want to discuss here.
15:33:22 × meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
15:37:48 × random-jellyfish quits (~random-je@user/random-jellyfish) (Quit: Client closed)
15:37:49 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 252 seconds)
15:38:13 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
15:39:01 ddellacosta joins (~ddellacos@146.70.166.10)
15:39:40 kilolympus joins (~kilolympu@213.144.144.24)
15:46:34 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
15:52:14 razetime joins (~Thunderbi@117.193.3.43)
15:53:13 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
15:53:19 Axma23822 joins (~Axman6@user/axman6)
15:55:31 × Axman6 quits (~Axman6@user/axman6) (Ping timeout: 268 seconds)
15:56:51 × xff0x quits (~xff0x@2405:6580:b080:900:1ef3:42f8:594a:9997) (Ping timeout: 252 seconds)
16:00:04 × wildsebastian quits (~wildsebas@2001:470:69fc:105::1:14b1) (Quit: You have been kicked for being idle)
16:05:52 merijn joins (~merijn@145.90.225.10)
16:06:02 __monty__ joins (~toonn@user/toonn)
16:21:47 mikess joins (~sam@user/mikess)
16:22:53 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:30:49 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
16:34:15 × merijn quits (~merijn@145.90.225.10) (Ping timeout: 252 seconds)
16:51:12 × CiaoSen quits (~Jura@p200300c9570460002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
16:51:38 <segfaultfizzbuzz> is there an intelligible/meaningful language which is more "minimal" in its enforcement of program invariants than lisp?
16:51:45 <segfaultfizzbuzz> haskell is "stronger" because it has a type system
16:52:23 <segfaultfizzbuzz> that is to say, lisp is just an AST and then operations on that AST, and i guess that's the "least" there is to a language?
16:52:37 <tomsmeding> assembly?
16:53:00 <tomsmeding> not a more minimal language, but surely more minimal in its _enforcement_ of anything
16:54:25 wroathe joins (~wroathe@user/wroathe)
16:54:41 <segfaultfizzbuzz> hmm, interesting point, although
16:54:55 × acidjnk quits (~acidjnk@p200300d6e715c48085d724d6bf6f6012.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
16:55:30 <segfaultfizzbuzz> i think (?) lisp can (probably?) be "extended" to include program invariants (eg a type system) whereas with assembly,... i don't think you can do that...?
16:56:05 <tomsmeding> well "can" is a bit strong, but it wouldn't be practical
16:56:35 <segfaultfizzbuzz> wait you mean i can't add types to lisp?
16:57:05 <c_wraith> You can add types to the fragment you write. You can't add types to everything you depend on.
16:57:33 <geekosaur> didn't Knuth have a typed assembly language?
16:57:33 <c_wraith> the best you can do is add types at the edges of your dependencies.
16:57:35 <tomsmeding> segfaultfizzbuzz: no I was talking about assembly
16:57:48 <c_wraith> geekosaur: there's also ATS
16:57:51 <segfaultfizzbuzz> tomsmeding: ah yeah, adding types to assembly would be awfully difficult
16:57:52 <tomsmeding> what are you going to do with memory
16:57:55 × kadobanana quits (~mud@user/kadoban) (Ping timeout: 260 seconds)
16:58:23 <geekosaur> and back in the day there were limited "types" enforced via tag bits in memory
16:58:35 <tomsmeding> that's dynamic though
16:58:55 <tomsmeding> a dynamic type system is also a "type system", but generally when people talk about a "type system" they mean a static one :p
16:59:09 <tomsmeding> "well-typed programs don't go wrong"
16:59:14 kadobanana joins (~mud@user/kadoban)
16:59:27 <geekosaur> yes. and the fact that no such processors exist these days indicates that they don't work very well in practice
16:59:51 <c_wraith> hmm. CHERI kind of is a type system for pointers.
16:59:56 <c_wraith> And some of those processors exist
17:00:25 <c_wraith> I mean, I guess it is tagging.
17:00:34 <c_wraith> But it does exist in the real world, at least
17:00:54 <segfaultfizzbuzz> the runtime or hardware implementation of the program invariants, from my mindset, is kind of an afterthought
17:01:52 <segfaultfizzbuzz> i was meaning that assembly itself is unfriendly to "extended annotations",... there isn't really an "assembly AST" i don't think,... although that is admittedly a superficial presentation of code consideration
17:02:55 <tomsmeding> it's more that in assembly you only have a limited number of "local variables", so any interesting program is going to need to use memory
17:03:18 <segfaultfizzbuzz> ah yeah there is no convenient uh, symbol list? what would it be called
17:03:19 <tomsmeding> C puts a static type system on memory accesses using pointers, but things become difficult when you don't even have enough local variables to store your pointers
17:04:09 <tomsmeding> you can do it though (some statically-known "entry point" pointers, pointing to a struct with some known-type pointers from which your memory space spawns)
17:04:37 <tomsmeding> but that would necessitate a very particular way of writing assembly, basically all existing code would not "type-check" with such a system
17:07:03 <segfaultfizzbuzz> i suppose another question would be the tendency of program invariants or their violation to propagate or not propagate throughout the codebase,...
17:10:03 <segfaultfizzbuzz> so people write science fiction fantasizing about flying cars and space travel and soforth, is there any science fiction written for programming languages?
17:10:24 <segfaultfizzbuzz> that is to say, for "programming language scifi" people would fantasize about how they would like to express programs
17:10:30 × wroathe quits (~wroathe@user/wroathe) (Quit: Lost terminal)
17:10:48 <segfaultfizzbuzz> without concern for the difficulty of making a compiler/runtime meet that fantasy
17:11:27 <c_wraith> segfaultfizzbuzz: Hah. I can think of one example... Tim Sweeney about 10 years ago. Funnily enough, SPJ is now working on actually implementing that language.
17:12:00 wroathe joins (~wroathe@user/wroathe)
17:12:38 <segfaultfizzbuzz> yeah so maybe this is a useful way of thinking. can you link?
17:13:12 <segfaultfizzbuzz> i mean link to the ten year old sweney fantasy
17:13:17 <segfaultfizzbuzz> i saw the spj project
17:14:52 <c_wraith> https://groups.csail.mit.edu/cag/crg/papers/sweeney06games.pdf This is what I remember. Funny that it already looks like an SPJ presentation.
17:15:34 <segfaultfizzbuzz> oh wow unreal3 is only 250k lines?
17:16:10 <segfaultfizzbuzz> i'm surprised i expected 5M+
17:16:52 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
17:17:06 <segfaultfizzbuzz> lol "current GPUs are 16-wide to 48 wide!"
17:18:39 <segfaultfizzbuzz> good quote: "There is not a simple set of 'hotspots' to optimize!"
17:19:40 <sm> segfaultfizzbuzz: how about the original functional programming paper
17:21:03 <segfaultfizzbuzz> another related question is:
17:21:36 <segfaultfizzbuzz> if the most "boring" application domain for programming is HFT, where everything is about optimization and systems considerations, what is the opposite of that domain
17:21:41 × hpc quits (~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 255 seconds)
17:21:50 <segfaultfizzbuzz> that is to say which domain(s) are the most demanding for the abstraction capabilities of the language
17:22:03 × razetime quits (~Thunderbi@117.193.3.43) (Remote host closed the connection)
17:22:20 sm meant https://dl.acm.org/doi/10.1145/359576.359579
17:23:02 <segfaultfizzbuzz> sm: i have glanced at this paper but never read it, will try to read it now after i get through sweeney
17:23:12 <segfaultfizzbuzz> sweeney hasn't said anything earthshattering aside from the hotspots thing
17:23:16 hpc joins (~juzz@ip98-169-35-163.dc.dc.cox.net)
17:24:10 × oxide quits (~lambda@user/oxide) (Ping timeout: 260 seconds)
17:26:01 <segfaultfizzbuzz> sm: what are expressions and what are statements?
17:27:17 <sm> also: some stuff at https://squeak.org/documentation > History maybe
17:27:33 abhixec_ joins (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net)
17:27:47 <segfaultfizzbuzz> sm: bits of history...?
17:27:59 <segfaultfizzbuzz> oh the historical papers ok
17:28:17 <sm> yup, for programming. language sci-fi
17:29:01 <segfaultfizzbuzz> "90% of integer variables in unreal exist to index into arrays"
17:29:50 <segfaultfizzbuzz> 50% of loops in unreal engine are functional folds, but then he says 50% are functional comprehensions--what is a functional comprehension?
17:30:04 <segfaultfizzbuzz> is that a map?
17:30:08 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds)
17:30:12 jarkad joins (~u@188.163.45.157)
17:30:13 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
17:30:40 <geekosaur> it generates values from a template
17:30:42 <sm> (also something for lisp, something for apl/k..)
17:30:59 <segfaultfizzbuzz> geekosaur: a little more detail please?
17:31:28 <geekosaur> look at list comprehensions in haskell or python
17:31:32 Lord_of_Life_ is now known as Lord_of_Life
17:32:00 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
17:32:27 × gurkenglas quits (~gurkengla@dynamic-046-114-183-040.46.114.pool.telefonica.de) (Ping timeout: 248 seconds)
17:32:50 <segfaultfizzbuzz> is a functional container the transformation of a value with a container type into another value with the same container type but a potentially distinct distinct inner types?
17:32:58 <segfaultfizzbuzz> *functional comprehension i mean
17:33:16 jarkad is now known as jarkad__
17:33:31 <geekosaur> given an input generator of some kind (typically a list of simple values like [0..], it generates more complex values. so in Haskell [ f x + x | x <- [0..] ], `f x + x` is the template and `x` the original list. but there might be multiple lists involved, etc.
17:33:35 jarkad__ is now known as jarkad
17:34:39 <geekosaur> https://paste.tomsmeding.com/Sd3Wq4Qy
17:34:45 <segfaultfizzbuzz> sweeny says: "accessing circularly entailed values causes thunk reentry (divergence) rather than just returning the wrong value" -- what is this?
17:37:20 <geekosaur> sounds like a circular list (the last element links back to the start of the list) causes an infinite loop?
17:37:31 <hellwolf[m]> my secret dream would be that one programming language, one intermediate representation, and many machines that interpret it in different ways.
17:37:31 <hellwolf[m]> One of them can do elastic scaling such that it can detect "hot path" and putting more computing resources during its production cycle.
17:37:54 <geekosaur> > repeat [1,2,3] -- this kind of list, but in a lazy language it doesn't necessarily diverge
17:37:55 <lambdabot> [[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,...
17:38:07 <geekosaur> hm, not quite
17:38:07 <segfaultfizzbuzz> hellwolf[m]: agreed, plus you could reveal to the compiler which resources were available at some time and it would shape the program to fit available resources,...
17:38:27 <segfaultfizzbuzz> what is diverge?
17:38:51 <geekosaur> fail to produce a result (infinite loop, exception, whatever)
17:39:31 notzmv joins (~zmv@user/notzmv)
17:39:35 gurkenglas joins (~gurkengla@dynamic-046-114-178-211.46.114.pool.telefonica.de)
17:40:31 <segfaultfizzbuzz> but he says specifically "re-entry"...?
17:41:01 <geekosaur> that's where it loops
17:41:43 <geekosaur> > let l = [1,2,3] ++ l in l
17:41:44 <lambdabot> [1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2...
17:41:54 <segfaultfizzbuzz> i mean, this sentence to me reads as "produces an infinite loop rather than an infinite loop"
17:42:13 <geekosaur> in a lazy language it doesn't necessarily diverge, in a strict language it will always diverge
17:42:38 <segfaultfizzbuzz> because the lazy language doesn't starve other threads?
17:42:45 <segfaultfizzbuzz> and the other thread could generate a termination condition?
17:42:57 <geekosaur> because the lazy language cna proceed if it produces any values before looping
17:43:37 <geekosaur> and an outer computation can therefore "choose" to stop using values based on some outer condition, as lambdabot does whe n it has a sufficient line length for output
17:43:48 <hellwolf[m]> hmm, would any program ever satisfy the property ofsum [1..] == -1/12 per https://en.wikipedia.org/wiki/1_%2B_2_%2B_3_%2B_4_%2B_%E2%8B%AF?
17:44:02 <geekosaur> but with strict evaluation it will try to produce the whole list immediately, and fail because it's infinite
17:44:03 <segfaultfizzbuzz> hellwolf[m]: lol
17:44:40 hellwolf[m] wonder why, in haskell it seems hanging :?
17:44:56 hellwolf[m] * wonder why, in haskell it seems hanging sum [1..] :?
17:45:04 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
17:45:55 <monochrom> Because Haskell is not Wolfram Alpha.
17:46:01 <segfaultfizzbuzz> hellwolf[m]: i think if you can elaborate on what would be desirable behavior here more generally, this would be a great entry in the programming language scifi section of my library :-)
17:46:13 <APic> Sadly
17:46:52 <monochrom> So even [x | x <- [1..], x < 0] is divergence rather than the "intuitive" empty list.
17:46:57 <segfaultfizzbuzz> btw the "cutoff regularization" of the wikipedia entry he linked to is fascinating (and may actually be a step towards a language scifi feature)
17:47:00 × Inst quits (~Inst@2601:6c4:4081:54f0:d621:5cdd:9051:c240) (Read error: Connection reset by peer)
17:47:40 <hellwolf[m]> we should totally implement a CutOffRegulatableList
17:47:41 <hellwolf[m]> * we should totally implement a CutOffRegulatableList
17:52:22 <geekosaur> gotta wonder just how far one could push a fancier simple-reflect
17:52:39 oxide joins (~lambda@user/oxide)
17:55:06 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 255 seconds)
17:59:31 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
17:59:32 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
17:59:43 × emmanuelux_ quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
17:59:45 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds)
18:00:32 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
18:00:41 azimut joins (~azimut@gateway/tor-sasl/azimut)
18:00:52 emmanuelux_ joins (~emmanuelu@user/emmanuelux)
18:02:15 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 252 seconds)
18:03:16 <monochrom> There is probably something about the combination of parametricity, sum being parametrically polymorphic, and the halting problem that requires sum [1..] to diverge. Note that Wolfram Alpha (and Mathematica) is free from parametricity, hell it's probably free from static typing altogether.
18:04:20 <monochrom> This also implies that humanity will not settle for one single language that owns them all.
18:05:03 <darkling> IIRC, the last time someone tried that, the tower fell down. :)
18:05:14 <monochrom> hee hee
18:05:39 slack1256 joins (~slack1256@186.11.53.84)
18:05:44 <darkling> Well, either that, or we ended up with Volapük.
18:07:15 × ddellacosta quits (~ddellacos@146.70.166.10) (Ping timeout: 255 seconds)
18:07:27 sagax joins (~sagax_nb@user/sagax)
18:07:57 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
18:08:01 <segfaultfizzbuzz> tomsmeding: so i would say that assembly doesn't meet the "minimal programming language" criterion because the whole register thing is needlessly complex
18:09:20 ddellacosta joins (~ddellacos@146.70.166.221)
18:10:57 <slack1256> What is the option to print arrow multiplicities on ghci?
18:14:57 _leo___ joins (~emmanuelu@user/emmanuelux)
18:17:04 <geekosaur> I don't see a specific option, beyond LinearTypes. I think we did determine the other day that :t doesn't show multiplicity in at least some cases
18:17:37 <geekosaur> if you find a case where it should show multiplicity with LinearTypes enabled but it doesn't, consider filing a bug
18:17:59 × xacktm quits (~xacktm@user/xacktm) (Ping timeout: 246 seconds)
18:18:01 × emmanuelux_ quits (~emmanuelu@user/emmanuelux) (Ping timeout: 252 seconds)
18:19:06 <slack1256> Gotcha!
18:20:01 × andreas303 quits (andreas303@ip227.orange.bnc4free.com) (Ping timeout: 268 seconds)
18:20:19 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Remote host closed the connection)
18:20:38 econo joins (uid147250@user/econo)
18:20:43 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
18:21:18 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
18:21:18 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
18:21:18 wroathe joins (~wroathe@user/wroathe)
18:21:48 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Remote host closed the connection)
18:22:20 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
18:24:31 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Read error: Connection reset by peer)
18:24:36 myyo_ joins (~myyo@71-211-142-215.hlrn.qwest.net)
18:28:47 × myyo_ quits (~myyo@71-211-142-215.hlrn.qwest.net) (Ping timeout: 248 seconds)
18:29:08 czy joins (~user@host-140-26.ilcub310.champaign.il.us.clients.pavlovmedia.net)
18:30:58 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
18:31:26 mechap joins (~mechap@user/mechap)
18:32:47 × oxide quits (~lambda@user/oxide) (Quit: oxide)
18:33:41 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
18:33:50 × abhixec_ quits (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
18:34:23 abhixec joins (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net)
18:34:42 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 255 seconds)
18:34:42 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 255 seconds)
18:35:31 justsomeguy joins (~justsomeg@user/justsomeguy)
18:36:31 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
18:36:57 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds)
18:39:50 <eldritchcookie[m> how hard is it to make a graphical program in haskell?
18:41:04 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:41:31 × czy quits (~user@host-140-26.ilcub310.champaign.il.us.clients.pavlovmedia.net) (Remote host closed the connection)
18:42:57 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
18:43:30 × dolio quits (~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in)
18:44:29 <segfaultfizzbuzz> eldritchcookie[m: https://hub.darcs.net/linearity/pplmonad
18:45:11 dolio joins (~dolio@130.44.134.54)
18:46:26 p0lyph3m joins (~polyphem@2a02:810d:840:8754:4d31:9178:35f:6608)
18:47:30 <hellwolf[m]> <eldritchcookie[m> "how hard is it to make a..." <- not at all, need only 10 lines, check out
18:47:30 <hellwolf[m]> https://github.com/haskell-game/tiny-games-hs/tree/main/hackage/brickbreaker
18:47:55 × anpad quits (~pandeyan@user/anpad) (Ping timeout: 260 seconds)
18:48:31 <hellwolf[m]> If you mean GUI app, I guess other people can answer for you. I doubt it'd be difficult.
18:54:35 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
18:57:26 kenran joins (~user@user/kenran)
18:58:18 <eldritchcookie[m> cool i want to make a program similar to maptool, but i like the terminal so i would want to have my server controllable by commands
18:58:33 × kenran quits (~user@user/kenran) (Remote host closed the connection)
18:59:01 <eldritchcookie[m> how can i check to see if a server is up?
18:59:46 <c_wraith> typically you just see if you can open the TCP connection. (unless you're not using a TCP-based protocol)
19:02:24 <segfaultfizzbuzz> this is potentially a silly question: some people have writtten uh, quantum programming languages,... please don't throw tomatoes here but was anything learned from that enterprise which can actually be used with normal programming languages...?
19:02:36 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
19:03:31 × mechap quits (~mechap@user/mechap) (Ping timeout: 246 seconds)
19:03:33 <geekosaur> they've discovered some new techniques for simulation of quantum computing. nothing much in the sense of languages, though:P as digital computing is significantly different from analog computing, so also quantum computing
19:05:46 mechap joins (~mechap@user/mechap)
19:06:01 <segfaultfizzbuzz> i was thinking that the pure functional paradigm is best for reversible computations and imperative is best for non-reversible...?
19:06:16 × mechap quits (~mechap@user/mechap) (Max SendQ exceeded)
19:06:44 mechap joins (~mechap@user/mechap)
19:06:54 <geekosaur> someone else would probably have to answer that in detail, but I'd expect them to handle different kinds of "reversible"
19:07:18 × mechap quits (~mechap@user/mechap) (Max SendQ exceeded)
19:07:46 mechap joins (~mechap@user/mechap)
19:08:04 <geekosaur> consider that `const` isn't reversible unless you keep the original value around
19:08:23 mikoto-chan joins (~mikoto-ch@85-76-71-143-nat.elisa-mobile.fi)
19:08:24 × mechap quits (~mechap@user/mechap) (Max SendQ exceeded)
19:08:53 mechap joins (~mechap@user/mechap)
19:09:32 × mechap quits (~mechap@user/mechap) (Max SendQ exceeded)
19:10:00 mechap joins (~mechap@user/mechap)
19:10:23 <segfaultfizzbuzz> that is to say, imperative programs look more like random noise if you could watch RAM
19:10:30 <segfaultfizzbuzz> whereas functional programs, you would notice patterns
19:10:39 × mechap quits (~mechap@user/mechap) (Max SendQ exceeded)
19:13:05 mechap joins (~mechap@user/mechap)
19:14:14 × mechap quits (~mechap@user/mechap) (Max SendQ exceeded)
19:14:43 mechap joins (~mechap@user/mechap)
19:16:05 × mechap quits (~mechap@user/mechap) (Max SendQ exceeded)
19:16:35 mechap joins (~mechap@user/mechap)
19:17:17 × mechap quits (~mechap@user/mechap) (Max SendQ exceeded)
19:19:10 Sgeo joins (~Sgeo@user/sgeo)
19:24:45 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:25:16 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Remote host closed the connection)
19:25:50 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
19:25:51 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 252 seconds)
19:25:51 alphabeta joins (~kilolympu@61-194-35-233.ip.hotelswifi.jp)
19:26:00 × kilolympus quits (~kilolympu@213.144.144.24) (Ping timeout: 268 seconds)
19:26:15 × SenFache quits (~sauvin@user/Sauvin) (Read error: Connection reset by peer)
19:27:20 Sauvin joins (~sauvin@user/Sauvin)
19:27:40 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds)
19:28:26 justsomeguy joins (~justsomeg@user/justsomeguy)
19:30:04 mechap joins (~mechap@user/mechap)
19:30:15 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 252 seconds)
19:30:30 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 255 seconds)
19:30:34 × mechap quits (~mechap@user/mechap) (Max SendQ exceeded)
19:30:45 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Ping timeout: 260 seconds)
19:40:51 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6)
19:43:20 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
19:44:47 × mikoto-chan quits (~mikoto-ch@85-76-71-143-nat.elisa-mobile.fi) (Ping timeout: 255 seconds)
19:45:22 dcoutts_ joins (~duncan@86.167.90.212)
19:45:34 mikoto-chan joins (~mikoto-ch@85-76-71-143-nat.elisa-mobile.fi)
19:45:55 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Read error: Connection reset by peer)
19:46:03 acidjnk joins (~acidjnk@2003:d6:e715:c436:2c63:9e78:5d9e:e9c9)
19:46:06 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
19:46:35 falafel joins (~falafel@2607:fb91:143f:e47f:7fc6:7d11:1de3:df27)
19:48:12 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
19:52:51 wroathe joins (~wroathe@50.205.197.50)
19:52:51 × wroathe quits (~wroathe@50.205.197.50) (Changing host)
19:52:51 wroathe joins (~wroathe@user/wroathe)
19:53:35 × sudden quits (~cat@user/sudden) (Ping timeout: 264 seconds)
19:53:55 × dcoutts_ quits (~duncan@86.167.90.212) (Remote host closed the connection)
19:54:02 sudden joins (~cat@user/sudden)
19:54:17 dcoutts_ joins (~duncan@host86-167-90-212.range86-167.btcentralplus.com)
20:02:23 × mikoto-chan quits (~mikoto-ch@85-76-71-143-nat.elisa-mobile.fi) (Ping timeout: 268 seconds)
20:04:32 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
20:09:21 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:14:36 × slack1256 quits (~slack1256@186.11.53.84) (Ping timeout: 255 seconds)
20:19:27 × falafel quits (~falafel@2607:fb91:143f:e47f:7fc6:7d11:1de3:df27) (Remote host closed the connection)
20:19:47 falafel joins (~falafel@2607:fb91:143f:e47f:f620:28ba:bca9:7a58)
20:24:23 × falafel quits (~falafel@2607:fb91:143f:e47f:f620:28ba:bca9:7a58) (Ping timeout: 255 seconds)
20:25:04 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Remote host closed the connection)
20:25:21 oxide joins (~lambda@user/oxide)
20:25:36 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
20:27:32 × alphabeta quits (~kilolympu@61-194-35-233.ip.hotelswifi.jp) (Ping timeout: 255 seconds)
20:27:40 jjhoo_ is now known as jjhoo
20:29:52 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Ping timeout: 252 seconds)
20:32:11 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
20:33:48 merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl)
20:37:01 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
20:40:00 × abhixec quits (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
20:40:00 × merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
20:41:52 waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
20:42:55 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
20:47:28 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Ping timeout: 252 seconds)
20:55:33 × dcoutts_ quits (~duncan@host86-167-90-212.range86-167.btcentralplus.com) (Ping timeout: 255 seconds)
20:57:49 × npmania quits (~Thunderbi@138.199.21.232) (Remote host closed the connection)
20:58:58 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
21:00:09 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
21:00:16 dcoutts_ joins (~duncan@host86-167-90-212.range86-167.btcentralplus.com)
21:02:24 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 248 seconds)
21:04:40 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Ping timeout: 260 seconds)
21:05:43 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
21:18:52 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
21:22:06 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
21:22:07 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 246 seconds)
21:23:11 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
21:23:12 × waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 248 seconds)
21:23:13 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Ping timeout: 252 seconds)
21:27:35 × andrewboltachev quits (~andrey@178.141.125.176) (Quit: Leaving.)
21:30:06 jmdaemon joins (~jmdaemon@user/jmdaemon)
21:30:32 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
21:35:22 × mauke quits (~mauke@user/mauke) (Read error: Connection reset by peer)
21:35:28 mauke_ joins (~mauke@user/mauke)
21:36:20 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
21:36:20 mauke_ is now known as mauke
21:36:45 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 252 seconds)
21:39:37 × oxide quits (~lambda@user/oxide) (Ping timeout: 246 seconds)
21:39:57 × trev quits (~trev@user/trev) (Remote host closed the connection)
21:40:50 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Ping timeout: 260 seconds)
21:43:35 anpad joins (~pandeyan@user/anpad)
21:48:43 × ubert quits (~Thunderbi@p200300ecdf1301b3ab5830a245f8dddb.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
21:48:55 ubert joins (~Thunderbi@p200300ecdf1301aeed9235aafc85dd9a.dip0.t-ipconnect.de)
21:49:19 waleee joins (~waleee@176.10.137.138)
21:49:22 oxide joins (~lambda@user/oxide)
21:51:47 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
21:54:08 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
21:54:28 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
21:54:28 opticblast joins (~Thunderbi@172.58.85.230)
21:58:53 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Ping timeout: 255 seconds)
21:59:26 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:bc09:17b4:a9c9:5fe5)
22:03:13 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
22:03:46 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:bc09:17b4:a9c9:5fe5) (Ping timeout: 246 seconds)
22:04:20 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
22:06:09 abhixec joins (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net)
22:07:11 × wroathe quits (~wroathe@user/wroathe) (Quit: leaving)
22:09:01 × waleee quits (~waleee@176.10.137.138) (Ping timeout: 252 seconds)
22:10:30 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
22:10:46 xff0x joins (~xff0x@2405:6580:b080:900:2ba9:89b5:e4d8:5d14)
22:11:29 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:15:05 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Ping timeout: 255 seconds)
22:27:19 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
22:29:44 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
22:31:45 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Ping timeout: 255 seconds)
22:31:46 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
22:34:00 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
22:36:25 merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl)
22:43:37 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
22:44:41 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
22:46:17 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
22:46:52 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:49:03 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Ping timeout: 248 seconds)
22:49:24 × merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
22:51:05 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 255 seconds)
22:54:16 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:56:01 pavonia joins (~user@user/siracusa)
23:00:36 <jackdk> "reversible"? only if every function you use has a retraction, I suppose?
23:01:20 × Me-me quits (~me-me@user/me-me) (Quit: Disconnecting on purpose.)
23:01:42 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
23:01:50 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
23:03:25 Me-me joins (~me-me@2602:ff16:3:0:1:dc:beef:d00d)
23:04:41 <EvanR> functional programs can look like random noise just fine
23:06:04 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Ping timeout: 252 seconds)
23:09:50 falafel joins (~falafel@2607:fb91:143f:e47f:7da8:d9be:52c3:2939)
23:17:42 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
23:18:03 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:bc09:17b4:a9c9:5fe5)
23:18:22 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
23:22:01 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Ping timeout: 252 seconds)
23:26:47 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
23:26:47 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
23:26:47 wroathe joins (~wroathe@user/wroathe)
23:33:58 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
23:35:44 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
23:40:08 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Ping timeout: 255 seconds)
23:45:40 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 252 seconds)
23:52:19 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)
23:56:47 × myyo quits (~myyo@71-211-142-215.hlrn.qwest.net) (Ping timeout: 255 seconds)
23:58:07 myyo joins (~myyo@71-211-142-215.hlrn.qwest.net)

All times are in UTC on 2023-02-19.