2021/02/08

2021-02-08 00:00:08 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-02-08 00:00:43 +0100notzmv(~user@unaffiliated/zmv) (Remote host closed the connection)
2021-02-08 00:00:56 +0100hiroaki(~hiroaki@2a02:908:4b18:8c40::b730) (Ping timeout: 240 seconds)
2021-02-08 00:02:56 +0100__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2021-02-08 00:03:08 +0100notzmv(~user@unaffiliated/zmv)
2021-02-08 00:04:19 +0100minoru_shiraeesh(~shiraeesh@109.166.58.206)
2021-02-08 00:04:37 +0100juri_(~juri@178.63.35.222) (Ping timeout: 265 seconds)
2021-02-08 00:04:45 +0100pera(~pera@unaffiliated/pera) (Ping timeout: 264 seconds)
2021-02-08 00:05:31 +0100kish`(~oracle@gateway/tor-sasl/oracle)
2021-02-08 00:05:32 +0100notzmv(~user@unaffiliated/zmv) (Remote host closed the connection)
2021-02-08 00:06:24 +0100notzmv(~user@unaffiliated/zmv)
2021-02-08 00:07:26 +0100mouseghost(~draco@wikipedia/desperek) (Quit: mew wew)
2021-02-08 00:07:55 +0100 <koz_> In many cases you can define Semigroup in several ways, all of which abide by its law.
2021-02-08 00:07:59 +0100hidedagger(~nate@unaffiliated/hidedagger) (Quit: WeeChat 3.0)
2021-02-08 00:08:07 +0100 <koz_> Associative operations in general tend not to be unique for most interesting types.
2021-02-08 00:08:11 +0100 <koz_> (even Bool has like, four)
2021-02-08 00:10:17 +0100notzmv(~user@unaffiliated/zmv) (Remote host closed the connection)
2021-02-08 00:12:41 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-02-08 00:13:36 +0100fendor(~fendor@77.119.128.41.wireless.dyn.drei.com) (Remote host closed the connection)
2021-02-08 00:14:17 +0100elliott_(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Quit: WeeChat 3.0)
2021-02-08 00:14:57 +0100notzmv(~user@unaffiliated/zmv)
2021-02-08 00:15:53 +0100 <edwardk> if you just want associativity there should be a lot more, it's when you want associativity and a unit, no?
2021-02-08 00:17:24 +0100 <koz_> edwardk: OK yeah, it's more than four.
2021-02-08 00:17:25 +0100Natch(~Natch@c-b471e255.014-297-73746f25.bbcust.telenor.se) (Ping timeout: 240 seconds)
2021-02-08 00:17:40 +0100 <ephemient> that would be Monoid?
2021-02-08 00:18:00 +0100 <edwardk> yeah
2021-02-08 00:18:43 +0100 <edwardk> @let op f x y = testBit f (fromEnum x*2 + fromEnum x)
2021-02-08 00:18:45 +0100 <lambdabot> Defined.
2021-02-08 00:18:58 +0100 <edwardk> @let assoc (op -> f) = and [f x (f y z) == f (f x y) z|x<-b,y<-b,z<-b] where b = [False,True]
2021-02-08 00:18:59 +0100 <lambdabot> .L.hs:163:8: error:
2021-02-08 00:18:59 +0100 <lambdabot> Ambiguous occurrence ‘op’
2021-02-08 00:18:59 +0100 <lambdabot> It could refer to
2021-02-08 00:19:17 +0100 <edwardk> @let oper f x y = testBit f (fromEnum x*2 + fromEnum x)
2021-02-08 00:19:18 +0100 <lambdabot> Defined.
2021-02-08 00:19:22 +0100 <edwardk> @let assoc (oper -> f) = and [f x (f y z) == f (f x y) z|x<-b,y<-b,z<-b] where b = [False,True]
2021-02-08 00:19:23 +0100 <lambdabot> Defined.
2021-02-08 00:19:33 +0100 <edwardk> > length $ filter assoc [0..15]
2021-02-08 00:19:35 +0100 <lambdabot> 12
2021-02-08 00:26:41 +0100Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com)
2021-02-08 00:27:16 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-02-08 00:28:29 +0100hexfive(~hexfive@50.35.83.177)
2021-02-08 00:28:45 +0100pavonia(~user@unaffiliated/siracusa)
2021-02-08 00:30:16 +0100conal(~conal@64.71.133.70)
2021-02-08 00:31:33 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 00:32:55 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-02-08 00:33:03 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 00:36:05 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 00:36:51 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-02-08 00:37:12 +0100abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
2021-02-08 00:37:16 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 00:38:10 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-02-08 00:39:57 +0100jamm_(~jamm@unaffiliated/jamm)
2021-02-08 00:40:35 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 258 seconds)
2021-02-08 00:41:49 +0100conal_(~conal@64.71.133.70)
2021-02-08 00:42:01 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 272 seconds)
2021-02-08 00:45:28 +0100ph88(~ph88@2a02:8109:9e00:7e5c:4da6:ad42:6417:64a1) (Remote host closed the connection)
2021-02-08 00:45:47 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-02-08 00:45:56 +0100ph88(~ph88@2a02:8109:9e00:7e5c:4da6:ad42:6417:64a1)
2021-02-08 00:47:33 +0100Natch(~Natch@c-b471e255.014-297-73746f25.bbcust.telenor.se)
2021-02-08 00:55:07 +0100conal_(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-02-08 00:56:57 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 264 seconds)
2021-02-08 00:57:31 +0100johnw(~johnw@haskell/developer/johnw) (Quit: ZNC - http://znc.in)
2021-02-08 00:59:30 +0100 <koz_> Yep, that looks about right.
2021-02-08 00:59:55 +0100 <polyphem> edwardk: what about the y in oper ??
2021-02-08 01:00:06 +0100atk(~Arch-TK@ircpuzzles/staff/Arch-TK) (Quit: Well this is unexpected.)
2021-02-08 01:00:27 +0100atk(~Arch-TK@ircpuzzles/staff/Arch-TK)
2021-02-08 01:00:50 +0100conal(~conal@64.71.133.70)
2021-02-08 01:00:54 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
2021-02-08 01:03:20 +0100notzmv(~user@unaffiliated/zmv) (Remote host closed the connection)
2021-02-08 01:03:57 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 256 seconds)
2021-02-08 01:04:43 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 01:06:00 +0100bennofs__(~quassel@dslb-094-222-059-121.094.222.pools.vodafone-ip.de)
2021-02-08 01:08:56 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
2021-02-08 01:09:43 +0100bennofs_(~quassel@dslb-094-222-055-031.094.222.pools.vodafone-ip.de) (Ping timeout: 258 seconds)
2021-02-08 01:10:08 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-02-08 01:10:14 +0100LKoen(~LKoen@252.248.88.92.rev.sfr.net)
2021-02-08 01:10:25 +0100ph88(~ph88@2a02:8109:9e00:7e5c:4da6:ad42:6417:64a1) (Ping timeout: 272 seconds)
2021-02-08 01:10:32 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-08 01:13:18 +0100locrian9(~mike@cpe-104-173-20-162.socal.res.rr.com)
2021-02-08 01:14:20 +0100jamm_(~jamm@unaffiliated/jamm)
2021-02-08 01:15:05 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2021-02-08 01:15:26 +0100Nik05(~Nik05@85.150.134.175) (Quit: leaving)
2021-02-08 01:16:09 +0100DataComputist(~lumeng@50.43.26.251) (Ping timeout: 264 seconds)
2021-02-08 01:17:02 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 01:17:06 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-02-08 01:17:08 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
2021-02-08 01:17:32 +0100 <edwardk> that'd be a bug =)
2021-02-08 01:17:42 +0100orion(~orion@c-76-19-238-5.hsd1.nh.comcast.net)
2021-02-08 01:17:42 +0100orion(~orion@c-76-19-238-5.hsd1.nh.comcast.net) (Changing host)
2021-02-08 01:17:42 +0100orion(~orion@unaffiliated/orion)
2021-02-08 01:17:49 +0100 <edwardk> @let oper f x y = testBit f (fromEnum x*2 + fromEnum y)
2021-02-08 01:17:50 +0100 <lambdabot> .L.hs:168:1: error: [-Woverlapping-patterns, -Werror=overlapping-patterns]
2021-02-08 01:17:50 +0100 <lambdabot> Pattern match is redundant
2021-02-08 01:17:50 +0100 <lambdabot> In an equation for ‘oper’: oper f x y = ...
2021-02-08 01:17:51 +0100livvy(~livvy@88.97.23.37) ()
2021-02-08 01:18:01 +0100 <edwardk> @let oper' f x y = testBit f (fromEnum x*2 + fromEnum y)
2021-02-08 01:18:03 +0100 <lambdabot> Defined.
2021-02-08 01:18:17 +0100 <edwardk> @let assoc (oper' -> f) = and [f x (f y z) == f (f x y) z|x<-b,y<-b,z<-b] where b = [False,True]
2021-02-08 01:18:18 +0100 <lambdabot> .L.hs:166:1: error: [-Woverlapping-patterns, -Werror=overlapping-patterns]
2021-02-08 01:18:18 +0100 <lambdabot> Pattern match is redundant
2021-02-08 01:18:18 +0100 <lambdabot> In an equation for ‘assoc’: assoc (oper' -> f) = ...
2021-02-08 01:18:24 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 01:18:26 +0100 <edwardk> @let assoc' (oper' -> f) = and [f x (f y z) == f (f x y) z|x<-b,y<-b,z<-b] where b = [False,True]
2021-02-08 01:18:28 +0100 <lambdabot> Defined.
2021-02-08 01:18:35 +0100 <edwardk> -- can't remember the reset command!
2021-02-08 01:18:44 +0100 <edwardk> > length $ filter assoc [0..15]
2021-02-08 01:18:46 +0100 <lambdabot> 12
2021-02-08 01:19:03 +0100 <edwardk> > length $ filter assoc' [0..15]
2021-02-08 01:19:05 +0100 <lambdabot> 8
2021-02-08 01:19:08 +0100 <edwardk> better
2021-02-08 01:20:29 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:77eb:54a6:d7a8:cb0d:82a0)
2021-02-08 01:20:49 +0100 <ephemient> @undefine
2021-02-08 01:20:49 +0100 <lambdabot> Undefined.
2021-02-08 01:20:52 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-08 01:20:57 +0100DavidEichmann(~david@234.109.45.217.dyn.plus.net) (Ping timeout: 264 seconds)
2021-02-08 01:20:59 +0100 <polyphem> edwardk: thanx for pointing me to view patterns :)
2021-02-08 01:22:37 +0100shailangsa(~shailangs@host86-186-177-234.range86-186.btcentralplus.com) ()
2021-02-08 01:23:07 +0100Tario(~Tario@201.192.165.173)
2021-02-08 01:23:13 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds)
2021-02-08 01:26:55 +0100usr25(~usr25@unaffiliated/usr25) (Quit: Leaving)
2021-02-08 01:27:04 +0100Tops2(~Tobias@dyndsl-095-033-027-032.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2021-02-08 01:28:25 +0100dolio(~dolio@haskell/developer/dolio) (Ping timeout: 240 seconds)
2021-02-08 01:28:41 +0100DataComputist(~lumeng@50.43.26.251)
2021-02-08 01:30:06 +0100anselmschueler(2e7223f6@dynamic-046-114-035-246.46.114.pool.telefonica.de)
2021-02-08 01:30:16 +0100 <anselmschueler> Hi
2021-02-08 01:30:23 +0100 <Axman6> Hello!
2021-02-08 01:30:25 +0100 <ski> lo
2021-02-08 01:30:30 +0100 <anselmschueler> I've just installed `ghcup`, and ran into a bit of a problem
2021-02-08 01:30:54 +0100 <anselmschueler> The installation script told me
2021-02-08 01:30:55 +0100 <anselmschueler> "Detected fish shell on your system...
2021-02-08 01:30:55 +0100 <anselmschueler> If you want ghcup to automatically add the required PATH variable to "/home/anselmschueler/.config/fish/config.fish"
2021-02-08 01:30:56 +0100 <anselmschueler> answer with YES, otherwise with NO and press ENTER."
2021-02-08 01:31:28 +0100 <anselmschueler> but after saying "YES", it erred with "grep: /home/anselmschueler/.config/fish/config.fish: No such file or directory"
2021-02-08 01:31:38 +0100 <Axman6> I guess you don't have that file
2021-02-08 01:31:40 +0100 <anselmschueler> Now, I can't access ghcup, ghc or cabal
2021-02-08 01:31:46 +0100 <anselmschueler> Yes
2021-02-08 01:31:59 +0100 <anselmschueler> The question is: How can I re-add that line to the file after creating it?
2021-02-08 01:32:08 +0100 <anselmschueler> I don't know what line it would've put there
2021-02-08 01:32:56 +0100 <anselmschueler> Where are the ghcup and ghc binaries stored?
2021-02-08 01:33:13 +0100 <anselmschueler> Does somebody maybe have the line that would've been added?
2021-02-08 01:33:27 +0100 <anselmschueler> Should I re-run the script, or is there some patch tool?
2021-02-08 01:34:07 +0100dolio(~dolio@haskell/developer/dolio)
2021-02-08 01:34:11 +0100 <Axman6> https://gitlab.haskell.org/haskell/ghcup-hs/-/blob/master/bootstrap-haskell#L272
2021-02-08 01:34:35 +0100 <Axman6> looks like ~/.cabal/bin is the path you need to add to your PATH
2021-02-08 01:34:43 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 01:35:31 +0100 <anselmschueler> ~/.cabal/bin doesn't exist.
2021-02-08 01:36:21 +0100 <Axman6> perhaps rerunning the script would be a good idea, if you've added that file
2021-02-08 01:36:31 +0100 <anselmschueler> Oh
2021-02-08 01:36:36 +0100 <anselmschueler> The issue has resolved itself
2021-02-08 01:36:42 +0100 <Axman6> :magic:
2021-02-08 01:36:48 +0100 <anselmschueler> it seems that the script *did* create the file, but didn't tell me about it
2021-02-08 01:37:27 +0100 <anselmschueler> and, while `cabal` was available immediately, due to being in /usr/local/bin, I needed a shell restart to see ghc and ghcup
2021-02-08 01:38:13 +0100 <anselmschueler> While that's great, I think the script should tell the user that, even though an error has occurred, the issue has been resolved and there is no need to worry.
2021-02-08 01:38:14 +0100 <Axman6> I hmm, I'm not sure if that would be the cabal that ghcup installed
2021-02-08 01:38:28 +0100 <anselmschueler> There was no cabal installed previously.
2021-02-08 01:38:37 +0100 <Axman6> hmm, ok maybe I'm wrong
2021-02-08 01:38:56 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 240 seconds)
2021-02-08 01:39:13 +0100 <anselmschueler> oh
2021-02-08 01:39:14 +0100 <anselmschueler> no
2021-02-08 01:39:17 +0100 <anselmschueler> sorry
2021-02-08 01:39:27 +0100 <anselmschueler> it was installed
2021-02-08 01:39:35 +0100 <anselmschueler> but I had installed it without a package manager
2021-02-08 01:39:39 +0100 <anselmschueler> it was just sitting in /opt
2021-02-08 01:40:41 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2021-02-08 01:40:43 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-02-08 01:40:58 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-02-08 01:41:10 +0100conal(~conal@64.71.133.70)
2021-02-08 01:41:17 +0100 <anselmschueler> OK
2021-02-08 01:41:19 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:9155:4678:5b7a:8bcd)
2021-02-08 01:41:26 +0100 <anselmschueler> A new problem has arisen
2021-02-08 01:41:29 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2021-02-08 01:41:47 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-02-08 01:41:56 +0100 <anselmschueler> After running `ghci`, I get the warning
2021-02-08 01:41:56 +0100 <anselmschueler> ```
2021-02-08 01:41:57 +0100 <anselmschueler> <no location info>: warning: [-Wmissed-extra-shared-lib]
2021-02-08 01:41:57 +0100 <anselmschueler>     libgmp.so: cannot open shared object file: No such file or directory
2021-02-08 01:41:58 +0100 <anselmschueler>     It's OK if you don't want to use symbols from it directly.
2021-02-08 01:41:58 +0100 <anselmschueler>     (the package DLL is loaded by the system linker
2021-02-08 01:41:59 +0100 <anselmschueler>      which manages dependencies by itself).
2021-02-08 01:41:59 +0100 <anselmschueler> ```
2021-02-08 01:42:16 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2021-02-08 01:42:34 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-02-08 01:42:47 +0100conal_(~conal@64.71.133.70)
2021-02-08 01:43:03 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2021-02-08 01:43:07 +0100 <anselmschueler> This is despite the fact that I have `libgmp10` installed
2021-02-08 01:43:15 +0100forgottenone(~forgotten@176.42.26.20) (Quit: Konversation terminated!)
2021-02-08 01:43:18 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-02-08 01:43:29 +0100 <anselmschueler> Is this something I should worry about? How can I get GHCi to recognize GMP?
2021-02-08 01:43:51 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2021-02-08 01:44:33 +0100Wuzzy(~Wuzzy@p57a2f980.dip0.t-ipconnect.de)
2021-02-08 01:44:39 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-08 01:45:25 +0100conal(~conal@64.71.133.70) (Ping timeout: 240 seconds)
2021-02-08 01:45:40 +0100 <Axman6> um, possible by installed libgmp-dev? it's been a long time since I've needed to fix this stuff on linux
2021-02-08 01:46:30 +0100ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-02-08 01:46:43 +0100 <anselmschueler> OK, I'm trying that now
2021-02-08 01:47:07 +0100 <anselmschueler> The warning has disappeared
2021-02-08 01:47:18 +0100 <anselmschueler> I'll try compiling something that uses `Integer`
2021-02-08 01:48:00 +0100ukari(~ukari@unaffiliated/ukari)
2021-02-08 01:49:21 +0100 <anselmschueler> Thank you!
2021-02-08 01:49:25 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2021-02-08 01:49:26 +0100 <anselmschueler> It's working now
2021-02-08 01:49:34 +0100 <Axman6> great, good luck!
2021-02-08 01:52:20 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 272 seconds)
2021-02-08 01:54:13 +0100xintron(~xintron@unaffiliated/xintron) (Ping timeout: 272 seconds)
2021-02-08 01:55:00 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-02-08 01:57:54 +0100ph88(~ph88@2a02:8109:9e00:7e5c:4da6:ad42:6417:64a1)
2021-02-08 01:58:11 +0100anselmschueler(2e7223f6@dynamic-046-114-035-246.46.114.pool.telefonica.de) (Quit: Connection closed)
2021-02-08 01:59:25 +0100hexo(~hexo@gateway/tor-sasl/hexo) (Ping timeout: 268 seconds)
2021-02-08 01:59:25 +0100srk(~sorki@gateway/tor-sasl/sorki) (Ping timeout: 268 seconds)
2021-02-08 01:59:38 +0100shailangsa(~shailangs@host86-186-177-234.range86-186.btcentralplus.com)
2021-02-08 02:00:02 +0100srk(~sorki@gateway/tor-sasl/sorki)
2021-02-08 02:00:04 +0100hexo(~hexo@gateway/tor-sasl/hexo)
2021-02-08 02:00:25 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:9155:4678:5b7a:8bcd) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 02:01:35 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:77eb:54a6:d7a8:cb0d:82a0) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 02:01:59 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-02-08 02:05:56 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:9155:4678:5b7a:8bcd)
2021-02-08 02:06:08 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 02:06:31 +0100dolio(~dolio@haskell/developer/dolio) (Quit: ZNC 1.8.2 - https://znc.in)
2021-02-08 02:06:51 +0100dolio(~dolio@haskell/developer/dolio)
2021-02-08 02:06:54 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-02-08 02:07:09 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 02:08:16 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 02:09:44 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-02-08 02:10:03 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 02:11:00 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-02-08 02:11:13 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 02:11:18 +0100Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt)
2021-02-08 02:12:07 +0100whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-02-08 02:13:15 +0100whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-02-08 02:13:35 +0100Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2021-02-08 02:14:50 +0100hexo(~hexo@gateway/tor-sasl/hexo) (Ping timeout: 268 seconds)
2021-02-08 02:14:50 +0100srk(~sorki@gateway/tor-sasl/sorki) (Ping timeout: 268 seconds)
2021-02-08 02:15:25 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
2021-02-08 02:15:38 +0100srk(~sorki@gateway/tor-sasl/sorki)
2021-02-08 02:15:40 +0100hexo(~hexo@gateway/tor-sasl/hexo)
2021-02-08 02:20:54 +0100locrian9(~mike@cpe-104-173-20-162.socal.res.rr.com) (Quit: leaving)
2021-02-08 02:24:45 +0100rajivr(uid269651@gateway/web/irccloud.com/x-iejdtrakxigwexma)
2021-02-08 02:27:04 +0100renzhi(~renzhi@2607:fa49:6500:6f00::1e43) (Read error: Connection reset by peer)
2021-02-08 02:31:06 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-08 02:31:32 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:9155:4678:5b7a:8bcd) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 02:32:46 +0100 <hololeap> wat? the "extensible records" here are basically clunky typeclasses: https://elm-lang.org/docs/records#record-types
2021-02-08 02:35:45 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2021-02-08 02:35:50 +0100LKoen(~LKoen@252.248.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2021-02-08 02:37:51 +0100ezrakilty(~ezrakilty@75-172-120-225.tukw.qwest.net) (Remote host closed the connection)
2021-02-08 02:38:01 +0100kupi(uid212005@gateway/web/irccloud.com/x-cjjlareohuvypkwe)
2021-02-08 02:38:01 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:9155:4678:5b7a:8bcd)
2021-02-08 02:38:53 +0100 <koala_man> what format is 'cabal new-sdist -o -'? I expected a tar.gz file but instead I get some binary stuff that 'file', gzip, and tar can't identify
2021-02-08 02:39:21 +0100da39a3ee5e6b4b0d(~da39a3ee5@49.228.238.55)
2021-02-08 02:39:30 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 2.9)
2021-02-08 02:41:32 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de) (Remote host closed the connection)
2021-02-08 02:43:05 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
2021-02-08 02:44:21 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 264 seconds)
2021-02-08 02:45:18 +0100jedws(~jedws@101.184.202.248)
2021-02-08 02:45:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-08 02:46:33 +0100Raito_Bezarius(~Raito@unaffiliated/raito-bezarius/x-8764578)
2021-02-08 02:47:16 +0100xintron(~xintron@unaffiliated/xintron)
2021-02-08 02:47:47 +0100inkbottle(~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr)
2021-02-08 02:48:18 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2021-02-08 02:50:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-02-08 02:51:33 +0100zebrag(~inkbottle@aaubervilliers-654-1-80-120.w86-212.abo.wanadoo.fr) (Ping timeout: 264 seconds)
2021-02-08 02:54:47 +0100rj_(~x@gateway/tor-sasl/rj)
2021-02-08 02:55:51 +0100RusAlex(~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer)
2021-02-08 02:57:48 +0100RusAlex(~Chel@unaffiliated/rusalex)
2021-02-08 02:59:18 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 02:59:34 +0100jedws(~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 02:59:43 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 03:03:25 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 240 seconds)
2021-02-08 03:03:36 +0100minoru_shiraeesh(~shiraeesh@109.166.58.206) (Ping timeout: 240 seconds)
2021-02-08 03:04:07 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 260 seconds)
2021-02-08 03:04:19 +0100bennofs__(~quassel@dslb-094-222-059-121.094.222.pools.vodafone-ip.de) (Quit: No Ping reply in 180 seconds.)
2021-02-08 03:05:31 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 03:05:48 +0100bennofs_(~quassel@dslb-094-222-059-121.094.222.pools.vodafone-ip.de)
2021-02-08 03:07:04 +0100jchia(~jchia@218.80.72.201) (Ping timeout: 272 seconds)
2021-02-08 03:07:15 +0100 <monochrom> gzipped tar.
2021-02-08 03:07:32 +0100 <monochrom> "cabal new-sdist -o - | file -" works for me: /dev/stdin: gzip compressed data, from Unix
2021-02-08 03:07:54 +0100 <monochrom> "cabal new-sdist -o - | tar -C .. -xvzf -" is also successful for me
2021-02-08 03:09:07 +0100jchia(~jchia@218.80.76.119)
2021-02-08 03:09:59 +0100locrian9(~mike@99-153-255-194.lightspeed.irvnca.sbcglobal.net)
2021-02-08 03:10:42 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 265 seconds)
2021-02-08 03:11:54 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-02-08 03:12:28 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 03:14:05 +0100rj_(~x@gateway/tor-sasl/rj) (Quit: rj_)
2021-02-08 03:14:13 +0100__minoru__shirae(~shiraeesh@109.166.58.206)
2021-02-08 03:14:32 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
2021-02-08 03:14:46 +0100 <koala_man> monochrom: weird. This is what I'm getting: https://gist.github.com/koalaman/173d517751cbc3c6ec1566520c2cb92f
2021-02-08 03:15:10 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 03:17:38 +0100jamm_(~jamm@unaffiliated/jamm)
2021-02-08 03:19:34 +0100 <monochrom> The 2nd byte c2 looks suspicious. My files are like "1f 8b 08 00 00 00 00 00 00 03"
2021-02-08 03:19:44 +0100m0rphism1(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 272 seconds)
2021-02-08 03:19:50 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 264 seconds)
2021-02-08 03:20:03 +0100toorevitimirp(~tooreviti@117.182.180.8)
2021-02-08 03:21:36 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-02-08 03:22:14 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
2021-02-08 03:24:04 +0100 <koala_man> I tried "LC_ALL=C cabal new-sdist -o -" and it fails with "<stdout>: commitBuffer: invalid argument (invalid character)" -___-
2021-02-08 03:25:42 +0100xff0x_(~xff0x@2001:1a81:527b:1600:1b0d:c1af:bbb3:e575) (Ping timeout: 260 seconds)
2021-02-08 03:26:48 +0100rj_(~x@gateway/tor-sasl/rj)
2021-02-08 03:26:56 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
2021-02-08 03:27:40 +0100xff0x_(~xff0x@2001:1a81:52b3:3900:bff8:36a7:8e11:bbed)
2021-02-08 03:30:46 +0100Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis) (Ping timeout: 256 seconds)
2021-02-08 03:33:25 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 03:33:39 +0100rj_(~x@gateway/tor-sasl/rj) (Quit: rj_)
2021-02-08 03:33:52 +0100rj_(~x@gateway/tor-sasl/rj)
2021-02-08 03:35:47 +0100jedws(~jedws@101.184.202.248)
2021-02-08 03:38:06 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 272 seconds)
2021-02-08 03:41:54 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de)
2021-02-08 03:42:24 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 246 seconds)
2021-02-08 03:43:22 +0100dolio(~dolio@haskell/developer/dolio) (Quit: ZNC 1.8.2 - https://znc.in)
2021-02-08 03:43:34 +0100jedws(~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 03:45:52 +0100dolio(~dolio@haskell/developer/dolio)
2021-02-08 03:46:11 +0100dolio(~dolio@haskell/developer/dolio) (Remote host closed the connection)
2021-02-08 03:46:42 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de) (Ping timeout: 260 seconds)
2021-02-08 03:47:19 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 03:47:19 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-02-08 03:47:36 +0100Tario(~Tario@201.192.165.173)
2021-02-08 03:49:15 +0100natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-02-08 03:50:25 +0100rj_(~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds)
2021-02-08 03:51:56 +0100dyeplexer(~lol@unaffiliated/terpin)
2021-02-08 03:52:24 +0100urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2021-02-08 03:52:38 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 03:52:50 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 264 seconds)
2021-02-08 03:54:07 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds)
2021-02-08 03:55:40 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2021-02-08 03:56:01 +0100dolio(~dolio@haskell/developer/dolio)
2021-02-08 03:57:03 +0100abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-02-08 03:58:07 +0100puke(~vroom@217.138.252.197)
2021-02-08 03:58:39 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:9155:4678:5b7a:8bcd) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 03:58:45 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 04:02:03 +0100ph88(~ph88@2a02:8109:9e00:7e5c:4da6:ad42:6417:64a1) (Ping timeout: 272 seconds)
2021-02-08 04:03:10 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:9155:4678:5b7a:8bcd)
2021-02-08 04:03:35 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds)
2021-02-08 04:06:34 +0100p7lpa1ugixavugu(~atomic@2800:810:514:8155:4551:15dc:2e3:137f)
2021-02-08 04:06:49 +0100p7lpa1ugixavugu(~atomic@2800:810:514:8155:4551:15dc:2e3:137f) ()
2021-02-08 04:08:21 +0100theDon(~td@muedsl-82-207-238-114.citykom.de) (Ping timeout: 264 seconds)
2021-02-08 04:10:02 +0100hirc(3dded63f@61-222-214-63.HINET-IP.hinet.net)
2021-02-08 04:10:04 +0100theDon(~td@muedsl-82-207-238-056.citykom.de)
2021-02-08 04:10:46 +0100 <swarmcollective> I must be missing something obvious, but how do I coerse: MonadX m1 => MonadY m2 => m1 a -> m2 a ?
2021-02-08 04:11:50 +0100 <shachaf> That depends on what MonadX and MonadY are.
2021-02-08 04:12:36 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 240 seconds)
2021-02-08 04:12:48 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 04:13:32 +0100inkbottle(~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-02-08 04:17:05 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
2021-02-08 04:18:58 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 04:21:00 +0100jedws(~jedws@101.184.202.248)
2021-02-08 04:22:25 +0100__minoru__shirae(~shiraeesh@109.166.58.206) (Ping timeout: 240 seconds)
2021-02-08 04:22:49 +0100slack1256(~slack1256@45.4.2.52)
2021-02-08 04:23:00 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
2021-02-08 04:23:12 +0100 <koz_> I wanna write foo :: (Bounded a, Enum a) => Vector a. Is there a way to do this _without_ going through Vector.fromList?
2021-02-08 04:23:44 +0100 <Axman6> I thought there was a Vector.enumFromTo
2021-02-08 04:24:09 +0100plutoniix(~q@ppp-223-24-158-98.revip6.asianet.co.th)
2021-02-08 04:24:21 +0100 <Axman6> it's a logical thing to exist in the stream fusion part of things. the more efficient implementation which knows the size ahead of time is possible more difficult
2021-02-08 04:24:33 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2021-02-08 04:24:53 +0100 <koz_> enumFromTo does indeed exist.
2021-02-08 04:24:55 +0100 <koz_> Thanks.
2021-02-08 04:25:07 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
2021-02-08 04:25:29 +0100 <Axman6> I guess you could use enumFromN would be better if the Enum instance lets you determine an appropriate size
2021-02-08 04:25:45 +0100 <koz_> Mine are autoderived.
2021-02-08 04:25:51 +0100 <koz_> (or rather, the ones I care about are)
2021-02-08 04:26:08 +0100Saukk(~Saukk@83-148-239-3.dynamic.lounea.fi)
2021-02-08 04:26:56 +0100 <Axman6> universe = let lo = minBount; hi = maxBound in enumFromN lo (fromEnum @a hi - fromEnum lo)
2021-02-08 04:27:03 +0100 <Axman6> s/t/d
2021-02-08 04:27:05 +0100 <koz_> So would that mean I could do like, fromEnum, add one, and that's my size?
2021-02-08 04:27:22 +0100 <Axman6> um, possibly
2021-02-08 04:27:36 +0100 <Axman6> not sure what guarantees there about Enum, Bounded etc
2021-02-08 04:27:45 +0100DataComputist(~lumeng@50.43.26.251) (Ping timeout: 240 seconds)
2021-02-08 04:27:50 +0100vicfred(~vicfred@unaffiliated/vicfred)
2021-02-08 04:27:54 +0100 <koz_> _Guarantees_ is a pretty strong word vis a vis Enum lol.
2021-02-08 04:28:02 +0100 <koz_> 'Expected behaviour' is probably closer to how it be.
2021-02-08 04:28:22 +0100 <Axman6> @let universe : forall a. (Enum a, Bounded a) => V.Vector a; universe = let lo = minBound; hi = maxBound in enumFromN lo (fromEnum @a hi - fromEnum lo)
2021-02-08 04:28:22 +0100 <lambdabot> Parse failed: TemplateHaskell language extension is not enabled. Please add ...
2021-02-08 04:28:45 +0100 <Axman6> % let universe :: forall a. (Enum a, Bounded a) => V.Vector a; universe = let lo = minBound; hi = maxBound in enumFromN lo (fromEnum @a hi - fromEnum lo)
2021-02-08 04:28:46 +0100 <yahb> Axman6: ; <interactive>:115:50: error:; Not in scope: type constructor or class `V.Vector'; No module named `V' is imported.
2021-02-08 04:28:52 +0100 <Axman6> @let universe :: forall a. (Enum a, Bounded a) => V.Vector a; universe = let lo = minBound; hi = maxBound in enumFromN lo (fromEnum @a hi - fromEnum lo)
2021-02-08 04:28:52 +0100 <lambdabot> Parse failed: Parse error in expression: fromEnum@a
2021-02-08 04:28:59 +0100 <Axman6> :'(
2021-02-08 04:29:29 +0100 <Axman6> universe @Int is going to be fun...
2021-02-08 04:30:23 +0100 <shachaf> Presumably it'll be some sort of error due to lack of address space.
2021-02-08 04:31:38 +0100jedws(~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 04:31:59 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-08 04:32:20 +0100frankdmartinez(~frankdmar@138.199.52.84)
2021-02-08 04:32:32 +0100 <swarmcollective> shachaf Expected type: Web.Scotty.Internal.Types.ActionT T.Text IO [String] ... Actual type: Dashboard [String]
2021-02-08 04:32:58 +0100 <Axman6> what is Dashboard?
2021-02-08 04:33:27 +0100 <swarmcollective> Dashboard is defined as ModuleT DashboardState LB
2021-02-08 04:34:02 +0100 <Clint> that seems different
2021-02-08 04:34:26 +0100 <Axman6> yeah, depending on what ModuleT is, that does not look like ActionT to me
2021-02-08 04:34:52 +0100DataComputist(~lumeng@50.43.26.251)
2021-02-08 04:34:59 +0100FinnElija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-02-08 04:34:59 +0100finn_elijaGuest42863
2021-02-08 04:34:59 +0100FinnElijafinn_elija
2021-02-08 04:35:30 +0100 <Axman6> it feels like you might be trying to do something which doesn't make sense
2021-02-08 04:36:36 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2021-02-08 04:37:08 +0100 <swarmcollective> I'm extracting a list of string from the module state of ModuleT a LB and then attempting to return that using the `json` response of a `scotty` request.
2021-02-08 04:37:59 +0100 <swarmcollective> ActionT is from scotty.
2021-02-08 04:38:16 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-02-08 04:38:23 +0100 <Axman6> looks to me like you need a natural transformation
2021-02-08 04:38:35 +0100 <Axman6> how do yuo execite a ModuleT?
2021-02-08 04:38:43 +0100 <Axman6> uh, you execute*
2021-02-08 04:39:08 +0100Guest42863(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-02-08 04:42:12 +0100natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Quit: WeeChat 2.9)
2021-02-08 04:42:28 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 04:46:45 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 240 seconds)
2021-02-08 04:46:48 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-08 04:49:38 +0100sevenk(~sevenk@64.85.149.202)
2021-02-08 04:49:40 +0100 <sevenk> hey
2021-02-08 04:49:46 +0100 <sevenk> whats up everyone
2021-02-08 04:49:53 +0100 <shapr> what's up with you?
2021-02-08 04:50:07 +0100 <sevenk> eh
2021-02-08 04:50:09 +0100 <sevenk> not much
2021-02-08 04:50:22 +0100 <shapr> sevenk: you writing any code?
2021-02-08 04:50:37 +0100the_1_[m](the1matrix@gateway/shell/matrix.org/x-ajxczgizukhumbgd)
2021-02-08 04:50:59 +0100 <sevenk> hm not really. Ive just started haskell. Been reading Programming in haskell
2021-02-08 04:51:07 +0100 <sevenk> just finished the chapter 3 questions
2021-02-08 04:51:33 +0100 <shapr> oh I liked the 1st edition of that book, haven't read the 2nd edition
2021-02-08 04:51:45 +0100 <sevenk> yep im on second edition
2021-02-08 04:51:48 +0100 <shapr> sevenk: What do you think? fun so far?
2021-02-08 04:53:05 +0100 <sevenk> yes i really like it
2021-02-08 04:53:43 +0100 <sevenk> i struggle alot though. i was looking for some practice but the 99 questions wiki is starting to get tough
2021-02-08 04:53:47 +0100 <sevenk> and same with codewars
2021-02-08 04:54:04 +0100 <sevenk> so i might just go back to the book lol
2021-02-08 04:54:42 +0100 <shapr> yeah, I need to dig out my copy as well.
2021-02-08 04:56:09 +0100 <shapr> If I were more awake I'd try to dig some questions out of you
2021-02-08 04:57:30 +0100 <sevenk> im still very much a beginner
2021-02-08 04:57:39 +0100 <sevenk> like....massive beginner lol
2021-02-08 04:58:40 +0100 <shapr> keep on learning, build fun things
2021-02-08 04:58:44 +0100 <Axman6> what was getting tricky in the 99 problems?
2021-02-08 04:59:08 +0100jedws(~jedws@101.184.202.248)
2021-02-08 05:00:00 +0100Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (Quit: I seem to have stopped.)
2021-02-08 05:01:05 +0100raym(~ray@45.64.220.139) (Quit: leaving)
2021-02-08 05:01:20 +0100raym(~ray@45.64.220.139)
2021-02-08 05:03:23 +0100conal_(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-02-08 05:03:37 +0100kini(~kini@unaffiliated/kini) (Quit: bye)
2021-02-08 05:05:24 +0100jedws(~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 05:06:45 +0100sevenk(~sevenk@64.85.149.202) (Ping timeout: 272 seconds)
2021-02-08 05:07:00 +0100 <swarmcollective> Axman6, runModuleT = runReaderT . unModuleT
2021-02-08 05:07:25 +0100dnlkrgr(~dnlkrgr@HSI-KBW-046-005-005-235.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 240 seconds)
2021-02-08 05:07:46 +0100kam1(~kam1@5.126.18.81) (Read error: Connection reset by peer)
2021-02-08 05:08:11 +0100jedws(~jedws@101.184.202.248)
2021-02-08 05:08:55 +0100sevenk(~sevenk@64.85.149.202)
2021-02-08 05:08:58 +0100 <sevenk> sorry
2021-02-08 05:09:01 +0100 <sevenk> i lagged out
2021-02-08 05:09:01 +0100ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer)
2021-02-08 05:11:01 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2021-02-08 05:12:32 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Client Quit)
2021-02-08 05:12:54 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 05:13:44 +0100jedws(~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 05:14:05 +0100pako8128(~pako@dynamic-077-011-087-191.77.11.pool.telefonica.de) (Ping timeout: 240 seconds)
2021-02-08 05:15:33 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 05:17:15 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
2021-02-08 05:20:42 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 272 seconds)
2021-02-08 05:21:20 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-02-08 05:21:27 +0100da39a3ee5e6b4b0d(~da39a3ee5@49.228.238.55) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 05:23:40 +0100sevenk(~sevenk@64.85.149.202) (Quit: Lost terminal)
2021-02-08 05:25:44 +0100kam1(~kam1@5.126.18.81)
2021-02-08 05:26:16 +0100kam1(~kam1@5.126.18.81) (Read error: Connection reset by peer)
2021-02-08 05:26:23 +0100slack1256(~slack1256@45.4.2.52) (Ping timeout: 272 seconds)
2021-02-08 05:30:18 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:8dc5:2885:a349:760f:ef8c)
2021-02-08 05:30:39 +0100 <bitmapper> i wonder how hard it would be to get GHC working on irix again
2021-02-08 05:34:59 +0100jedws(~jedws@101.184.202.248)
2021-02-08 05:37:28 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer)
2021-02-08 05:41:37 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2021-02-08 05:41:54 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 05:42:45 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-02-08 05:42:52 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Client Quit)
2021-02-08 05:44:11 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com)
2021-02-08 05:46:18 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
2021-02-08 05:46:49 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-02-08 05:47:59 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-02-08 05:48:12 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Client Quit)
2021-02-08 05:49:22 +0100_xor(~xor@74.215.46.133) (Quit: WeeChat 3.0.1)
2021-02-08 05:49:28 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 05:49:48 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 05:50:53 +0100djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 265 seconds)
2021-02-08 05:50:59 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2021-02-08 05:51:09 +0100Saukk(~Saukk@83-148-239-3.dynamic.lounea.fi) (Remote host closed the connection)
2021-02-08 05:51:13 +0100jb55(~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
2021-02-08 05:51:38 +0100jb55(~jb55@gateway/tor-sasl/jb55)
2021-02-08 05:54:04 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 265 seconds)
2021-02-08 05:54:38 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 264 seconds)
2021-02-08 05:54:50 +0100 <perdent> https://gist.github.com/adambpa/faea41332ee9afc08ddbf6da131c75a3 can anyone convert my solution to haskell? Curious to see how it would look in Haskell/functional language and what the speed difference would be?
2021-02-08 05:59:47 +0100_xor(~xor@74.215.46.133)
2021-02-08 06:02:56 +0100abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
2021-02-08 06:03:44 +0100bitmagie(~Thunderbi@200116b806ee5f001dee7ecce0e53bfb.dip.versatel-1u1.de)
2021-02-08 06:06:50 +0100natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-02-08 06:08:11 +0100ArConan(17613c8b@23.97.60.139)
2021-02-08 06:08:59 +0100bitmagie(~Thunderbi@200116b806ee5f001dee7ecce0e53bfb.dip.versatel-1u1.de) (Quit: bitmagie)
2021-02-08 06:11:59 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 272 seconds)
2021-02-08 06:12:32 +0100acidjnk_new(~acidjnk@p200300d0c722c41468be75153f6b13af.dip0.t-ipconnect.de)
2021-02-08 06:12:52 +0100ChanServ+o shachaf
2021-02-08 06:13:00 +0100shachaf+b *!*perdent@101.175.174.*
2021-02-08 06:13:01 +0100perdentshachafperdent
2021-02-08 06:13:04 +0100shachaf-o shachaf
2021-02-08 06:13:43 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de)
2021-02-08 06:14:36 +0100frankdmartinez(~frankdmar@138.199.52.84) (Quit: frankdmartinez)
2021-02-08 06:15:25 +0100 <dsal> heh
2021-02-08 06:16:38 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2021-02-08 06:17:25 +0100frozenErebus(~frozenEre@94.128.81.133)
2021-02-08 06:17:25 +0100frozenErebus(~frozenEre@94.128.81.133) (Client Quit)
2021-02-08 06:18:43 +0100abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-02-08 06:18:45 +0100frozenErebus(~frozenEre@94.128.81.133)
2021-02-08 06:23:44 +0100ixaxaar(~ixaxaar@49.207.210.215)
2021-02-08 06:24:12 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 06:25:18 +0100guest7682358928(2de85cb9@gateway/web/cgi-irc/kiwiirc.com/ip.45.232.92.185) (Ping timeout: 256 seconds)
2021-02-08 06:26:42 +0100Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-02-08 06:27:33 +0100frozenErebus(~frozenEre@94.128.81.133) (Quit: leaving)
2021-02-08 06:27:48 +0100frozenErebus(~frozenEre@94.128.81.133)
2021-02-08 06:28:53 +0100frozenErebus(~frozenEre@94.128.81.133) (Client Quit)
2021-02-08 06:29:09 +0100frozenErebus(~frozenEre@94.128.81.133)
2021-02-08 06:30:53 +0100jedws(~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 06:30:58 +0100pavonia(~user@unaffiliated/siracusa) (Read error: Connection reset by peer)
2021-02-08 06:30:58 +0100nineonine(~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313)
2021-02-08 06:31:29 +0100DataComputist(~lumeng@50.43.26.251) (Ping timeout: 256 seconds)
2021-02-08 06:32:50 +0100nineonine(~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Remote host closed the connection)
2021-02-08 06:32:52 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-08 06:33:26 +0100DataComputist(~lumeng@50.43.26.251)
2021-02-08 06:33:55 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 06:33:57 +0100jedws(~jedws@101.184.202.248)
2021-02-08 06:34:44 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-02-08 06:36:03 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 06:37:43 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2021-02-08 06:38:47 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 260 seconds)
2021-02-08 06:40:05 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
2021-02-08 06:40:23 +0100Guest75154(~chris@52.124.4.69)
2021-02-08 06:40:24 +0100frozenErebus(~frozenEre@94.128.81.133) (Quit: leaving)
2021-02-08 06:40:40 +0100Wojciech_K(~wojciechk@2001:41d0:a:5be4::449) (Ping timeout: 265 seconds)
2021-02-08 06:40:43 +0100frozenErebus(~frozenEre@94.128.81.133)
2021-02-08 06:40:47 +0100pavonia(~user@unaffiliated/siracusa)
2021-02-08 06:41:08 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:8dc5:2885:a349:760f:ef8c) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 06:41:15 +0100frozenErebus(~frozenEre@94.128.81.133) (Client Quit)
2021-02-08 06:41:22 +0100Guest75154(~chris@52.124.4.69) ()
2021-02-08 06:41:59 +0100plutoniix(~q@ppp-223-24-158-98.revip6.asianet.co.th) (Read error: Connection reset by peer)
2021-02-08 06:42:18 +0100frozenErebus(~frozenEre@94.128.81.133)
2021-02-08 06:43:21 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 246 seconds)
2021-02-08 06:44:24 +0100Wuzzy(~Wuzzy@p57a2f980.dip0.t-ipconnect.de) (Quit: Wuzzy)
2021-02-08 06:45:55 +0100 <Axman6> shachaf: I'm confused what that ban was for
2021-02-08 06:46:35 +0100ArConan(17613c8b@23.97.60.139) (Quit: Ping timeout (120 seconds))
2021-02-08 06:47:26 +0100kini(~kini@unaffiliated/kini)
2021-02-08 06:47:33 +0100hirc(3dded63f@61-222-214-63.HINET-IP.hinet.net) (Quit: Ping timeout (120 seconds))
2021-02-08 06:49:58 +0100 <shachaf> The context isn't just this message but all the other channels they've been spamming these messages to.
2021-02-08 06:50:21 +0100 <Axman6> ah right. seemed quite innocuous with only this channel's context
2021-02-08 06:50:57 +0100DataComputist(~lumeng@50.43.26.251) (Ping timeout: 264 seconds)
2021-02-08 06:52:11 +0100elsif(elsifmatri@gateway/shell/matrix.org/x-qnggmdnbsdcesqoq) ("User left")
2021-02-08 06:52:14 +0100rdivyanshu(uid322626@gateway/web/irccloud.com/x-phuzsiswoxeenvpn)
2021-02-08 06:52:40 +0100banshee9(~hobgoblin@user-24-214-47-129.knology.net)
2021-02-08 06:53:21 +0100DataComputist(~lumeng@50.43.26.251)
2021-02-08 06:53:23 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 06:53:48 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2021-02-08 06:55:17 +0100plutoniix(~q@184.82.205.58)
2021-02-08 06:57:36 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
2021-02-08 06:59:34 +0100bitmagie(~Thunderbi@200116b806ee5f001dee7ecce0e53bfb.dip.versatel-1u1.de)
2021-02-08 07:00:30 +0100frozenErebus(~frozenEre@94.128.81.133) (Quit: leaving)
2021-02-08 07:00:47 +0100frozenErebus(~frozenEre@94.128.81.133)
2021-02-08 07:02:08 +0100hololeap(~hololeap@unaffiliated/hololeap) (Quit: KVIrc 5.0.1 Aria http://www.kvirc.net/)
2021-02-08 07:06:04 +0100notzmv(~user@unaffiliated/zmv)
2021-02-08 07:06:27 +0100frozenErebus(~frozenEre@94.128.81.133) (Quit: leaving)
2021-02-08 07:06:31 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 07:06:50 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 07:07:32 +0100frozenErebus(~frozenEre@94.128.81.133)
2021-02-08 07:07:40 +0100frozenErebus(~frozenEre@94.128.81.133) (Client Quit)
2021-02-08 07:07:56 +0100kmein(~weechat@static.173.83.99.88.clients.your-server.de)
2021-02-08 07:08:27 +0100frozenErebus(~frozenEre@94.128.81.133)
2021-02-08 07:10:08 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-08 07:11:18 +0100bitmagie(~Thunderbi@200116b806ee5f001dee7ecce0e53bfb.dip.versatel-1u1.de) (Quit: bitmagie)
2021-02-08 07:11:21 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
2021-02-08 07:12:38 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 264 seconds)
2021-02-08 07:14:25 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-02-08 07:16:14 +0100DataComputist(~lumeng@50.43.26.251) (Ping timeout: 265 seconds)
2021-02-08 07:16:35 +0100Maxdamantus(~Maxdamant@unaffiliated/maxdamantus) (Quit: Lost terminal)
2021-02-08 07:16:57 +0100Maxdamantus(~Maxdamant@unaffiliated/maxdamantus)
2021-02-08 07:17:24 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 265 seconds)
2021-02-08 07:17:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-08 07:20:41 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2021-02-08 07:20:53 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2021-02-08 07:23:58 +0100vchlup(~vchlup@nat.brnet.cz)
2021-02-08 07:27:12 +0100xff0x_(~xff0x@2001:1a81:52b3:3900:bff8:36a7:8e11:bbed) (Ping timeout: 260 seconds)
2021-02-08 07:27:52 +0100xff0x_(~xff0x@2001:1a81:52b3:3900:f42f:f8f2:bd5e:83d5)
2021-02-08 07:28:09 +0100frozenErebus(~frozenEre@94.128.81.133) (Ping timeout: 264 seconds)
2021-02-08 07:28:33 +0100frozenErebus(~frozenEre@94.128.81.133)
2021-02-08 07:30:28 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 07:32:17 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de) (Ping timeout: 258 seconds)
2021-02-08 07:34:45 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 240 seconds)
2021-02-08 07:35:01 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 07:37:18 +0100kupi(uid212005@gateway/web/irccloud.com/x-cjjlareohuvypkwe) (Quit: Connection closed for inactivity)
2021-02-08 07:39:13 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-02-08 07:39:32 +0100gioyik(~gioyik@gateway/tor-sasl/gioyik) (Quit: WeeChat 3.0)
2021-02-08 07:39:48 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Client Quit)
2021-02-08 07:40:01 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 272 seconds)
2021-02-08 07:45:27 +0100hirc(3dded63f@61-222-214-63.HINET-IP.hinet.net)
2021-02-08 07:46:28 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-02-08 07:47:10 +0100forgottenone(~forgotten@176.42.26.20)
2021-02-08 07:47:45 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Client Quit)
2021-02-08 07:49:10 +0100iphy(sid67735@gateway/web/irccloud.com/x-ukllxqjkslryyzrh) (Ping timeout: 256 seconds)
2021-02-08 07:49:21 +0100iphy(sid67735@gateway/web/irccloud.com/x-rrleaqocyhslkcch)
2021-02-08 07:51:28 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2021-02-08 07:51:36 +0100frozenErebus(~frozenEre@94.128.81.133) (Ping timeout: 240 seconds)
2021-02-08 07:52:20 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:9155:4678:5b7a:8bcd) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 07:52:45 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-02-08 07:54:38 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-02-08 08:01:01 +0100kini(~kini@unaffiliated/kini) (Remote host closed the connection)
2021-02-08 08:02:18 +0100kini(~kini@unaffiliated/kini)
2021-02-08 08:02:49 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 08:05:39 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Quit: Goodbye)
2021-02-08 08:07:00 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 246 seconds)
2021-02-08 08:07:35 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-02-08 08:13:18 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483)
2021-02-08 08:13:38 +0100Lowl3v3l(~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de)
2021-02-08 08:14:56 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-02-08 08:15:10 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-02-08 08:15:34 +0100bitmagie(~Thunderbi@200116b806ee5f001dee7ecce0e53bfb.dip.versatel-1u1.de)
2021-02-08 08:15:47 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-twlcpvtoavnxrgmc)
2021-02-08 08:18:13 +0100 <siraben> GHC 9.0.1 released! O frabjous day! Callooh! Callay!
2021-02-08 08:20:44 +0100jathan(~jathan@69.61.93.38) (Quit: WeeChat 2.3)
2021-02-08 08:21:23 +0100bitmagie(~Thunderbi@200116b806ee5f001dee7ecce0e53bfb.dip.versatel-1u1.de) (Quit: bitmagie)
2021-02-08 08:21:29 +0100nicecoats(~nicecoats@h235.145.88.75.dynamic.ip.windstream.net)
2021-02-08 08:21:37 +0100_noblegas(uid91066@gateway/web/irccloud.com/x-tmekwsvcalixeeio)
2021-02-08 08:24:22 +0100t123(cb81164c@203-129-22-76.cb8116.syd.static.aussiebb.net)
2021-02-08 08:25:46 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-02-08 08:30:03 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 08:30:43 +0100DataComputist(~lumeng@50.43.26.251)
2021-02-08 08:31:04 +0100j2t(~j2t@84.122.202.215.dyn.user.ono.com)
2021-02-08 08:32:18 +0100pako(~pako@dynamic-077-011-087-191.77.11.pool.telefonica.de)
2021-02-08 08:33:46 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-08 08:36:48 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 08:38:13 +0100xff0x_xff0x
2021-02-08 08:38:36 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2021-02-08 08:39:10 +0100RusAlex_(~Chel@APN-123-252-145-gprs.simobil.net)
2021-02-08 08:41:28 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 272 seconds)
2021-02-08 08:41:47 +0100RusAlex(~Chel@unaffiliated/rusalex) (Ping timeout: 265 seconds)
2021-02-08 08:42:24 +0100__minoru__shirae(~shiraeesh@77.94.25.221)
2021-02-08 08:44:28 +0100DataComputist(~lumeng@50.43.26.251) (Remote host closed the connection)
2021-02-08 08:46:22 +0100juri_(~juri@178.63.35.222)
2021-02-08 08:50:40 +0100t123(cb81164c@203-129-22-76.cb8116.syd.static.aussiebb.net) (Quit: Connection closed)
2021-02-08 08:56:24 +0100frozenErebus(~frozenEre@94.128.81.133)
2021-02-08 08:56:26 +0100shad0w_(~shad0w_@160.202.36.203)
2021-02-08 08:56:37 +0100Varis(~Tadas@unaffiliated/varis)
2021-02-08 08:56:56 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds)
2021-02-08 08:57:19 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2021-02-08 08:57:36 +0100kritzefitz(~kritzefit@fw-front.credativ.com)
2021-02-08 08:58:24 +0100shad0w_(~shad0w_@160.202.36.203) (Read error: Connection reset by peer)
2021-02-08 08:59:11 +0100__minoru__shirae(~shiraeesh@77.94.25.221) (Ping timeout: 265 seconds)
2021-02-08 09:01:50 +0100klardotsh(~klardotsh@c-71-231-242-112.hsd1.wa.comcast.net) (Quit: WeeChat 3.0)
2021-02-08 09:03:26 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
2021-02-08 09:03:33 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:8dc5:2885:a349:760f:ef8c)
2021-02-08 09:05:00 +0100klardotsh(~klardotsh@c-71-231-242-112.hsd1.wa.comcast.net)
2021-02-08 09:05:37 +0100frozenErebus(~frozenEre@94.128.81.133) (Ping timeout: 256 seconds)
2021-02-08 09:06:23 +0100geyaeb_(~geyaeb@gateway/tor-sasl/geyaeb) (Remote host closed the connection)
2021-02-08 09:06:46 +0100geyaeb(~geyaeb@gateway/tor-sasl/geyaeb)
2021-02-08 09:07:02 +0100nicecoats(~nicecoats@h235.145.88.75.dynamic.ip.windstream.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 09:09:56 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 09:10:58 +0100arsdragonfly(uid130196@gateway/web/irccloud.com/x-ursrycaeosrqcgjt)
2021-02-08 09:11:39 +0100DataComputist(~lumeng@50.43.26.251)
2021-02-08 09:14:11 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2021-02-08 09:14:39 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 265 seconds)
2021-02-08 09:16:21 +0100ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-02-08 09:16:47 +0100ukari(~ukari@unaffiliated/ukari)
2021-02-08 09:19:27 +0100catt(~r@31.124.181.226)
2021-02-08 09:28:03 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 09:29:29 +0100frozenErebus(~frozenEre@94.128.81.133)
2021-02-08 09:29:41 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-08 09:32:41 +0100Yumasi(~guillaume@2a01:e0a:5cb:4430:5f77:5a2f:ae12:96d7)
2021-02-08 09:32:49 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 256 seconds)
2021-02-08 09:37:15 +0100rdivyanshu(uid322626@gateway/web/irccloud.com/x-phuzsiswoxeenvpn) (Quit: Connection closed for inactivity)
2021-02-08 09:37:57 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483) (Remote host closed the connection)
2021-02-08 09:38:29 +0100Jd007(~Jd007@162.156.11.151) (Quit: Jd007)
2021-02-08 09:42:38 +0100xff0x(~xff0x@2001:1a81:52b3:3900:f42f:f8f2:bd5e:83d5) (Ping timeout: 264 seconds)
2021-02-08 09:43:04 +0100xff0x(~xff0x@2001:1a81:52b3:3900:56f7:7dca:ce44:95dc)
2021-02-08 09:43:45 +0100frozenErebus(~frozenEre@94.128.81.133) (Ping timeout: 240 seconds)
2021-02-08 09:48:04 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-08 09:49:14 +0100__minoru__shirae(~shiraeesh@77.94.25.221)
2021-02-08 09:53:33 +0100Major_Biscuit(~Major_Bis@82.169.100.198)
2021-02-08 09:53:36 +0100knupfer(~Thunderbi@dynamic-046-114-145-228.46.114.pool.telefonica.de)
2021-02-08 09:54:02 +0100frozenErebus(~frozenEre@94.128.81.133)
2021-02-08 09:54:48 +0100__minoru__shirae(~shiraeesh@77.94.25.221) (Ping timeout: 246 seconds)
2021-02-08 09:54:48 +0100ph88(~ph88@2a02:8109:9e00:7e5c:4da6:ad42:6417:64a1)
2021-02-08 09:57:37 +0100mirrorbird(~psutcliff@2a00:801:2d5:848b:590:cf4f:5eeb:b49d)
2021-02-08 09:58:53 +0100pera(~pera@unaffiliated/pera)
2021-02-08 10:01:36 +0100mouseghost(~draco@wikipedia/desperek)
2021-02-08 10:02:20 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 10:02:47 +0100thc202(~thc202@unaffiliated/thc202)
2021-02-08 10:04:55 +0100fionnan(~fionnan@109.255.20.201) (Ping timeout: 265 seconds)
2021-02-08 10:06:03 +0100chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de)
2021-02-08 10:07:09 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 264 seconds)
2021-02-08 10:07:32 +0100jungnam(~jungnam@s91904426.blix.com) (Remote host closed the connection)
2021-02-08 10:14:16 +0100 <typetetris> Hi! How can I measure GC pause times at runtime (for metrics in production)? Maybe on of the metrics in ekg is already the GC pause time? (Which one would it be?)
2021-02-08 10:16:31 +0100 <opqdonut> https://hackage.haskell.org/package/ekg-core-0.1.1.4/docs/System-Metrics.html#v:registerGcMetrics
2021-02-08 10:16:54 +0100 <opqdonut> rts.gc.gc_wall_ms might be the one you want
2021-02-08 10:17:17 +0100__minoru__shirae(~shiraeesh@77.94.25.221)
2021-02-08 10:18:57 +0100 <typetetris> opqdonut: Thank you very much!
2021-02-08 10:20:32 +0100hirc(3dded63f@61-222-214-63.HINET-IP.hinet.net) (Quit: Connection closed)
2021-02-08 10:21:45 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-02-08 10:22:25 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 10:26:01 +0100danza(~francesco@151.53.74.130)
2021-02-08 10:27:06 +0100kuribas(~user@ptr-25vy0i9i7x61k8qe1vt.18120a2.ip6.access.telenet.be)
2021-02-08 10:30:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-08 10:31:06 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it)
2021-02-08 10:32:32 +0100Taneb(~Taneb@runciman.hacksoc.org)
2021-02-08 10:32:49 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-kqbirvayummddixr) (Quit: Connection closed for inactivity)
2021-02-08 10:34:41 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-08 10:35:33 +0100Taneb(~Taneb@runciman.hacksoc.org) (Client Quit)
2021-02-08 10:36:14 +0100Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
2021-02-08 10:38:22 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483)
2021-02-08 10:38:48 +0100raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-02-08 10:39:06 +0100knupfer(~Thunderbi@dynamic-046-114-145-228.46.114.pool.telefonica.de) (Quit: knupfer)
2021-02-08 10:39:28 +0100knupfer(~Thunderbi@dynamic-046-114-145-228.46.114.pool.telefonica.de)
2021-02-08 10:40:39 +0100__minoru__shirae(~shiraeesh@77.94.25.221) (Ping timeout: 246 seconds)
2021-02-08 10:42:58 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-02-08 10:43:14 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483) (Ping timeout: 264 seconds)
2021-02-08 10:43:30 +0100fendor(~fendor@77.119.128.41.wireless.dyn.drei.com)
2021-02-08 10:44:47 +0100tromp_(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 10:45:56 +0100tromp_(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-02-08 10:49:44 +0100catt(~r@31.124.181.226) (Remote host closed the connection)
2021-02-08 10:50:10 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
2021-02-08 10:59:03 +0100pera(~pera@unaffiliated/pera) (Ping timeout: 265 seconds)
2021-02-08 11:01:30 +0100cheater1(~user@unaffiliated/cheater)
2021-02-08 11:03:16 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 11:04:36 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 272 seconds)
2021-02-08 11:04:45 +0100cheater1cheater
2021-02-08 11:05:09 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
2021-02-08 11:05:46 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 11:07:11 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 11:08:01 +0100 <Franciman> hi, does anybody use aws-lambda-haskell-runtime ?
2021-02-08 11:09:33 +0100Maxdamantus(~Maxdamant@unaffiliated/maxdamantus) (Ping timeout: 264 seconds)
2021-02-08 11:10:39 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-02-08 11:10:49 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 272 seconds)
2021-02-08 11:11:19 +0100Maxdamantus(~Maxdamant@unaffiliated/maxdamantus)
2021-02-08 11:11:45 +0100pera(~pera@unaffiliated/pera)
2021-02-08 11:11:45 +0100pera(~pera@unaffiliated/pera) (Client Quit)
2021-02-08 11:11:59 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 256 seconds)
2021-02-08 11:12:08 +0100m0rphism1(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2021-02-08 11:17:45 +0100raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2021-02-08 11:17:53 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 11:18:51 +0100raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-02-08 11:22:58 +0100knupfer(~Thunderbi@dynamic-046-114-145-228.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
2021-02-08 11:23:01 +0100 <gentauro> Franciman: Nike?
2021-02-08 11:23:42 +0100 <Franciman> gentauro, what?
2021-02-08 11:23:56 +0100 <Franciman> ah Nike, the shoe makers
2021-02-08 11:24:14 +0100 <gentauro> Franciman: Nike Inc. Yeah, those
2021-02-08 11:24:27 +0100 <gentauro> I think they are the ones that made the project iirc
2021-02-08 11:24:30 +0100 <Franciman> No, I wanted to ask something related to aws-lambda-haskell-runtime. I noticed that I can create a context that is shared by different hot calls to the lambda
2021-02-08 11:24:46 +0100 <gentauro> ahhh
2021-02-08 11:24:51 +0100 <gentauro> fair enough
2021-02-08 11:25:01 +0100 <Franciman> in that context I'd like to save a db connection, so that it can be reused. But, then I don't understand when I have to close the connection
2021-02-08 11:25:05 +0100 <Franciman> or more specifically, where
2021-02-08 11:25:11 +0100 <Franciman> nice, btw, thanks for the info
2021-02-08 11:27:16 +0100DavidEichmann(~david@234.109.45.217.dyn.plus.net)
2021-02-08 11:27:17 +0100Feuermagier(~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6)
2021-02-08 11:27:34 +0100frozenErebus(~frozenEre@94.128.81.133) (Ping timeout: 265 seconds)
2021-02-08 11:28:34 +0100kish`(~oracle@gateway/tor-sasl/oracle) (Remote host closed the connection)
2021-02-08 11:28:56 +0100kish`(~oracle@gateway/tor-sasl/oracle)
2021-02-08 11:29:02 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2021-02-08 11:29:08 +0100LKoen(~LKoen@252.248.88.92.rev.sfr.net)
2021-02-08 11:29:15 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 11:29:18 +0100vukv(~Thunderbi@79-101-172-139.dynamic.isp.telekom.rs)
2021-02-08 11:29:49 +0100vukv(~Thunderbi@79-101-172-139.dynamic.isp.telekom.rs) (Quit: vukv)
2021-02-08 11:30:04 +0100_noblegas(uid91066@gateway/web/irccloud.com/x-tmekwsvcalixeeio) (Quit: Connection closed for inactivity)
2021-02-08 11:30:50 +0100pera(~pera@unaffiliated/pera)
2021-02-08 11:31:24 +0100Lord_of_Life_(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-02-08 11:33:44 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 272 seconds)
2021-02-08 11:33:44 +0100Lord_of_Life_Lord_of_Life
2021-02-08 11:35:08 +0100vukv(~Thunderbi@79-101-172-139.dynamic.isp.telekom.rs)
2021-02-08 11:37:44 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-02-08 11:39:30 +0100iqubic(~user@2601:602:9500:4870:e02c:e5a3:8078:49fc)
2021-02-08 11:39:47 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483)
2021-02-08 11:41:48 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 11:43:08 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
2021-02-08 11:43:58 +0100banshee9(~hobgoblin@user-24-214-47-129.knology.net) (Quit: Leaving)
2021-02-08 11:44:10 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 11:44:26 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483) (Ping timeout: 264 seconds)
2021-02-08 11:48:38 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 264 seconds)
2021-02-08 11:49:27 +0100acidjnk_new(~acidjnk@p200300d0c722c41468be75153f6b13af.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-02-08 11:49:28 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-02-08 11:49:54 +0100acidjnk_new(~acidjnk@p200300d0c722c41468be75153f6b13af.dip0.t-ipconnect.de)
2021-02-08 11:50:44 +0100bitmagie(~Thunderbi@200116b806ee5f001dee7ecce0e53bfb.dip.versatel-1u1.de)
2021-02-08 11:50:45 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 11:53:04 +0100bitmagie(~Thunderbi@200116b806ee5f001dee7ecce0e53bfb.dip.versatel-1u1.de) (Client Quit)
2021-02-08 11:55:24 +0100frozenErebus(~frozenEre@94.128.81.133)
2021-02-08 11:57:43 +0100fendor_(~fendor@77.119.130.235.wireless.dyn.drei.com)
2021-02-08 11:58:42 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-02-08 11:59:17 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred)
2021-02-08 11:59:56 +0100fendor(~fendor@77.119.128.41.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2021-02-08 12:00:03 +0100edge563(~edge563@gateway/tor-sasl/edge563)
2021-02-08 12:00:25 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-08 12:01:45 +0100jchia(~jchia@218.80.76.119) (Ping timeout: 240 seconds)
2021-02-08 12:03:24 +0100jchia(~jchia@218.80.75.223)
2021-02-08 12:05:26 +0100vukv(~Thunderbi@79-101-172-139.dynamic.isp.telekom.rs) ()
2021-02-08 12:06:55 +0100vukv(~Thunderbi@79-101-172-139.dynamic.isp.telekom.rs)
2021-02-08 12:07:01 +0100vukv(~Thunderbi@79-101-172-139.dynamic.isp.telekom.rs) ()
2021-02-08 12:08:42 +0100kini(~kini@unaffiliated/kini) (Remote host closed the connection)
2021-02-08 12:09:34 +0100hexo(~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection)
2021-02-08 12:09:34 +0100srk(~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection)
2021-02-08 12:09:34 +0100jb55(~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
2021-02-08 12:10:01 +0100kini(~kini@unaffiliated/kini)
2021-02-08 12:10:01 +0100jb55(~jb55@gateway/tor-sasl/jb55)
2021-02-08 12:10:05 +0100hexo(~hexo@gateway/tor-sasl/hexo)
2021-02-08 12:10:07 +0100srk(~sorki@gateway/tor-sasl/sorki)
2021-02-08 12:10:40 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
2021-02-08 12:21:09 +0100todda7(~torstein@2a02:587:1b14:d00:5ec3:abec:812c:b3e2) (Read error: Connection reset by peer)
2021-02-08 12:21:21 +0100todda7(~torstein@athedsl-258913.home.otenet.gr)
2021-02-08 12:21:23 +0100nineonine(~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313)
2021-02-08 12:27:02 +0100nineonine(~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Ping timeout: 260 seconds)
2021-02-08 12:29:49 +0100arsdragonfly(uid130196@gateway/web/irccloud.com/x-ursrycaeosrqcgjt) (Quit: Connection closed for inactivity)
2021-02-08 12:30:33 +0100RusAlex_(~Chel@APN-123-252-145-gprs.simobil.net) (Ping timeout: 246 seconds)
2021-02-08 12:32:11 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-08 12:33:01 +0100todda7(~torstein@athedsl-258913.home.otenet.gr) (Ping timeout: 256 seconds)
2021-02-08 12:36:21 +0100zebrag(~inkbottle@aaubervilliers-654-1-112-148.w86-198.abo.wanadoo.fr)
2021-02-08 12:36:26 +0100jb55(~jb55@gateway/tor-sasl/jb55) (Ping timeout: 268 seconds)
2021-02-08 12:37:12 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-02-08 12:37:22 +0100mirrorbird(~psutcliff@2a00:801:2d5:848b:590:cf4f:5eeb:b49d) (Ping timeout: 265 seconds)
2021-02-08 12:38:00 +0100jb55(~jb55@gateway/tor-sasl/jb55)
2021-02-08 12:40:30 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483)
2021-02-08 12:45:02 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483) (Ping timeout: 264 seconds)
2021-02-08 12:45:23 +0100plutoniix(~q@184.82.205.58) (Quit: Leaving)
2021-02-08 12:45:46 +0100Nahra(~Nahra@unaffiliated/nahra)
2021-02-08 12:46:41 +0100kupi(uid212005@gateway/web/irccloud.com/x-mefkeneggdtiuoyj)
2021-02-08 12:49:23 +0100jedws(~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 12:50:09 +0100quinn(~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.1 - https://znc.in)
2021-02-08 12:53:47 +0100mirrorbird(~psutcliff@2a00:801:2d5:848b:590:cf4f:5eeb:b49d)
2021-02-08 12:54:34 +0100toorevitimirp(~tooreviti@117.182.180.8) (Remote host closed the connection)
2021-02-08 12:55:00 +0100toorevitimirp(~tooreviti@117.182.180.8)
2021-02-08 12:56:45 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-02-08 12:57:32 +0100ADG1089__(~aditya@223.235.245.154)
2021-02-08 13:03:14 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 13:05:45 +0100lawid(~quassel@dslb-088-073-132-251.088.073.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
2021-02-08 13:07:13 +0100cafce25(~cafce25@ipbcc3009d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2021-02-08 13:07:35 +0100lawid(~quassel@ipservice-092-209-135-235.092.209.pools.vodafone-ip.de)
2021-02-08 13:08:53 +0100ADG1089__(~aditya@223.235.245.154) (Remote host closed the connection)
2021-02-08 13:09:00 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-02-08 13:09:22 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-08 13:09:24 +0100kmein(~weechat@static.173.83.99.88.clients.your-server.de) (Quit: ciao kakao)
2021-02-08 13:09:42 +0100kmein(~weechat@static.173.83.99.88.clients.your-server.de)
2021-02-08 13:11:09 +0100__monty__(~toonn@unaffiliated/toonn)
2021-02-08 13:11:57 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
2021-02-08 13:13:57 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
2021-02-08 13:13:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-08 13:16:36 +0100Cheems(2eee1718@46.238.23.24)
2021-02-08 13:16:49 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-08 13:19:08 +0100 <Cheems> Hey everyone, I am a Computer Science student and currently learning Haskell in the university. I have a bit of a difficulty grasping the concept of recursion. I have an assignment to write a recursive function that returns a list of the hexagonal numbers of an integer on input I have the following code:
2021-02-08 13:19:08 +0100 <Cheems> hexagonalNums :: Integer -> [Integer]
2021-02-08 13:19:09 +0100 <Cheems> hexagonalNums 0 = [0]
2021-02-08 13:19:09 +0100 <Cheems> hexagonalNums 1 = [2*(1^2) - 1]
2021-02-08 13:19:10 +0100 <Cheems> hexagonalNums n = hexagonalNums(n-1) ++ [(2*(n^2) - n)]
2021-02-08 13:19:10 +0100 <Cheems> it works almost as it is supposed to, but I am unsure whether this is the correct way to write recursive functions. I will be thankful for any advice
2021-02-08 13:20:42 +0100 <lemmih> Cheems: It doesn't look like that function needs to be recursive.
2021-02-08 13:20:58 +0100 <Cheems> The assignment says that it must be
2021-02-08 13:22:03 +0100 <Cheems> And I would like some tips about recursion in general too.
2021-02-08 13:22:48 +0100 <__monty__> Cheems: Looks fine. Your second case is identical to the third so it's redundant. And repeatedly appending to the end of a list is inefficient but it probably doesn't matter for a simple assignment at the start of a course.
2021-02-08 13:22:50 +0100 <lemmih> Cheems: This would give you the same result: let hexagonalNum 0 = 0; hexagonalNum n = 2*(n^2) - n in map hexagonalNum [5,4..0]
2021-02-08 13:23:43 +0100sveit(~sveit@45.77.0.246) (Quit: Bye)
2021-02-08 13:23:43 +0100simplegauss(~simplegau@2001:19f0:ac01:247:5400:ff:fe5c:689f) (Quit: Bye)
2021-02-08 13:23:49 +0100 <lemmih> Or rather: let hexagonalNum 0 = 0; hexagonalNum n = 2*(n^2) - n in map hexagonalNum [0..5]
2021-02-08 13:24:36 +0100 <lemmih> Or even: let hexagonalNum n = 2*(n^2) - n in map hexagonalNum [0..5]
2021-02-08 13:24:40 +0100 <__monty__> lemmih: If you don't use recursion you don't need the base case for 0.
2021-02-08 13:25:23 +0100 <Cheems> Basically, as far as I understand, recursion is Haskell's way of simulating a loop in an imperative language, right?
2021-02-08 13:26:13 +0100 <opqdonut> I prefer to say something like "for repetition, haskell uses recursion instead of loops"
2021-02-08 13:26:16 +0100 <Cheems> lemmih Thanks
2021-02-08 13:26:53 +0100 <Cheems> opqdonut Makes sense
2021-02-08 13:28:21 +0100gxt(~gxt@gateway/tor-sasl/gxt)
2021-02-08 13:29:12 +0100 <Cheems> One more thing - my code doesn't return the base case for 0, e.g. *Main> hexagonalNums 9
2021-02-08 13:29:12 +0100 <Cheems> [1,6,15,28,45,66,91,120,153]
2021-02-08 13:29:13 +0100 <Cheems> Why is that?
2021-02-08 13:29:37 +0100 <merijn> Cheems: Loops vs recursion are just different ways to look at the same thing
2021-02-08 13:31:40 +0100 <merijn> Cheems: Why is what?
2021-02-08 13:31:55 +0100cafce25(~cafce25@ipbcc3009d.dynamic.kabel-deutschland.de)
2021-02-08 13:32:59 +0100 <enikar> Cheems: the 0 case is not reached, the 1 case terminate the recursion in your definition.
2021-02-08 13:33:58 +0100 <Cheems> enikar Ok, so how should I rewrite it so it is reached?
2021-02-08 13:34:47 +0100 <arahael> Cheems: Remove the 1 case?
2021-02-08 13:35:20 +0100 <Cheems> Right, missed that :D
2021-02-08 13:35:24 +0100 <enikar> Cheems: you can try without the 1 case…
2021-02-08 13:35:48 +0100 <Cheems> Sorry if I ask too dump questions, I just started with Haskell
2021-02-08 13:35:53 +0100 <Cheems> *dumb
2021-02-08 13:36:26 +0100 <enikar> the only dumb questions are the questions we don't ask :)
2021-02-08 13:36:36 +0100seemtav3(~seemtav3@bcde0474.skybroadband.com) (Ping timeout: 240 seconds)
2021-02-08 13:37:24 +0100sveit(~sveit@2001:19f0:ac01:247:5400:ff:fe5c:689f)
2021-02-08 13:37:33 +0100 <Cheems> Thank you guys :)
2021-02-08 13:37:55 +0100simplegauss(~simplegau@2001:19f0:ac01:247:5400:ff:fe5c:689f)
2021-02-08 13:39:33 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 264 seconds)
2021-02-08 13:39:33 +0100arahaeldoes try to make a point of _not_ asking the dumb questions.
2021-02-08 13:39:50 +0100 <merijn> enikar: I dunno man...
2021-02-08 13:39:55 +0100 <merijn> enikar: I've worked retail
2021-02-08 13:41:13 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483)
2021-02-08 13:41:51 +0100enikaris not sure to undestand, beacause his restricted english understanding.
2021-02-08 13:42:03 +0100 <enikar> *because
2021-02-08 13:42:06 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl)
2021-02-08 13:43:37 +0100 <arahael> merijn: My interpretation is that *we*, the slightly smarter people in this channel, don't ask those questions. ;)
2021-02-08 13:43:42 +0100 <j2t> hi, I can write this `map (^ (floor n)) $ [1 .. fromIntegral $ floor $ x ** (1 / n)]` when x and n are Float type, but im struggling to come up with an the same expression when x and n are Int type.
2021-02-08 13:44:04 +0100 <merijn> enikar: retail work as in customer service in shops/supermarkets/etc., most notable for how incredibly rude and...less than smart...some customers are ;)
2021-02-08 13:44:25 +0100 <arahael> enikar: "Here's a cup, my kid vomited in it.".
2021-02-08 13:44:31 +0100 <__monty__> arahael: I only ask dumb questions in the interest of all the beginners out there, of course 🧐
2021-02-08 13:44:52 +0100 <merijn> j2t: / only works on instance of Rational, which Int isn't
2021-02-08 13:44:57 +0100 <arahael> __monty__: Heh.
2021-02-08 13:44:58 +0100 <merijn> :t (/)
2021-02-08 13:44:59 +0100 <lambdabot> Fractional a => a -> a -> a
2021-02-08 13:45:07 +0100 <merijn> Eh, Fractional, apparently :p
2021-02-08 13:45:18 +0100 <arahael> Well, I'd best get to bed. It's midnight.
2021-02-08 13:45:24 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483) (Ping timeout: 240 seconds)
2021-02-08 13:45:34 +0100 <merijn> j2t: Either way, that means that if 'n' is Int, you have to convert it to something fractional first, such as via fromIntegral
2021-02-08 13:45:49 +0100 <merijn> :t (^)
2021-02-08 13:45:50 +0100 <lambdabot> (Integral b, Num a) => a -> b -> a
2021-02-08 13:45:52 +0100 <merijn> :t (**)
2021-02-08 13:45:53 +0100 <lambdabot> Floating a => a -> a -> a
2021-02-08 13:46:12 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
2021-02-08 13:46:32 +0100 <enikar> never mind… i don't understand
2021-02-08 13:47:44 +0100 <j2t> merijn, that's the thing, I dont know how to go Integral (Int in my case) to Fractional, which I need to this ` x ** (1 / n)`
2021-02-08 13:47:56 +0100 <j2t> *from Integral
2021-02-08 13:48:24 +0100Tario(~Tario@201.192.165.173)
2021-02-08 13:49:01 +0100 <enikar> there is fromIntegral or for fromInteger
2021-02-08 13:49:34 +0100 <merijn> j2t: fromIntegral
2021-02-08 13:49:44 +0100 <merijn> > fromIntegral (5 :: Int) :: Double
2021-02-08 13:49:46 +0100 <lambdabot> 5.0
2021-02-08 13:50:15 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-02-08 13:52:24 +0100ukari(~ukari@unaffiliated/ukari) (Ping timeout: 256 seconds)
2021-02-08 13:53:36 +0100 <j2t> oh, I was missing to wrap `x` with fromIntegral too. My bad. Thank you merijn
2021-02-08 13:54:11 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-02-08 13:56:45 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-02-08 13:57:19 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection)
2021-02-08 13:57:47 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
2021-02-08 13:59:16 +0100oish(~charlie@228.25.169.217.in-addr.arpa)
2021-02-08 14:00:28 +0100kini(~kini@unaffiliated/kini) (Remote host closed the connection)
2021-02-08 14:01:38 +0100Lowl3v3l(~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de) (Remote host closed the connection)
2021-02-08 14:01:47 +0100kini(~kini@unaffiliated/kini)
2021-02-08 14:03:12 +0100Lowl3v3l(~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de)
2021-02-08 14:06:07 +0100vektor(b9bd8f01@185.189.143.1)
2021-02-08 14:06:47 +0100 <vektor> Hey! So I've got myself a memory leak of some sort. Just to validate my mental model here: calling an IO action and letting it terminate can cause permanent memory allocation, right? If so, is there a way to free all that explicitly?
2021-02-08 14:07:04 +0100 <vektor> (The actual IO operation is runGHC, from the GHC library, with load and execStmt being the most likely cost centers with the GHC monad.)
2021-02-08 14:07:06 +0100 <merijn> vektor: Define "permanent memory allocation"
2021-02-08 14:07:08 +0100 <vektor> *within
2021-02-08 14:07:42 +0100 <vektor> permanent as in if I repeatedly run that IO operation, I'll clog up the ram, but I can terminate my program to get it back, of course.
2021-02-08 14:08:13 +0100 <vektor> i.e. permanent wrt. the lifetime of the program
2021-02-08 14:08:33 +0100urodna(~urodna@unaffiliated/urodna)
2021-02-08 14:09:19 +0100 <merijn> runGHC is tricky business, I dunno about that :)
2021-02-08 14:09:36 +0100Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 246 seconds)
2021-02-08 14:09:43 +0100Cheems(2eee1718@46.238.23.24) (Quit: Connection closed)
2021-02-08 14:11:03 +0100Alleria(~textual@zrcout.mskcc.org)
2021-02-08 14:11:26 +0100AlleriaGuest12996
2021-02-08 14:11:47 +0100 <vektor> Oh, it sure is. I've found the function withCleanupSession, but it's not doing what I hoped it would.
2021-02-08 14:13:14 +0100timCF(~i.tkachuk@m91-129-101-103.cust.tele2.ee)
2021-02-08 14:13:39 +0100geekosaur(82650c7a@130.101.12.122)
2021-02-08 14:14:04 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-eqyxwrtcsmlmrfkl)
2021-02-08 14:14:19 +0100RusAlex(~Chel@unaffiliated/rusalex)
2021-02-08 14:14:58 +0100djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54)
2021-02-08 14:16:44 +0100hekkaidekapus{(~tchouri@gateway/tor-sasl/hekkaidekapus)
2021-02-08 14:17:02 +0100 <timCF> Hello guys! I'm thinking how to make better caching of compiled modules. I'm using stack. I have a library which have a lot of big Haskell files (> 300) and when I change just 1 file, and update this library in any other project (which is using this library as dependency), stack recompiles all >300 files from scratch for new version, in spite of just 1 file has been really changed. Is there some way to
2021-02-08 14:17:08 +0100 <timCF> optimise stack behaviour to remove this redundant recompilation which takes a lot of time
2021-02-08 14:17:34 +0100 <merijn> timCF: It's not redundant, though?
2021-02-08 14:18:07 +0100 <merijn> timCF: If module Foo imports module Bar and Bar changes, then Foo needs to be recompiled using the new version of Bar
2021-02-08 14:18:11 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds)
2021-02-08 14:18:43 +0100 <geekosaur> cross-module inlinings may change and be invalidated by the change to Bar
2021-02-08 14:18:54 +0100 <merijn> timCF: Files that don't import changed code are already not recompiled
2021-02-08 14:19:18 +0100 <merijn> timCF: If you wanna reduce the amount of recompilation, try and reduce how many modules (transitively) import something
2021-02-08 14:19:18 +0100 <geekosaur> and ghc relies heavily on such inlinings for performance
2021-02-08 14:19:53 +0100 <merijn> timCF: Especially modules that you are gonna be changing frequently, try to have those imported by as few modules as you can
2021-02-08 14:21:17 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection)
2021-02-08 14:21:46 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
2021-02-08 14:22:25 +0100 <timCF> merijn: I'm not really writing these modules my hand, they are generated by protoc plugin from a lot of .proto files. Just haskell types and lensens for protobuf messages. They are not really cross-dependent, mostly they are independent.
2021-02-08 14:22:54 +0100 <merijn> timCF: How are those auto-generated, then?
2021-02-08 14:23:45 +0100 <merijn> I see two options: 1) Cabal thinks they *are* interdependent, or 2) the generated files are properly cached causing recompiles from scratch *always*
2021-02-08 14:24:36 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-02-08 14:25:38 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:8dc5:2885:a349:760f:ef8c) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 14:26:16 +0100 <timCF> I'm using protoc plugin from this repo https://github.com/google/proto-lens#readme and generating just normal Haskell files to src directory, without special stack/cabal autogeneration annotations. Maybe stack/cabal is too smart, and checking metadata of files (like date of creation) instead of just file content
2021-02-08 14:26:24 +0100ocharles(sid30093@musicbrainz/user/ocharles) (Ping timeout: 240 seconds)
2021-02-08 14:26:26 +0100bradparker(sid262931@gateway/web/irccloud.com/x-ojrguansyivybdaw) (Ping timeout: 240 seconds)
2021-02-08 14:26:35 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-twlcpvtoavnxrgmc) (Ping timeout: 246 seconds)
2021-02-08 14:26:36 +0100agander_m(sid407952@gateway/web/irccloud.com/x-cddrxaoqeztafcyl) (Ping timeout: 246 seconds)
2021-02-08 14:26:44 +0100betawaffle(sid2730@gateway/web/irccloud.com/x-yfenekwrcdoekgxj) (Ping timeout: 240 seconds)
2021-02-08 14:26:56 +0100SrPx(sid108780@gateway/web/irccloud.com/x-rmsqcmcogdpaxgkg) (Ping timeout: 240 seconds)
2021-02-08 14:26:56 +0100joshmeredith(sid387798@gateway/web/irccloud.com/x-ygnxigyifustxkeb) (Ping timeout: 240 seconds)
2021-02-08 14:26:56 +0100natim87(sid286962@gateway/web/irccloud.com/x-zlsantvwbppaghas) (Ping timeout: 240 seconds)
2021-02-08 14:26:57 +0100ajmcmiddlin(sid284402@gateway/web/irccloud.com/x-aycwsqicivnrmiel) (Ping timeout: 246 seconds)
2021-02-08 14:27:02 +0100billstclair(sid77830@gateway/web/irccloud.com/x-sgpjgxyhwjrnxkyk) (Ping timeout: 264 seconds)
2021-02-08 14:27:02 +0100hazard-pointer_(sid331723@gateway/web/irccloud.com/x-hrnpdfrrezibcbfh) (Ping timeout: 264 seconds)
2021-02-08 14:27:04 +0100 <merijn> timCF: ah, no
2021-02-08 14:27:05 +0100pent(sid313808@gateway/web/irccloud.com/x-lvyaqtakawbatxhe) (Ping timeout: 265 seconds)
2021-02-08 14:27:05 +0100feepo(sid28508@gateway/web/irccloud.com/x-drzsmgoumumuleld) (Ping timeout: 265 seconds)
2021-02-08 14:27:05 +0100stylewarning(stylewarni@gateway/web/irccloud.com/x-sejbirulngrakhep) (Ping timeout: 265 seconds)
2021-02-08 14:27:05 +0100lally(sid388228@gateway/web/irccloud.com/x-ksnlcawkmgzvygxc) (Ping timeout: 265 seconds)
2021-02-08 14:27:06 +0100kip(sid71464@gateway/web/irccloud.com/x-buspbqlpbojjwhxj) (Ping timeout: 265 seconds)
2021-02-08 14:27:09 +0100nick_h(sid319833@gateway/web/irccloud.com/x-fmszvbukywibvnjt) (Ping timeout: 272 seconds)
2021-02-08 14:27:09 +0100dmj`(sid72307@gateway/web/irccloud.com/x-orqoyluhohfgpsiw) (Ping timeout: 272 seconds)
2021-02-08 14:27:12 +0100rajivr(uid269651@gateway/web/irccloud.com/x-iejdtrakxigwexma) (Ping timeout: 260 seconds)
2021-02-08 14:27:12 +0100whez(sid470288@gateway/web/irccloud.com/x-cohcduknwuanevyg) (Ping timeout: 260 seconds)
2021-02-08 14:27:12 +0100Kronic(sid480486@gateway/web/irccloud.com/x-bjshlkomyddejefl) (Ping timeout: 260 seconds)
2021-02-08 14:27:13 +0100ryjm(sid383513@gateway/web/irccloud.com/x-tszvxtkoavldjrjz) (Ping timeout: 260 seconds)
2021-02-08 14:27:13 +0100amatecha__(sid10006@gateway/web/irccloud.com/x-fnkwtebeukswlkmi) (Ping timeout: 260 seconds)
2021-02-08 14:27:13 +0100 <merijn> timCF: That's using "build-type: Custom"
2021-02-08 14:27:14 +0100Kaivo(~Kaivo@104-200-86-99.mc.derytele.com)
2021-02-08 14:27:17 +0100tnks(sid412124@gateway/web/irccloud.com/x-snapvlcjtxbyljdb) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100alunduil(alunduil@gateway/web/irccloud.com/x-vnzpquaqiusxsiof) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100jbetz(sid283648@gateway/web/irccloud.com/x-uzbrvncunhpksqyc) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100topos(sid467876@gateway/web/irccloud.com/x-dbccdihuivdjslyq) (Write error: Connection reset by peer)
2021-02-08 14:27:17 +0100parseval(sid239098@gateway/web/irccloud.com/x-iyrckfoxfyphonhx) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100runeks(sid21167@gateway/web/irccloud.com/x-thmlyiatmbqzxhvn) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100edwinb(sid69486@gateway/web/irccloud.com/x-ksiofhqyzwmiecwk) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100moobar(sid171730@gateway/web/irccloud.com/x-ddlgralqoxtibhbj) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100ibloom(sid350277@gateway/web/irccloud.com/x-xutzapvvhunhncbo) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100buggymcbugfix(sid432603@gateway/web/irccloud.com/x-ltyciobmfcunfngz) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100simony(sid226116@gateway/web/irccloud.com/x-yvxwbmloxgyrtusv) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100mankyKitty(sid31287@gateway/web/irccloud.com/x-mvcmozxusndagmvx) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100lightandlight(sid135476@gateway/web/irccloud.com/x-olpnchgwzebqtuap) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100mcfilib(sid302703@gateway/web/irccloud.com/x-bnvvwewthnblmign) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100alinab(sid468903@gateway/web/irccloud.com/x-daqamfjmpnluaaac) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100kaychaks(sid236345@gateway/web/irccloud.com/x-lrphwkqopzqqabed) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100dgpratt(sid193493@gateway/web/irccloud.com/x-vveorfggkzxmherr) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100adamse(sid72084@gateway/web/irccloud.com/x-vpeedmrdcymsqhrq) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100cstrahan(sid36118@gateway/web/irccloud.com/x-yljxoiiqqogddjyq) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100enemeth79(sid309041@gateway/web/irccloud.com/x-kigvkvhoizxwdwhs) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100integral(sid296274@p3m/member/integral) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100FMJz____(sid279245@gateway/web/irccloud.com/x-awoebwelvapvisci) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100JSharp(sid4580@wikia/JSharp) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100hamishmack(sid389057@gateway/web/irccloud.com/x-wekimeracfifvmya) (Write error: Connection reset by peer)
2021-02-08 14:27:17 +0100acertain(sid470584@gateway/web/irccloud.com/x-yywtldtivzbefsrr) (Write error: Connection reset by peer)
2021-02-08 14:27:17 +0100heyj(sid171370@gateway/web/irccloud.com/x-jlmkaetfreswmuao) (Write error: Connection reset by peer)
2021-02-08 14:27:17 +0100Firedancer(sid336191@gateway/web/irccloud.com/x-ligfkiqpgzdsoowm) (Write error: Connection reset by peer)
2021-02-08 14:27:17 +0100dsturnbull(sid347899@gateway/web/irccloud.com/x-vmumozmnyaqkkdty) (Write error: Connection reset by peer)
2021-02-08 14:27:17 +0100lexi-lambda(sid92601@gateway/web/irccloud.com/x-zhabaycedniqzhzc) (Write error: Connection reset by peer)
2021-02-08 14:27:17 +0100Tritlo(sid58727@gateway/web/irccloud.com/x-lizgbcpbnixnerye) (Write error: Connection reset by peer)
2021-02-08 14:27:17 +0100iphy(sid67735@gateway/web/irccloud.com/x-rrleaqocyhslkcch) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100adius(sid321344@gateway/web/irccloud.com/x-xzosmbbgxpzyuaxq) (Write error: Connection reset by peer)
2021-02-08 14:27:17 +0100mpickering(sid78412@gateway/web/irccloud.com/x-gpnegcmfmjdgvvhd) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100PoliticsII______(sid193551@gateway/web/irccloud.com/x-yqgnnlehvwiyobbj) (Read error: Connection reset by peer)
2021-02-08 14:27:17 +0100totbwf(sid402332@gateway/web/irccloud.com/x-mndywvdfsgsxqtwx) (Read error: Connection reset by peer)
2021-02-08 14:27:18 +0100grfn(sid449115@gateway/web/irccloud.com/x-zurbhoztujpnnaaq) (Read error: Connection reset by peer)
2021-02-08 14:27:18 +0100m-renaud(sid333785@gateway/web/irccloud.com/x-rstexfpsjovfrhfo) (Read error: Connection reset by peer)
2021-02-08 14:27:18 +0100banjiewen__(sid115913@gateway/web/irccloud.com/x-ierynqowzkoepfnn) (Read error: Connection reset by peer)
2021-02-08 14:27:18 +0100jlpeters(sid25606@gateway/web/irccloud.com/x-sgprjlxzuwmmyvui) (Read error: Connection reset by peer)
2021-02-08 14:27:18 +0100SanchayanMaity(sid478177@gateway/web/irccloud.com/x-rpffknmnzhckxcik) (Read error: Connection reset by peer)
2021-02-08 14:27:19 +0100nh2(sid309956@gateway/web/irccloud.com/x-chlnrrlobqhxqopk) (Read error: Connection reset by peer)
2021-02-08 14:27:19 +0100alanz(sid110616@gateway/web/irccloud.com/x-ymtpstuakbptfsuq) (Write error: Connection reset by peer)
2021-02-08 14:27:19 +0100affinespaces(sid327561@gateway/web/irccloud.com/x-jflhsfrfrwoamxgm) (Write error: Connection reset by peer)
2021-02-08 14:27:19 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-walokhpttsredqkf) (Read error: Connection reset by peer)
2021-02-08 14:27:19 +0100pasukon(sid49097@gateway/web/irccloud.com/x-xxftumtrviguextm) (Read error: Connection reset by peer)
2021-02-08 14:27:19 +0100gluegadget(sid22336@gateway/web/irccloud.com/x-rxofsnehgcvjxzjy) (Read error: Connection reset by peer)
2021-02-08 14:27:20 +0100sz0(uid110435@gateway/web/irccloud.com/x-feemqzxyliawjlcl) (Read error: Connection reset by peer)
2021-02-08 14:27:20 +0100Kamuela(sid111576@gateway/web/irccloud.com/x-eouqoolzyumexoyp) (Read error: Connection reset by peer)
2021-02-08 14:27:20 +0100glowcoil(sid3405@gateway/web/irccloud.com/x-eqglmtzxkjcesfxa) (Read error: Connection reset by peer)
2021-02-08 14:27:21 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-eqyxwrtcsmlmrfkl) (Read error: Connection reset by peer)
2021-02-08 14:27:21 +0100rann(sid175221@gateway/web/irccloud.com/x-rebkjmgtrafnpeif) (Read error: Connection reset by peer)
2021-02-08 14:27:21 +0100entel(uid256215@botters/entel) (Read error: Connection reset by peer)
2021-02-08 14:27:21 +0100average(uid473595@gateway/web/irccloud.com/x-snybajxjtcrfigoq) (Read error: Connection reset by peer)
2021-02-08 14:27:21 +0100kupi(uid212005@gateway/web/irccloud.com/x-mefkeneggdtiuoyj) (Write error: Connection reset by peer)
2021-02-08 14:27:23 +0100drupol(sid117588@gateway/web/irccloud.com/x-kjvismejvnpqwehu) (Read error: Connection reset by peer)
2021-02-08 14:27:37 +0100 <merijn> timCF: Cabal cannot track the dependencies of those, so that should be done by the custom Setup.hs
2021-02-08 14:27:43 +0100 <merijn> Which clearly does not do that
2021-02-08 14:28:07 +0100enikar(~enikar@2001:41d0:2:8673::42) ("WeeChat 2.8")
2021-02-08 14:28:39 +0100 <merijn> The custom Setup probably runs the build unconditionally or checking metadata only
2021-02-08 14:28:45 +0100moobar(sid171730@gateway/web/irccloud.com/x-slpcxtjzdcvucznv)
2021-02-08 14:28:46 +0100bradparker(sid262931@gateway/web/irccloud.com/x-xlkdkvgsgbiosfib)
2021-02-08 14:28:48 +0100mcfilib(sid302703@gateway/web/irccloud.com/x-rcdetrygsxetslsb)
2021-02-08 14:28:48 +0100dsturnbull(sid347899@gateway/web/irccloud.com/x-vrnzpijbgungjari)
2021-02-08 14:28:48 +0100alinab(sid468903@gateway/web/irccloud.com/x-wttjdwvkmwimzpkl)
2021-02-08 14:28:48 +0100cstrahan(sid36118@gateway/web/irccloud.com/x-ygalbinvvcxosmxc)
2021-02-08 14:28:49 +0100ryjm(sid383513@gateway/web/irccloud.com/x-worjbcdglldngruf)
2021-02-08 14:28:49 +0100jlpeters(sid25606@gateway/web/irccloud.com/x-qwttawzojebpxywa)
2021-02-08 14:28:49 +0100lally(sid388228@gateway/web/irccloud.com/x-cekrhietwembxiah)
2021-02-08 14:28:49 +0100billstclair(sid77830@gateway/web/irccloud.com/x-horuiarjlflurngu)
2021-02-08 14:28:52 +0100heyj(sid171370@gateway/web/irccloud.com/x-yqxyyzcpfebmhzqe)
2021-02-08 14:28:52 +0100enemeth79(sid309041@gateway/web/irccloud.com/x-oqhrlsiaulnarpog)
2021-02-08 14:28:55 +0100kip(sid71464@gateway/web/irccloud.com/x-ageigeiymvztsnun)
2021-02-08 14:29:06 +0100betawaffle(sid2730@gateway/web/irccloud.com/x-ganznysfpzosetlx)
2021-02-08 14:29:06 +0100Kamuela(sid111576@gateway/web/irccloud.com/x-ctdjijrpijofxaqi)
2021-02-08 14:29:10 +0100 <merijn> cabal-install uses content hashing to control recompilation, but that's bypassed here
2021-02-08 14:29:22 +0100 <timCF> merijn: thanks!
2021-02-08 14:29:34 +0100dmj`(sid72307@gateway/web/irccloud.com/x-muugxjxezwgxhpwp)
2021-02-08 14:29:34 +0100sz0(uid110435@gateway/web/irccloud.com/x-ptxphydsalwponaw)
2021-02-08 14:29:41 +0100graingert(sid128301@gateway/web/irccloud.com/x-zalngjnregedcjeh) (Ping timeout: 272 seconds)
2021-02-08 14:29:54 +0100topos(sid467876@gateway/web/irccloud.com/x-jjuaerngijjjrgfb)
2021-02-08 14:29:54 +0100joshmeredith(sid387798@gateway/web/irccloud.com/x-ifflaxbyesjewlaq)
2021-02-08 14:29:54 +0100grfn(sid449115@gateway/web/irccloud.com/x-oaafzhjuzmnakhhy)
2021-02-08 14:29:54 +0100ajmcmiddlin(sid284402@gateway/web/irccloud.com/x-jictbuqowhrlaect)
2021-02-08 14:29:56 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection)
2021-02-08 14:29:57 +0100hazard-pointer_(sid331723@gateway/web/irccloud.com/x-qnmihlixkbakxstq)
2021-02-08 14:29:59 +0100natim87(sid286962@gateway/web/irccloud.com/x-rpeojspfwlsgtgel)
2021-02-08 14:30:00 +0100whez(sid470288@gateway/web/irccloud.com/x-fhcnzlragxvbwnhv)
2021-02-08 14:30:03 +0100alunduil(alunduil@gateway/web/irccloud.com/x-czdrujrqwwwimmbe)
2021-02-08 14:30:03 +0100ocharles(sid30093@musicbrainz/user/ocharles)
2021-02-08 14:30:04 +0100nh2(sid309956@gateway/web/irccloud.com/x-vtfrgroscunabrzg)
2021-02-08 14:30:06 +0100Kronic(sid480486@gateway/web/irccloud.com/x-cpssanljzejjvygk)
2021-02-08 14:30:07 +0100runeks(sid21167@gateway/web/irccloud.com/x-knlehmbevkamnxoa)
2021-02-08 14:30:08 +0100ibloom(sid350277@gateway/web/irccloud.com/x-ndvbvjfgaljsbyrm)
2021-02-08 14:30:08 +0100integral(sid296274@p3m/member/integral)
2021-02-08 14:30:10 +0100pasukon(sid49097@gateway/web/irccloud.com/x-xcxetghfiuzsmonz)
2021-02-08 14:30:13 +0100affinespaces(sid327561@gateway/web/irccloud.com/x-rjelqtkbztbdaijy)
2021-02-08 14:30:18 +0100stylewarning(stylewarni@gateway/web/irccloud.com/x-ezujfohamcnrjqpv)
2021-02-08 14:30:21 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
2021-02-08 14:30:27 +0100SrPx(sid108780@gateway/web/irccloud.com/x-tkumtvhlagwjxupu)
2021-02-08 14:31:02 +0100_noblegas(uid91066@gateway/web/irccloud.com/x-sditqbszpdmddknu)
2021-02-08 14:31:14 +0100AndreasK(uid320732@gateway/web/irccloud.com/x-uxhknygpiwtxbjmk) (Ping timeout: 264 seconds)
2021-02-08 14:31:23 +0100mankyKitty(sid31287@gateway/web/irccloud.com/x-grqpmbvetqwtlmpr)
2021-02-08 14:31:32 +0100FMJz____(sid279245@gateway/web/irccloud.com/x-axodaybdswvrnrsq)
2021-02-08 14:31:32 +0100agander_m(sid407952@gateway/web/irccloud.com/x-lbundbkyasssxrvb)
2021-02-08 14:31:34 +0100totbwf(sid402332@gateway/web/irccloud.com/x-efmvgwltwrmkihlo)
2021-02-08 14:31:34 +0100jbetz(sid283648@gateway/web/irccloud.com/x-rkzjfvmopzejiyvu)
2021-02-08 14:31:35 +0100m-renaud(sid333785@gateway/web/irccloud.com/x-khsxlpiktkditcef)
2021-02-08 14:31:35 +0100rajivr(uid269651@gateway/web/irccloud.com/x-eyjwbqpxvlfcaznf)
2021-02-08 14:31:36 +0100SanchayanMaity(sid478177@gateway/web/irccloud.com/x-qkmtsdrcybesfiqw)
2021-02-08 14:31:37 +0100alanz(sid110616@gateway/web/irccloud.com/x-tnlfxjozlahhtotx)
2021-02-08 14:31:41 +0100drupol(sid117588@gateway/web/irccloud.com/x-nwoufuotrwgcosww)
2021-02-08 14:31:42 +0100JSharp(sid4580@wikia/JSharp)
2021-02-08 14:31:45 +0100glowcoil(sid3405@gateway/web/irccloud.com/x-yeuuyflfecrkbktw)
2021-02-08 14:31:51 +0100entel(uid256215@botters/entel)
2021-02-08 14:31:53 +0100kupi(uid212005@gateway/web/irccloud.com/x-anfrlvkaiqrcsmmp)
2021-02-08 14:32:14 +0100amatecha__(sid10006@gateway/web/irccloud.com/x-edfnackjmngohzei)
2021-02-08 14:33:07 +0100iphy(sid67735@gateway/web/irccloud.com/x-njeroaggwywsdzoz)
2021-02-08 14:33:07 +0100Firedancer(sid336191@gateway/web/irccloud.com/x-fizivvwzbeaikpdv)
2021-02-08 14:33:07 +0100adamse(sid72084@gateway/web/irccloud.com/x-nfjyclyjqzkoolro)
2021-02-08 14:33:09 +0100pent(sid313808@gateway/web/irccloud.com/x-sndfmweosegssohp)
2021-02-08 14:33:12 +0100banjiewen__(sid115913@gateway/web/irccloud.com/x-vtlzkyyghwyhkbwc)
2021-02-08 14:33:15 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-afkfotiyymltayhn)
2021-02-08 14:33:34 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-gcmzgmbzghudqqac)
2021-02-08 14:33:47 +0100 <vektor> Here's a thought regarding my GHC-API memory leak: I use timeout to wrap my entire call to ghc. Could it be that this causes the GHC API to not clean up properly?
2021-02-08 14:34:22 +0100albert_42(~albert_42@2a02:8108:1100:16d8:304b:70e8:9deb:a56a)
2021-02-08 14:34:34 +0100lexi-lambda(sid92601@gateway/web/irccloud.com/x-owlnoanjqwjxhelk)
2021-02-08 14:34:34 +0100nick_h(sid319833@gateway/web/irccloud.com/x-sndbdwnvglpwhajg)
2021-02-08 14:34:35 +0100Tritlo(sid58727@gateway/web/irccloud.com/x-xvsyohflimbinvei)
2021-02-08 14:34:39 +0100parseval(sid239098@gateway/web/irccloud.com/x-lrawjylnvwfgcmba)
2021-02-08 14:34:39 +0100buggymcbugfix(sid432603@gateway/web/irccloud.com/x-isytpynjaeamwtwv)
2021-02-08 14:34:40 +0100mpickering(sid78412@gateway/web/irccloud.com/x-qgejcizurvqowneo)
2021-02-08 14:34:43 +0100 <geekosaur> that would not surprise me. but it's a question best asked in #ghc
2021-02-08 14:34:59 +0100feepo(sid28508@gateway/web/irccloud.com/x-xpvtlrbefkwtmovo)
2021-02-08 14:35:10 +0100 <vektor> Ohh, that's a thing? Cool, thanks
2021-02-08 14:35:13 +0100thunderrd(~thunderrd@183.182.115.7)
2021-02-08 14:39:19 +0100albert_42(~albert_42@2a02:8108:1100:16d8:304b:70e8:9deb:a56a) ()
2021-02-08 14:39:28 +0100albert_42(~albert_42@2a02:8108:1100:16d8:304b:70e8:9deb:a56a)
2021-02-08 14:41:56 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483)
2021-02-08 14:42:00 +0100albert_42albert
2021-02-08 14:42:29 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-02-08 14:42:31 +0100hexfive(~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
2021-02-08 14:43:32 +0100knupfer(~Thunderbi@200116b82c266900a0871bfffecfa49d.dip.versatel-1u1.de)
2021-02-08 14:43:42 +0100knupfer(~Thunderbi@200116b82c266900a0871bfffecfa49d.dip.versatel-1u1.de) (Client Quit)
2021-02-08 14:43:53 +0100knupfer(~Thunderbi@mue-88-130-61-219.dsl.tropolys.de)
2021-02-08 14:44:13 +0100AndreasK(uid320732@gateway/web/irccloud.com/x-qrlsubapxkxzdsjt)
2021-02-08 14:44:35 +0100 <timCF> Did anybody read "Parallel and concurrent programming in Haskell"? What can you say about this book? Or maybe somebody can recommend more modern book for enterprise Haskell developers about applications architecture? I've used a lot of Erlang/OTP in the past, and I'm missing advanced high-level types/patterns for application architecture (like OTP application, superviser, genserver, process, link,
2021-02-08 14:44:41 +0100 <timCF> send-receive/call-cast abstractions). I'm already using Asyc Haskell library, but still it feels a bit messy and low-level thing for big enterprise programs.
2021-02-08 14:44:44 +0100graingert(sid128301@gateway/web/irccloud.com/x-vklobmszfgmvbrsg)
2021-02-08 14:45:10 +0100hamishmack(sid389057@gateway/web/irccloud.com/x-omowyoexdyukmgsx)
2021-02-08 14:45:10 +0100kaychaks(sid236345@gateway/web/irccloud.com/x-ubijiresjoyryppu)
2021-02-08 14:45:10 +0100tnks(sid412124@gateway/web/irccloud.com/x-aeixbyffiogfyzax)
2021-02-08 14:45:10 +0100dgpratt(sid193493@gateway/web/irccloud.com/x-xzzvvqtrbrrriqqy)
2021-02-08 14:45:11 +0100edwinb(sid69486@gateway/web/irccloud.com/x-zepxnskltxjgkrvz)
2021-02-08 14:45:12 +0100cafce25(~cafce25@ipbcc3009d.dynamic.kabel-deutschland.de) (Quit: Lost terminal)
2021-02-08 14:45:15 +0100PoliticsII______(sid193551@gateway/web/irccloud.com/x-xxkinkuyzommvspo)
2021-02-08 14:45:17 +0100lightandlight(sid135476@gateway/web/irccloud.com/x-memsmllfufrwlxec)
2021-02-08 14:45:27 +0100rann(sid175221@gateway/web/irccloud.com/x-plbartzsiwrwurde)
2021-02-08 14:46:27 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483) (Ping timeout: 260 seconds)
2021-02-08 14:46:28 +0100pako8128(~pako@dynamic-077-011-101-092.77.11.pool.telefonica.de)
2021-02-08 14:47:26 +0100cafce25(~cafce25@ipbcc3009d.dynamic.kabel-deutschland.de)
2021-02-08 14:47:56 +0100pako(~pako@dynamic-077-011-087-191.77.11.pool.telefonica.de) (Ping timeout: 240 seconds)
2021-02-08 14:48:35 +0100 <merijn> PCH is more about how the low level stuff works (like how to implement async)
2021-02-08 14:48:46 +0100 <merijn> timCF: There's not a lot of polished supervisor stuff yet
2021-02-08 14:49:10 +0100 <merijn> timCF: But PCH is *the* book to read on how you would implement those sorts of Erlang abstractions yourself
2021-02-08 14:49:21 +0100acertain(sid470584@gateway/web/irccloud.com/x-qcnlnbxhzvnipgcz)
2021-02-08 14:49:28 +0100 <merijn> timCF: And those would be incredibly useful packages to have
2021-02-08 14:50:08 +0100simony(sid226116@gateway/web/irccloud.com/x-ejnjfzwgswvvieym)
2021-02-08 14:50:08 +0100adius(sid321344@gateway/web/irccloud.com/x-kwlpvjxqhtlpzjdi)
2021-02-08 14:50:11 +0100gluegadget(sid22336@gateway/web/irccloud.com/x-qjbluzdbuorvzudp)
2021-02-08 14:50:27 +0100Guest23586(~seemtav3@bcde0474.skybroadband.com)
2021-02-08 14:50:30 +0100 <merijn> johnw was working on some supervisor-y stuff, I think?
2021-02-08 14:51:12 +0100 <merijn> Stuff like https://hackage.haskell.org/package/async-pool-0.9.1
2021-02-08 14:51:19 +0100mirrorbird(~psutcliff@2a00:801:2d5:848b:590:cf4f:5eeb:b49d) (Quit: Leaving)
2021-02-08 14:51:57 +0100average(uid473595@gateway/web/irccloud.com/x-omlghjlbhsfyrzeu)
2021-02-08 14:52:59 +0100 <timCF> merijn: There is CloudHaskell (distribued-process) already, but package seems a bit abandoned. I did tried it - mostly works, but I'm a bit scared to use it in production. It's small subset of Erlang/OTP implemented in Haskell. Erlang/OTP is good, polished since 1986 framework, but untyped as you guessed.
2021-02-08 14:53:28 +0100 <merijn> CloudHaskell I was never *that* convinced by
2021-02-08 14:54:11 +0100 <merijn> timCF: Basically, all/most of the tools for building OTP-like stuff is there, but so far no one has built it
2021-02-08 14:56:19 +0100carlomagno(~cararell@148.87.23.10) (Remote host closed the connection)
2021-02-08 14:56:27 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:8dc5:2885:a349:760f:ef8c)
2021-02-08 14:56:38 +0100carlomagno(~cararell@148.87.23.9)
2021-02-08 14:57:58 +0100albert(~albert_42@2a02:8108:1100:16d8:304b:70e8:9deb:a56a) (Remote host closed the connection)
2021-02-08 14:58:24 +0100albert(~albert_42@2a02:8108:1100:16d8:304b:70e8:9deb:a56a)
2021-02-08 14:59:10 +0100 <timCF> merijn: yeah, it's not gonna happen without person who absolutely love OTP like me, haha) There are a lot of tricky parts, especially typed process message mailbox seems pretty hard to implement. But as I understood you do like the PCH book?
2021-02-08 15:00:32 +0100 <merijn> It's a very good overview of the low-level details/primitives in GHC (not too weird, considering Simon Marlow also *implemented* most of those)
2021-02-08 15:01:13 +0100 <merijn> timCF: So you'll certainly learn a lot about the basic tools available (he also explains considerable amounts of Async's implementation and STM, iirc)
2021-02-08 15:01:47 +0100 <merijn> Fiddly details like "MVars are fair and single-wakeup" and why those things might matter to you
2021-02-08 15:01:56 +0100deviantfero(~deviantfe@190.150.27.58)
2021-02-08 15:02:31 +0100 <timCF> merijn: thanks!
2021-02-08 15:04:51 +0100hyperisco(~hyperisco@104-195-141-253.cpe.teksavvy.com)
2021-02-08 15:05:05 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-08 15:05:15 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 246 seconds)
2021-02-08 15:05:16 +0100albert(~albert_42@2a02:8108:1100:16d8:304b:70e8:9deb:a56a) (Ping timeout: 265 seconds)
2021-02-08 15:06:55 +0100albert(~albert_42@2a02:8108:1100:16d8:304b:70e8:9deb:a56a)
2021-02-08 15:09:54 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
2021-02-08 15:10:24 +0100andreas303(~andreas@gateway/tor-sasl/andreas303) (Quit: andreas303)
2021-02-08 15:13:17 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection)
2021-02-08 15:17:10 +0100kini(~kini@unaffiliated/kini) (Remote host closed the connection)
2021-02-08 15:17:55 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
2021-02-08 15:18:30 +0100andreas303(~andreas@gateway/tor-sasl/andreas303)
2021-02-08 15:18:34 +0100kini(~kini@unaffiliated/kini)
2021-02-08 15:19:20 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Remote host closed the connection)
2021-02-08 15:19:47 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net)
2021-02-08 15:20:06 +0100Kaivo(~Kaivo@104-200-86-99.mc.derytele.com) (Quit: WeeChat 3.0)
2021-02-08 15:20:26 +0100LKoen(~LKoen@252.248.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2021-02-08 15:20:41 +0100Kaivo(~Kaivo@ec2-15-222-231-32.ca-central-1.compute.amazonaws.com)
2021-02-08 15:22:48 +0100raym(~ray@45.64.220.139) (Remote host closed the connection)
2021-02-08 15:23:57 +0100guest7682358928(a8c4c937@gateway/web/cgi-irc/kiwiirc.com/ip.168.196.201.55)
2021-02-08 15:27:02 +0100thc202(~thc202@unaffiliated/thc202) (Ping timeout: 264 seconds)
2021-02-08 15:27:25 +0100Benzi-Junior(~BenziJuni@dsl-149-67-143.hive.is) (Ping timeout: 240 seconds)
2021-02-08 15:27:37 +0100puke(~vroom@217.138.252.197) (Read error: Connection reset by peer)
2021-02-08 15:27:59 +0100puke(~vroom@217.138.252.197)
2021-02-08 15:30:30 +0100pyuk(~vroom@217.138.252.197)
2021-02-08 15:30:51 +0100thc202(~thc202@unaffiliated/thc202)
2021-02-08 15:31:45 +0100fionnan(~fionnan@80.111.86.154)
2021-02-08 15:32:04 +0100freakofmimsy(~freakofmi@185.204.1.185)
2021-02-08 15:33:08 +0100puke(~vroom@217.138.252.197) (Ping timeout: 272 seconds)
2021-02-08 15:35:41 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-02-08 15:35:59 +0100Benzi-Junior(~BenziJuni@88-149-67-143.du.xdsl.is)
2021-02-08 15:36:25 +0100usr25(~usr25@unaffiliated/usr25)
2021-02-08 15:38:06 +0100pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2021-02-08 15:39:03 +0100ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net)
2021-02-08 15:39:05 +0100ystael(~ystael@209.6.50.55) (Quit: Lost terminal)
2021-02-08 15:39:44 +0100xelxebar(~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection)
2021-02-08 15:40:02 +0100xelxebar(~xelxebar@gateway/tor-sasl/xelxebar)
2021-02-08 15:42:44 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483)
2021-02-08 15:43:09 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 264 seconds)
2021-02-08 15:43:33 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2021-02-08 15:46:23 +0100__minoru__shirae(~shiraeesh@77.94.25.221)
2021-02-08 15:47:07 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483) (Ping timeout: 260 seconds)
2021-02-08 15:48:20 +0100ystael(~ystael@209.6.50.55)
2021-02-08 15:50:04 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-02-08 15:52:09 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-02-08 15:52:39 +0100Tario(~Tario@201.192.165.173)
2021-02-08 15:52:41 +0100vektor(b9bd8f01@185.189.143.1) (Quit: Connection closed)
2021-02-08 15:55:28 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-02-08 15:55:49 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 15:56:27 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-02-08 15:59:00 +0100kish`(~oracle@gateway/tor-sasl/oracle) (Quit: Leaving)
2021-02-08 16:00:04 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 240 seconds)
2021-02-08 16:01:01 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
2021-02-08 16:01:28 +0100kish`(~oracle@gateway/tor-sasl/oracle)
2021-02-08 16:01:36 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl)
2021-02-08 16:02:10 +0100pyuk(~vroom@217.138.252.197) (Ping timeout: 256 seconds)
2021-02-08 16:02:41 +0100frozenErebus(~frozenEre@94.128.81.133) (Ping timeout: 256 seconds)
2021-02-08 16:02:54 +0100raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2021-02-08 16:03:37 +0100puke(~vroom@217.138.252.197)
2021-02-08 16:03:38 +0100puke(~vroom@217.138.252.197) (Remote host closed the connection)
2021-02-08 16:04:13 +0100raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-02-08 16:04:17 +0100kish`(~oracle@gateway/tor-sasl/oracle) ()
2021-02-08 16:04:51 +0100puke(~vroom@217.138.252.197)
2021-02-08 16:04:58 +0100Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
2021-02-08 16:05:19 +0100dolio(~dolio@haskell/developer/dolio) (Quit: ZNC 1.8.2 - https://znc.in)
2021-02-08 16:07:12 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds)
2021-02-08 16:07:33 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
2021-02-08 16:07:50 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl)
2021-02-08 16:07:51 +0100RusAlex(~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer)
2021-02-08 16:08:02 +0100Jd007(~Jd007@162.156.11.151)
2021-02-08 16:09:17 +0100RusAlex(~Chel@unaffiliated/rusalex)
2021-02-08 16:09:52 +0100vektor(b9bd8f01@185.189.143.1)
2021-02-08 16:11:09 +0100dolio(~dolio@haskell/developer/dolio)
2021-02-08 16:11:21 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Client Quit)
2021-02-08 16:11:41 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl)
2021-02-08 16:11:45 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:78f6:a8b6:6dc0:a3e5)
2021-02-08 16:13:01 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:78f6:a8b6:6dc0:a3e5) (Client Quit)
2021-02-08 16:13:32 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Client Quit)
2021-02-08 16:13:36 +0100deviantfero(~deviantfe@190.150.27.58) (Quit: WeeChat 3.0)
2021-02-08 16:13:51 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl)
2021-02-08 16:13:57 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-02-08 16:15:55 +0100jedws(~jedws@101.184.202.248)
2021-02-08 16:17:05 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 265 seconds)
2021-02-08 16:18:51 +0100mouseghost(~draco@wikipedia/desperek) (Quit: mew wew)
2021-02-08 16:20:57 +0100jedws(~jedws@101.184.202.248) (Ping timeout: 264 seconds)
2021-02-08 16:21:23 +0100sdrodge(~sdrodge@unaffiliated/sdrodge) (Ping timeout: 256 seconds)
2021-02-08 16:23:42 +0100pfurla_(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-02-08 16:25:36 +0100gxt(~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection)
2021-02-08 16:25:57 +0100gxt(~gxt@gateway/tor-sasl/gxt)
2021-02-08 16:25:58 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds)
2021-02-08 16:26:21 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 264 seconds)
2021-02-08 16:28:24 +0100DataComputist(~lumeng@50.43.26.251) (Quit: Leaving...)
2021-02-08 16:29:01 +0100plutoniix(~q@node-uhf.pool-125-24.dynamic.totinternet.net)
2021-02-08 16:29:15 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-02-08 16:29:25 +0100Wuzzy(~Wuzzy@p57a2f980.dip0.t-ipconnect.de)
2021-02-08 16:29:25 +0100Tario(~Tario@201.192.165.173)
2021-02-08 16:30:09 +0100DTZUZU(~DTZUZU@205.ip-149-56-132.net) (Read error: Connection reset by peer)
2021-02-08 16:30:52 +0100DTZUZU_(~DTZUZU@205.ip-149-56-132.net)
2021-02-08 16:32:27 +0100puke(~vroom@217.138.252.197) (Remote host closed the connection)
2021-02-08 16:32:31 +0100 <swarmcollective> I tried to extract the relevant code, since the project is so big, but this is where I'm failing to understand how to access the module state from the ModuleT DashboardState LB while servicing a Scotty web request which is in ActionT T.Text IO in case anyone is bored and wants a challenge... https://gist.github.com/calledtoconstruct/67efbd2b744d027a0ad136ee1cd3a13d
2021-02-08 16:32:49 +0100puke(~vroom@217.138.252.197)
2021-02-08 16:32:49 +0100 <swarmcollective> I hope I'm missing something simple / obvious to an experienced Haskeller.
2021-02-08 16:33:51 +0100hekkaidekapus{(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds)
2021-02-08 16:34:07 +0100 <Cale> What's ModuleT from? Is that yours?
2021-02-08 16:34:26 +0100 <swarmcollective> It is from the lambdabot project.
2021-02-08 16:34:33 +0100plutoniix(~q@node-uhf.pool-125-24.dynamic.totinternet.net) (Ping timeout: 272 seconds)
2021-02-08 16:34:39 +0100 <Cale> Ah, I was almost about to guess that
2021-02-08 16:34:40 +0100 <Cale> haha
2021-02-08 16:34:41 +0100 <swarmcollective> I created a plugin.
2021-02-08 16:35:46 +0100 <Cale> Well, okay, you're forking a thread to run this scotty server
2021-02-08 16:35:56 +0100 <swarmcollective> This is the first time I've had to use liftIO to start up something like a scotty endpoint. That changes the context entirely.
2021-02-08 16:36:01 +0100 <Cale> You could use an MVar or even just an IORef to communicate with it
2021-02-08 16:36:13 +0100 <Cale> I think everything here is an instance of MonadIO
2021-02-08 16:36:28 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 272 seconds)
2021-02-08 16:36:51 +0100plutoniix(~q@node-uhf.pool-125-24.dynamic.totinternet.net)
2021-02-08 16:37:09 +0100toorevitimirp(~tooreviti@117.182.180.8) (Remote host closed the connection)
2021-02-08 16:37:10 +0100 <swarmcollective> The `ModuleT Dashboard LB` uses an MVar internally to store the module state. I have yet to figure out how to get to it, since it is tucked inside the ModuleInfo monad.
2021-02-08 16:37:37 +0100oish(~charlie@228.25.169.217.in-addr.arpa) (Quit: leaving)
2021-02-08 16:37:45 +0100mrchampion(~mrchampio@38.18.109.23) (Ping timeout: 264 seconds)
2021-02-08 16:37:53 +0100 <Cale> I don't think ModuleInfo is a monad
2021-02-08 16:38:52 +0100 <swarmcollective> You are correct: data ModuleInfo st = ModuleInfo (facepalm)
2021-02-08 16:38:57 +0100 <Cale> https://hackage.haskell.org/package/lambdabot-core-5.3.0.1/docs/Lambdabot-Module.html#t:ModuleInfo
2021-02-08 16:39:00 +0100 <Cale> yeah
2021-02-08 16:39:44 +0100 <Cale> So it *might* even make sense to runModuleT in your new thread...
2021-02-08 16:39:53 +0100 <Cale> or inside of a scotty handler action
2021-02-08 16:39:57 +0100guest7682358928(a8c4c937@gateway/web/cgi-irc/kiwiirc.com/ip.168.196.201.55) (Quit: Connection closed)
2021-02-08 16:40:24 +0100 <swarmcollective> I tried going down the path of accessing `inModuleNamed "dashboard"` and I believe I ended up with an error about No instance of MonadLB m (ActionT T.Text IO)
2021-02-08 16:41:49 +0100 <swarmcollective> but I'll try anything at this point. :D I've spent a lot of time trying things on my own.
2021-02-08 16:41:53 +0100 <Cale> Ah, MonadLB only holds of monads which are built on top of the LB monad, it's kind of like MonadIO
2021-02-08 16:42:17 +0100 <Cale> https://hackage.haskell.org/package/lambdabot-core-5.3.0.1/docs/Lambdabot-Monad.html#t:MonadLB -- you can see the three instances here
2021-02-08 16:43:09 +0100 <Cale> Let me look more carefully at what you're trying to do :)
2021-02-08 16:43:26 +0100 <swarmcollective> On, right inModuleNamed uses runModuleT
2021-02-08 16:43:29 +0100Tario(~Tario@200.119.185.24)
2021-02-08 16:43:38 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483)
2021-02-08 16:44:10 +0100 <Cale> ah, and readMS just reads the private state of the module
2021-02-08 16:44:24 +0100 <Cale> It might be easier to just set up your own new MVar or whatever
2021-02-08 16:45:09 +0100 <swarmcollective> The `DashboardState` is written to when an irc like message comes in from the server.
2021-02-08 16:47:07 +0100 <swarmcollective> I say 'irc like message' since the messages can come from anywhere (discord, slack, etc..)
2021-02-08 16:47:14 +0100 <Cale> Where does startListening get called?
2021-02-08 16:47:25 +0100gioyik(~gioyik@gateway/tor-sasl/gioyik)
2021-02-08 16:47:44 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483) (Ping timeout: 240 seconds)
2021-02-08 16:48:04 +0100 <swarmcollective> I'm calling `startListening` from the moduleInit of the ModuleT
2021-02-08 16:48:33 +0100timCF(~i.tkachuk@m91-129-101-103.cust.tele2.ee) (Quit: leaving)
2021-02-08 16:49:09 +0100 <shapr> experience report: https://hackage.haskell.org/package/serialport really is cross platform from Linux to Mac at least
2021-02-08 16:49:22 +0100 <swarmcollective> s/ModuleT/Module
2021-02-08 16:50:13 +0100Nahra(~Nahra@unaffiliated/nahra) (Quit: leaving)
2021-02-08 16:50:28 +0100hekkaidekapus{(~tchouri@gateway/tor-sasl/hekkaidekapus)
2021-02-08 16:50:39 +0100 <Cale> Okay, that makes sense -- and if we make something like an IORef there, we could just pass it (or readIORef of it) to startListening as an argument
2021-02-08 16:50:48 +0100acidjnk_new(~acidjnk@p200300d0c722c41468be75153f6b13af.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
2021-02-08 16:51:07 +0100mrchampion(~mrchampio@38.18.109.23)
2021-02-08 16:51:21 +0100 <Cale> and we could presumably also include that same IORef in our module state, so that the other lambdabot handlers could get at it, if we can't pass it directly to them
2021-02-08 16:51:33 +0100 <Cale> I forget how lambdabot hooks that stuff up
2021-02-08 16:51:44 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-02-08 16:52:46 +0100 <Cale> So we could do something like startListening :: Int -> IO DashboardState -> Dashboard (); startListening port readDashboardState = ...
2021-02-08 16:53:04 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com)
2021-02-08 16:53:27 +0100 <Cale> and then before startListening gets called, we have something like dsRef <- newIORef initialDashboardState
2021-02-08 16:53:46 +0100 <Cale> and we call something like startListening port (readIORef dsRef)
2021-02-08 16:54:16 +0100knupfer(~Thunderbi@mue-88-130-61-219.dsl.tropolys.de) (Quit: knupfer)
2021-02-08 16:54:23 +0100gxt(~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection)
2021-02-08 16:54:30 +0100knupfer(~Thunderbi@200116b82c266900197db46b2ab67805.dip.versatel-1u1.de)
2021-02-08 16:54:30 +0100 <swarmcollective> Ah, so the parameter passed to startListening is the reader function.
2021-02-08 16:54:36 +0100 <Cale> (This is just a trick to make sure the webserver can't write the state. If you want to write it as well, probably you want to use an MVar so as to be careful about locking.)
2021-02-08 16:56:37 +0100LKoen(~LKoen@252.248.88.92.rev.sfr.net)
2021-02-08 16:56:43 +0100 <Cale> You *can* use IORefs for thread communication, but there are a lot of concurrency bugs to worry about in general, so if you can get away with restricting who is allowed to read and who is allowed to write, it's usually a good idea.
2021-02-08 16:56:43 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:8dc5:2885:a349:760f:ef8c) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 16:58:02 +0100_noblegas(uid91066@gateway/web/irccloud.com/x-sditqbszpdmddknu) (Quit: Connection closed for inactivity)
2021-02-08 16:59:13 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
2021-02-08 16:59:29 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl)
2021-02-08 16:59:42 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:1c14:c84:247a:b08d)
2021-02-08 17:00:00 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Client Quit)
2021-02-08 17:00:02 +0100 <swarmcollective> https://github.com/lambdabot/lambdabot/blob/master/lambdabot-core/src/Lambdabot/Monad.hs
2021-02-08 17:00:14 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl)
2021-02-08 17:00:59 +0100 <swarmcollective> and https://github.com/lambdabot/lambdabot/blob/master/lambdabot-core/src/Lambdabot/State.hs
2021-02-08 17:01:31 +0100Rudd0(~Rudd0@185.189.115.108)
2021-02-08 17:01:34 +0100 <swarmcollective> This is where the `withMS` and `readMS` functions are declared (best I can tell).
2021-02-08 17:02:54 +0100 <swarmcollective> Am I correct in thinking that these are specific to the instances provided; would it be possible to write a new instance for this use case with scotty ActionM () which is ActionT T.Text IO () and then be able to call withMS or readMS within that context?
2021-02-08 17:03:24 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-ottrjnvqaulpzikt)
2021-02-08 17:03:34 +0100 <swarmcollective> Since the `MS` or Module State is already encapsulated in a MVar
2021-02-08 17:03:41 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2021-02-08 17:04:11 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-02-08 17:04:58 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com)
2021-02-08 17:06:05 +0100MidAutumnHotaru(~MidAutumn@unaffiliated/midautumnhotaru) (Ping timeout: 240 seconds)
2021-02-08 17:06:25 +0100MidAutumnHotaru(~MidAutumn@unaffiliated/midautumnhotaru)
2021-02-08 17:06:47 +0100RusAlex(~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer)
2021-02-08 17:07:56 +0100jamm_(~jamm@unaffiliated/jamm)
2021-02-08 17:09:42 +0100xiinotulp(~q@node-upu.pool-125-24.dynamic.totinternet.net)
2021-02-08 17:10:33 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 272 seconds)
2021-02-08 17:12:08 +0100 <kuribas> merijn: I found cloud haskell rather restrictive, as every process needs to have the same binary.
2021-02-08 17:12:34 +0100 <kuribas> merijn: I don't really see the advantage over other RPC libraries, or just JSON over REST.
2021-02-08 17:13:19 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
2021-02-08 17:13:27 +0100plutoniix(~q@node-uhf.pool-125-24.dynamic.totinternet.net) (Ping timeout: 260 seconds)
2021-02-08 17:13:44 +0100 <merijn> not needing to serialise to text and the ability to serialise arbitrarily complex things
2021-02-08 17:13:54 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-02-08 17:14:39 +0100 <Cale> swarmcollective: You could get hold of the module state, but you won't be able to get a MonadLBState for monads not built on top of the LB monad anyway
2021-02-08 17:15:05 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
2021-02-08 17:15:13 +0100 <Cale> and even if you could, writing the instances required is a bunch of boilerplate that wouldn't save much actual work
2021-02-08 17:15:23 +0100 <kuribas> merijn: what does it matter which format is send? You could use one of the binary serialisation formats if necessary.
2021-02-08 17:15:38 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl)
2021-02-08 17:15:41 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com)
2021-02-08 17:15:41 +0100 <merijn> kuribas: You can't (easily) serialise closures that way
2021-02-08 17:15:42 +0100DTZUZU_(~DTZUZU@205.ip-149-56-132.net) (Read error: Connection reset by peer)
2021-02-08 17:15:43 +0100 <Cale> It's easier just to use the fact that you can do IO using liftIO from any of these monads, I think
2021-02-08 17:15:43 +0100 <kuribas> merijn: I can serialize arbitrarily complex things with json.
2021-02-08 17:16:06 +0100 <merijn> kuribas: By arbitrarily complex I mean "including sharing and closures"
2021-02-08 17:16:21 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl) (Client Quit)
2021-02-08 17:16:40 +0100 <kuribas> merijn: that just sounds like a problem in need of a solution.
2021-02-08 17:16:44 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-02-08 17:16:53 +0100 <kuribas> What would I even *want* to serialize closures.
2021-02-08 17:16:58 +0100 <merijn> kuribas: Then you are not Cloud Haskell's target audience
2021-02-08 17:17:01 +0100tremon(~aschuring@217-63-61-89.cable.dynamic.v4.ziggo.nl)
2021-02-08 17:17:27 +0100 <kuribas> probably never will be
2021-02-08 17:17:54 +0100 <merijn> kuribas: I had a project where I wanted this, but cloud haskell didn't really exist yet, since half the support for Cloud Haskell was only at HEAD at the time
2021-02-08 17:19:05 +0100berberman_(~berberman@unaffiliated/berberman)
2021-02-08 17:19:08 +0100 <kuribas> I also dislike the idea of not knowing how your data is send.
2021-02-08 17:19:14 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds)
2021-02-08 17:20:57 +0100 <merijn> Then you will also hate such "popular" tech as MPI :p
2021-02-08 17:23:08 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-08 17:23:08 +0100 <swarmcollective> Cale, so liftIO is `stripping the MonadLBState` or `LB monad` and therefore not able to access it. Since Dashboard (ModuleT DashboardState LB) is LB to begin with, I just want to clarify. It is the liftIO that strips away the access?
2021-02-08 17:23:30 +0100 <merijn> It doesn't "strip"
2021-02-08 17:23:36 +0100 <merijn> % :t liftIO
2021-02-08 17:23:37 +0100 <yahb> merijn: MonadIO m => IO a -> m a
2021-02-08 17:23:55 +0100 <merijn> swarmcollective: The argument of liftIO is always, well, IO
2021-02-08 17:24:33 +0100 <merijn> swarmcollective: Assuming IO (most likely) IO does not have a MonadLBState instance then, logically, you cannot use that instance in the argument to liftIO
2021-02-08 17:30:11 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:1c14:c84:247a:b08d) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-02-08 17:30:44 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
2021-02-08 17:30:52 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:1c14:c84:247a:b08d)
2021-02-08 17:31:10 +0100 <swarmcollective> I believe I understand what you are saying.
2021-02-08 17:31:49 +0100xelxebar(~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 268 seconds)
2021-02-08 17:32:09 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-02-08 17:32:19 +0100 <swarmcollective> With the IORef idea, is it then possible to store the IORef that is used to communicate with the scotty thread in the Module State such that I can write to it when the module receives calls from the IRC server?
2021-02-08 17:32:20 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-02-08 17:33:01 +0100 <swarmcollective> I believe the Module State is serialized, which might prevent that. (IORef is not likely serializable, :D)
2021-02-08 17:34:54 +0100 <kuribas> merijn: can erlang do that?
2021-02-08 17:35:04 +0100 <kuribas> merijn: transferring closures?
2021-02-08 17:35:04 +0100 <merijn> kuribas: Do what?
2021-02-08 17:35:12 +0100 <merijn> No clue
2021-02-08 17:35:24 +0100 <swarmcollective> Or maybe I have this backwards. Create the IORef, pass it to the scotty thread, then fork another thread that periodically reads the module state with readMS and write it to the IORef. Then the scotty thread would have the updated state.
2021-02-08 17:35:35 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:1c14:c84:247a:b08d) (Ping timeout: 265 seconds)
2021-02-08 17:36:27 +0100 <dolio> I think it can. You can just send anything.
2021-02-08 17:36:42 +0100 <merijn> I mean, Erlang also allows hot-swapping code, so
2021-02-08 17:36:52 +0100 <merijn> It's likely
2021-02-08 17:37:01 +0100xelxebar(~xelxebar@gateway/tor-sasl/xelxebar)
2021-02-08 17:37:59 +0100kritzefitz(~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
2021-02-08 17:38:37 +0100RusAlex(~Chel@unaffiliated/rusalex)
2021-02-08 17:40:56 +0100kini(~kini@unaffiliated/kini) (Remote host closed the connection)
2021-02-08 17:41:15 +0100 <oats> not directly related, but I'm reminded of how much I want to go through this https://www.stephendiehl.com/posts/monads_machine_code.html
2021-02-08 17:41:28 +0100 <oats> the idea of an x86 monad is sublime lol
2021-02-08 17:41:46 +0100slack1256(~slack1256@45.4.2.52)
2021-02-08 17:42:02 +0100 <merijn> oats: What's stopping you? :p
2021-02-08 17:42:11 +0100 <oats> busy :P
2021-02-08 17:42:13 +0100 <oats> school
2021-02-08 17:42:13 +0100kini(~kini@unaffiliated/kini)
2021-02-08 17:42:23 +0100 <oats> bigger fish to fry :(
2021-02-08 17:42:37 +0100 <Ferdirand> i think erlang is cheating a bit when sending closures
2021-02-08 17:42:51 +0100 <merijn> Ferdirand: How so?
2021-02-08 17:43:20 +0100 <Ferdirand> it doesn't serialize the code, it just sends a pointer to the code within the module
2021-02-08 17:43:33 +0100 <merijn> Ferdirand: Well, duh
2021-02-08 17:43:58 +0100 <Ferdirand> lua serializes the actual bytecode iirc
2021-02-08 17:44:07 +0100 <merijn> Ferdirand: Sending arbitrary code requires you either 1) include a compiler, or 2) have eval (which is basically shipping a compiler)
2021-02-08 17:44:18 +0100 <Ferdirand> well erlang ships with a compiler
2021-02-08 17:44:21 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483)
2021-02-08 17:44:32 +0100 <merijn> Suggesting you do that in any production system is going to give your security team a heart infarct :p
2021-02-08 17:44:49 +0100 <Uniaika> Ferdirand: inter-BEAM messaging actually sends the data, IIRC
2021-02-08 17:44:59 +0100 <merijn> And if you don't *have* a security team, that seems an even worse idea :p
2021-02-08 17:45:27 +0100 <Ferdirand> Uniaika: https://erlang.org/doc/apps/erts/erl_ext_dist.html#new_fun_ext
2021-02-08 17:45:50 +0100 <Ferdirand> "each fun within a module has an unique index"
2021-02-08 17:45:57 +0100drbrule(sid395654@gateway/web/irccloud.com/x-nctvgorjcdulbvzr) (Quit: Connection closed for inactivity)
2021-02-08 17:45:57 +0100 <merijn> Ferdirand: Sending closures has to involve sending any variables capture in scope, though
2021-02-08 17:46:14 +0100 <Ferdirand> yes, of course, there's a field at the end for free variables
2021-02-08 17:46:58 +0100 <oats> lua is great for this kind of dynamic thing
2021-02-08 17:47:14 +0100 <oats> lua feels like a lisp stuck in a boring scripting language body :P
2021-02-08 17:47:38 +0100 <merijn> oats: And a shitty start index for arrays :p
2021-02-08 17:47:49 +0100 <oats> eh, that's never been an issue for me
2021-02-08 17:47:51 +0100Anandamide(49a90352@c-73-169-3-82.hsd1.co.comcast.net)
2021-02-08 17:48:18 +0100 <kuribas> merijn: tell that to our team...
2021-02-08 17:48:23 +0100 <oats> you can technically start your own lists at zero if you want, lua's built-in ipairs just won't support it
2021-02-08 17:48:25 +0100 <Ferdirand> anyway, wrt. security, i think erlang's philosophy is that all nodes run inside the same security domain
2021-02-08 17:48:37 +0100 <kuribas> merijn: we change code live on production
2021-02-08 17:48:42 +0100 <Ferdirand> if you can talk the distribution protocol, you can already spawn remote processes and load remote code
2021-02-08 17:48:44 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483) (Ping timeout: 240 seconds)
2021-02-08 17:50:56 +0100 <Uniaika> Ferdirand: yes, BEAM nodes are expected to live in the same rack, or bay
2021-02-08 17:51:14 +0100 <Uniaika> if we want a larger scale, the distribution protocol must be changed to accomodate to the other constraints
2021-02-08 17:51:58 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl)
2021-02-08 17:51:58 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
2021-02-08 17:51:58 +0100mouseghost(~draco@wikipedia/desperek)
2021-02-08 17:52:08 +0100 <kuribas> merijn: they never tell you the downsides: you cannot track what has been hotfixed. We need a complicated build in order to patch and update our running build. In the end, n you basically reinvented CI/CD, which you can do in every language.
2021-02-08 17:54:19 +0100 <merijn> kuribas: The reason it exists is because ericson makes telecom routers that absolutely *cannot* have downtime to run updates. Your company probably doesn't, the fact that your colleagues inappropriately do that sorta thing anyway isn't the fault of technology
2021-02-08 17:55:01 +0100 <kuribas> merijn: it's also because our system takes up to 2 hours to reboot.
2021-02-08 17:55:05 +0100 <merijn> Determined programmers can find stupid things to do with any feature :)
2021-02-08 17:55:38 +0100 <kuribas> merijn: because it keeps everything in ram.
2021-02-08 17:55:43 +0100 <siraben> Is there a tutorial/example on how to implement a mutable data structure with a pure API using linear types?
2021-02-08 17:55:58 +0100 <merijn> siraben: Probably not? :p
2021-02-08 17:56:06 +0100 <j2t> `[x | x <- [1..], x^2 <= 100]` this expression does not terminate in repl, it prints without closing `]`. What am I doing wrong?
2021-02-08 17:56:24 +0100 <merijn> siraben: Like, the beta version of linear types has only been available in a released compiler for, like, 2 days :)
2021-02-08 17:56:26 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 17:56:28 +0100 <kuribas> merijn: there are ways to have no downtime without hot-patching.
2021-02-08 17:56:30 +0100 <c_wraith> j2t: ghc doesn't know that x^2 is monotonic
2021-02-08 17:56:35 +0100frozenErebus(~frozenEre@94.128.81.133)
2021-02-08 17:56:42 +0100 <kuribas> merijn: like starting a second process, and killing the first when the second is running.
2021-02-08 17:56:51 +0100 <merijn> siraben: You'll have to grab a copy of one or more Linear Haskell papers and the GHC wiki
2021-02-08 17:56:54 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483)
2021-02-08 17:57:09 +0100 <kuribas> merijn: but if it where me, I'd go to a stateless service with everything in the DB.
2021-02-08 17:57:12 +0100 <merijn> kuribas: How do you migrate your active connections?
2021-02-08 17:57:18 +0100Nahra(~Nahra@unaffiliated/nahra)
2021-02-08 17:57:24 +0100 <kuribas> what do you mean?
2021-02-08 17:57:26 +0100 <kuribas> merijn:
2021-02-08 17:57:27 +0100 <kuribas> haalayash
2021-02-08 17:57:27 +0100 <merijn> kuribas: Good luck making "connected phone calls" stateless :p
2021-02-08 17:57:47 +0100 <siraben> there's 108938
2021-02-08 17:57:48 +0100 <j2t> c_wraith, could you expand more? `[x | x <- [1..], x <= 100]` does not terminate either
2021-02-08 17:57:50 +0100 <siraben> oops wrong pate
2021-02-08 17:57:52 +0100 <kuribas> merijn: it's a backend service that doesn't talk with the customer directly.
2021-02-08 17:57:53 +0100 <siraben> paste*, https://github.com/tweag/linear-base/blob/master/src/Data/HashMap/Mutable/Linear.hs
2021-02-08 17:57:56 +0100 <c_wraith> j2t: it has to actually check every value of x. Since that'll default to Integer, you'll run out of memory before it checks them all
2021-02-08 17:58:16 +0100 <kuribas> merijn: oh, you mean the router :)
2021-02-08 17:58:18 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
2021-02-08 17:58:18 +0100 <merijn> kuribas: *your* process maybe, but I don't know what your company actually does, so I don't know about that
2021-02-08 17:58:23 +0100 <j2t> c_wraith, right, i was supposing that.
2021-02-08 17:58:38 +0100 <merijn> j2t: guards in list comprehensions are filter, not takeWhile :)
2021-02-08 17:58:52 +0100 <j2t> c_wraith, is there way to write what im trying to with list comprehensions?
2021-02-08 17:58:58 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 17:59:01 +0100 <merijn> j2t: not really
2021-02-08 17:59:03 +0100 <j2t> ok
2021-02-08 17:59:08 +0100 <merijn> j2t: At least not easily
2021-02-08 17:59:19 +0100 <merijn> j2t: otoh, list comprehensions are fairly uncommon anyway
2021-02-08 17:59:19 +0100 <c_wraith> put an upper bound on the inner iteration
2021-02-08 17:59:40 +0100 <c_wraith> *you* know x^2 is monotonic, so x <- [1..100]
2021-02-08 17:59:57 +0100Tario(~Tario@200.119.185.24) (Ping timeout: 264 seconds)
2021-02-08 18:00:45 +0100 <c_wraith> ghc just treats them as arbitrary functions, and arbitrary functions can be undecidable. You know more, so it's your responsibility to use that knowledge.
2021-02-08 18:00:46 +0100geekosaur(82650c7a@130.101.12.122)
2021-02-08 18:01:18 +0100 <c_wraith> Though really.... list comprehensions are weird and awkward. They shouldn't be your goal. takeWhile is nice.
2021-02-08 18:01:43 +0100Tario(~Tario@201.192.165.173)
2021-02-08 18:02:06 +0100 <merijn> When you come from python list comprehensiosn seem fantastic! And then 3 years later you realise you basically only use them for simple ranges like [n .. x]
2021-02-08 18:02:41 +0100 <c_wraith> I don't even call it a comprehension unless there's a | in there. It's just a list literal without that.
2021-02-08 18:02:46 +0100 <swarmcollective> Cale, thank you! The IORef between threads worked. Since I already needed a second thread to know when to shutdown scotty, this fit right in. The second thread pushes the Module State over to the scotty thread via the IORef (and it was already reading the state to begin with!)
2021-02-08 18:03:14 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 246 seconds)
2021-02-08 18:03:15 +0100Yumasi(~guillaume@2a01:e0a:5cb:4430:5f77:5a2f:ae12:96d7) (Ping timeout: 258 seconds)
2021-02-08 18:03:53 +0100Yumasi(~guillaume@2a01:e0a:5cb:4430:232:1d4d:af33:aa7c)
2021-02-08 18:04:24 +0100xff0x(~xff0x@2001:1a81:52b3:3900:56f7:7dca:ce44:95dc) (Ping timeout: 258 seconds)
2021-02-08 18:05:17 +0100xff0x(~xff0x@2001:1a81:52b3:3900:cb4:5433:f2ed:f9c3)
2021-02-08 18:05:55 +0100 <kuribas> merijn: the "debugging in production thing" can also be solved easily with a stateless service, just checkout the production revision, and point it at the production databases.
2021-02-08 18:07:49 +0100boxscape(4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243)
2021-02-08 18:07:53 +0100 <kuribas> then you can test locally
2021-02-08 18:10:00 +0100conal(~conal@64.71.133.70)
2021-02-08 18:10:01 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-02-08 18:10:16 +0100DTZUZU(~DTZUZU@205.ip-149-56-132.net)
2021-02-08 18:10:50 +0100 <siraben> merijn: yeah, the linear haskell paper seems great.
2021-02-08 18:11:49 +0100Tario(~Tario@201.192.165.173)
2021-02-08 18:13:11 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 18:13:52 +0100xsperry(~as@unaffiliated/xsperry) ()
2021-02-08 18:13:56 +0100RusAlex(~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer)
2021-02-08 18:14:58 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
2021-02-08 18:15:24 +0100 <__minoru__shirae> swarmcollective: can you post another gist with a working code?
2021-02-08 18:15:56 +0100RusAlex(~Chel@unaffiliated/rusalex)
2021-02-08 18:15:59 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 18:17:06 +0100 <swarmcollective> __minoru__shirae, sure. Once I build out the web service endpoints, I'll commit to the repo as well.
2021-02-08 18:17:45 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2021-02-08 18:18:54 +0100TheScoop(~TheScoop@unaffiliated/tryte)
2021-02-08 18:19:24 +0100xsperry(~as@unaffiliated/xsperry)
2021-02-08 18:19:51 +0100slack1256(~slack1256@45.4.2.52) (Ping timeout: 265 seconds)
2021-02-08 18:20:04 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 240 seconds)
2021-02-08 18:20:33 +0100 <swarmcollective> It does invoke a bit of a chuckle when saying it out loud "Adding a web interface to an irc bot"
2021-02-08 18:22:27 +0100 <geekosaur> "web all the things!"
2021-02-08 18:23:23 +0100howdoi(uid224@gateway/web/irccloud.com/x-ebpbnruvsddtxhef)
2021-02-08 18:24:40 +0100DTZUZU(~DTZUZU@205.ip-149-56-132.net) (Read error: Connection reset by peer)
2021-02-08 18:24:44 +0100 <__minoru__shirae> swarmcollective: you created a project and specified scotty and lambdabot as dependencies?
2021-02-08 18:26:00 +0100 <swarmcollective> __minoru__shirae, my project is a new plugin for the lambdabot that exposes a web service which can read the state of the plugin (aka Module).
2021-02-08 18:26:04 +0100 <__minoru__shirae> I'm reading about lambdabot's dependencies from it's readme, does cabal or stack resolve them automatically?
2021-02-08 18:26:27 +0100 <__minoru__shirae> oh, so you're adding to the lambdabot itself\
2021-02-08 18:27:18 +0100Major_Biscuit(~Major_Bis@82.169.100.198) (Ping timeout: 272 seconds)
2021-02-08 18:27:27 +0100 <swarmcollective> Yes. I forked the project and have been, sadly, breaking and fixing things for a while. This is how I'm learning Haskell.
2021-02-08 18:27:45 +0100puke(~vroom@217.138.252.197) (Quit: puke)
2021-02-08 18:27:58 +0100 <geekosaur> short answer is yes. longer answer is there are optional components which may need to be enabled with flags, or it may select them automatically if present (again using flags, which can be pretty clever)
2021-02-08 18:28:08 +0100puke(~vroom@217.138.252.197)
2021-02-08 18:29:01 +0100 <swarmcollective> geekosaur, agreed. The config component, now that I understand it, is pretty neat.
2021-02-08 18:33:03 +0100 <ephemient> j2t: with the {-# LANGUAGE TransformListComp #-} extension, you can write [x | x <- [1..], then takeWhile by x^2 <= 100]
2021-02-08 18:33:22 +0100 <merijn> ephemient: Thanks, I hate it >.>
2021-02-08 18:33:35 +0100p-core(~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56)
2021-02-08 18:33:37 +0100 <j2t> :)
2021-02-08 18:34:21 +0100 <j2t> ephemient, i don't see how anyone would write it this way instead of just plain `takeWhile`
2021-02-08 18:34:43 +0100 <ephemient> I'm not recommending it btw :)
2021-02-08 18:34:53 +0100AWizzArd(~code@gehrels.uberspace.de) (Changing host)
2021-02-08 18:34:53 +0100AWizzArd(~code@unaffiliated/awizzard)
2021-02-08 18:35:03 +0100 <j2t> but thanks, it's nice to know about this extension
2021-02-08 18:35:21 +0100_xor(~xor@74.215.46.133) (Ping timeout: 264 seconds)
2021-02-08 18:35:29 +0100 <merijn> Pro-tip: Take time at least once a year to skim through the GHC user guide :)
2021-02-08 18:35:37 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-02-08 18:36:22 +0100pako(~pako@dynamic-089-014-134-077.89.14.pool.telefonica.de)
2021-02-08 18:36:36 +0100boxscape(4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243) (Ping timeout: 240 seconds)
2021-02-08 18:36:58 +0100pako8128(~pako@dynamic-077-011-101-092.77.11.pool.telefonica.de) (Ping timeout: 265 seconds)
2021-02-08 18:37:02 +0100_xor(~xor@74.215.46.133)
2021-02-08 18:37:20 +0100 <kuribas> merijn: if I make these remarks to my colleage, he says "oh, but I don't need to COMPILE it!". As if compilation is a scary thing.
2021-02-08 18:37:20 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
2021-02-08 18:37:49 +0100millerti(~millerti@2603-7081-5c02-f029-d4ff-3cac-8f90-d705.res6.spectrum.com)
2021-02-08 18:38:55 +0100conal(~conal@64.71.133.70)
2021-02-08 18:39:44 +0100rajivr(uid269651@gateway/web/irccloud.com/x-eyjwbqpxvlfcaznf) (Quit: Connection closed for inactivity)
2021-02-08 18:39:45 +0100 <ephemient> at my work we have a few test databases, one of which is a scrubbed (no real passwords etc) copy of our production db
2021-02-08 18:40:02 +0100 <merijn> kuribas: Get better coworkers? :p
2021-02-08 18:40:16 +0100 <ephemient> basically no reason to ever touch the prod db from dev
2021-02-08 18:40:45 +0100 <kuribas> merijn: I am not sure, these are like a hundred times better than the ones I had before.
2021-02-08 18:40:57 +0100hiroaki(~hiroaki@2a02:908:4b18:8c40::b730)
2021-02-08 18:41:00 +0100notzmv(~user@unaffiliated/zmv) (Read error: Connection reset by peer)
2021-02-08 18:41:29 +0100 <kuribas> merijn: and the three new guys have already shown interest in learning haskell and static types :)
2021-02-08 18:41:34 +0100zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2021-02-08 18:41:49 +0100DTZUZU(~DTZUZU@205.ip-149-56-132.net)
2021-02-08 18:43:12 +0100 <ephemient> I have worked with ops people that don't want to compile any changes though
2021-02-08 18:43:39 +0100 <kuribas> ephemient: why would ops people have to compile changes?
2021-02-08 18:43:52 +0100zaquest(~notzaques@5.128.210.178)
2021-02-08 18:43:56 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-02-08 18:45:40 +0100 <kuribas> ephemient: yeah, a DB replica would be safer.
2021-02-08 18:46:05 +0100 <maerwald> you teaching haskell to others again?
2021-02-08 18:46:05 +0100 <ephemient> when I was at twitter (a while ago so things may have changed), if you wanted to change flags (like limits, or name of backend service, etc)... most of them would be source changes
2021-02-08 18:46:28 +0100 <kuribas> maerwald: hell yes :)
2021-02-08 18:46:33 +0100 <maerwald> how dare you
2021-02-08 18:47:16 +0100 <kuribas> ephemient: that sounds pretty bad
2021-02-08 18:47:43 +0100 <ephemient> I really don't know why, they certainly had a lot of ex-googlers who were accustomed to a system where almost all flags could be tweaked at runtime or on the command line
2021-02-08 18:48:06 +0100 <maerwald> kuribas: the rationale is probably to improve deployment time etc so that everyone stops caring about that
2021-02-08 18:48:24 +0100 <maerwald> and if deployment time is quick, agile isn't far
2021-02-08 18:48:54 +0100 <kuribas> maerwald: yeah, so don't make a build that has to fetch ghc and compile all dependencies in a docker image :)
2021-02-08 18:49:39 +0100 <kuribas> maerwald: if dependencies are cached, how long does it take, maybe 2 minutes at most for a big service?
2021-02-08 18:49:41 +0100raichoo(~raichoo@94.31.87.253)
2021-02-08 18:49:45 +0100 <merijn> kuribas: pffft, knowing what you're doing is overrated
2021-02-08 18:49:52 +0100 <merijn> kuribas: It Depends
2021-02-08 18:50:00 +0100 <merijn> GHC is kinda slow for full rebuilds
2021-02-08 18:50:32 +0100 <maerwald> kuribas: the biggest service I've worked with was 310 modules, with a lot of TH. I think it was almost 10 minutes with cached deps
2021-02-08 18:50:37 +0100 <merijn> kuribas: I think it's ~7-10 minutes for a full rebuild of my codebase.
2021-02-08 18:50:59 +0100 <maerwald> (on a big amazon 64 gb ram instance)
2021-02-08 18:51:11 +0100 <kuribas> that's still fine IMO. I can do incremental development using ghci.
2021-02-08 18:51:25 +0100 <merijn> kuribas: ghcide is pretty snappy during work
2021-02-08 18:51:27 +0100 <sm[m]> ha! For once we're more on the ball than the rusties! :) https://foundation.rust-lang.org/posts/2021-02-08-hello-world/
2021-02-08 18:51:59 +0100raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.0)
2021-02-08 18:54:08 +0100usr25(~usr25@unaffiliated/usr25) (Quit: Leaving)
2021-02-08 18:54:22 +0100oish(~charlie@228.25.169.217.in-addr.arpa)
2021-02-08 18:54:26 +0100dyeplexer(~lol@unaffiliated/terpin) (Remote host closed the connection)
2021-02-08 18:54:32 +0100 <kuribas> couldn't you cache intermediate files?
2021-02-08 18:54:49 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-02-08 18:55:00 +0100 <topos> dcoutts_: did you get my messages?
2021-02-08 18:55:04 +0100notzmv(~user@unaffiliated/zmv)
2021-02-08 18:55:32 +0100zaquest(~notzaques@5.128.210.178) (Ping timeout: 260 seconds)
2021-02-08 18:55:50 +0100 <kuribas> merijn: or put functionality in modules, so you don't recompile the whole thing?
2021-02-08 18:56:42 +0100 <merijn> kuribas: I have something like 120 already :p
2021-02-08 18:57:03 +0100 <merijn> kuribas: there's no real per-module parallelism while compiling packages, sadly
2021-02-08 18:57:08 +0100 <merijn> anyhoo, dinner
2021-02-08 18:57:16 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-08 18:58:36 +0100 <kuribas> merijn: --jobs ?
2021-02-08 19:00:19 +0100 <maerwald> kuribas: that still has module dependency order
2021-02-08 19:02:11 +0100ozkutuk(~ozkutuk@176.240.173.98)
2021-02-08 19:02:42 +0100geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-02-08 19:02:53 +0100gtc(~gtc@r167-57-163-33.dialup.adsl.anteldata.net.uy)
2021-02-08 19:03:49 +0100nineonine(~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 258 seconds)
2021-02-08 19:05:58 +0100nineonine(~nineonine@50.216.62.2)
2021-02-08 19:08:56 +0100locrian9(~mike@99-153-255-194.lightspeed.irvnca.sbcglobal.net) (Quit: leaving)
2021-02-08 19:11:03 +0100 <kuribas> maerwald: but you can have parallel dependencies?
2021-02-08 19:11:45 +0100kuribas(~user@ptr-25vy0i9i7x61k8qe1vt.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-02-08 19:13:31 +0100chele(~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2021-02-08 19:14:56 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-02-08 19:17:45 +0100geekosaur(82650c7a@130.101.12.122)
2021-02-08 19:18:51 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-02-08 19:19:13 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-08 19:19:39 +0100boxscape(4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243)
2021-02-08 19:20:01 +0100boxscape(4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243) (Client Quit)
2021-02-08 19:20:18 +0100boxscape(4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243)
2021-02-08 19:20:21 +0100fendor_fendor
2021-02-08 19:21:40 +0100Deide(~Deide@217.155.19.23)
2021-02-08 19:24:18 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds)
2021-02-08 19:24:51 +0100nicecoats(~nicecoats@h235.145.88.75.dynamic.ip.windstream.net)
2021-02-08 19:25:14 +0100hamishmack(sid389057@gateway/web/irccloud.com/x-omowyoexdyukmgsx) (Ping timeout: 264 seconds)
2021-02-08 19:25:27 +0100mpickering(sid78412@gateway/web/irccloud.com/x-qgejcizurvqowneo) (Ping timeout: 272 seconds)
2021-02-08 19:25:36 +0100PoliticsII______(sid193551@gateway/web/irccloud.com/x-xxkinkuyzommvspo) (Ping timeout: 256 seconds)
2021-02-08 19:25:41 +0100edwinb(sid69486@gateway/web/irccloud.com/x-zepxnskltxjgkrvz) (Read error: Connection reset by peer)
2021-02-08 19:25:45 +0100affinespaces(sid327561@gateway/web/irccloud.com/x-rjelqtkbztbdaijy) (Read error: Connection reset by peer)
2021-02-08 19:25:49 +0100Tritlo(sid58727@gateway/web/irccloud.com/x-xvsyohflimbinvei) (Read error: Connection reset by peer)
2021-02-08 19:25:49 +0100SanchayanMaity(sid478177@gateway/web/irccloud.com/x-qkmtsdrcybesfiqw) (Read error: Connection reset by peer)
2021-02-08 19:25:49 +0100nick_h(sid319833@gateway/web/irccloud.com/x-sndbdwnvglpwhajg) (Read error: Connection reset by peer)
2021-02-08 19:25:53 +0100edwinb(sid69486@gateway/web/irccloud.com/x-wuubrztvpsnjnuei)
2021-02-08 19:25:55 +0100dmj`(sid72307@gateway/web/irccloud.com/x-muugxjxezwgxhpwp) (Read error: Connection reset by peer)
2021-02-08 19:25:56 +0100hamishmack(sid389057@gateway/web/irccloud.com/x-qlqfspwjizfnonak)
2021-02-08 19:26:01 +0100PoliticsII______(sid193551@gateway/web/irccloud.com/x-fxhaiatgclungiqp)
2021-02-08 19:26:07 +0100nick_h(sid319833@gateway/web/irccloud.com/x-atuwgaabpofalart)
2021-02-08 19:26:07 +0100SanchayanMaity(sid478177@gateway/web/irccloud.com/x-msjuulylbdlmdffr)
2021-02-08 19:26:09 +0100Tritlo(sid58727@gateway/web/irccloud.com/x-jeeiupynltcnjasv)
2021-02-08 19:26:14 +0100affinespaces(sid327561@gateway/web/irccloud.com/x-wbdcwgjqxceequcr)
2021-02-08 19:26:16 +0100mpickering(sid78412@gateway/web/irccloud.com/x-xelwhybptughywoo)
2021-02-08 19:26:17 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-08 19:26:18 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-02-08 19:26:32 +0100 <Uniaika> shapr, gwern: ping. Where can I find a dump of the wiki's database? I'd like to have a better approach at rejuvenating the wiki
2021-02-08 19:26:46 +0100 <Uniaika> (which means I'm not going to burn it to the ground)
2021-02-08 19:27:00 +0100dmj`(sid72307@gateway/web/irccloud.com/x-aqmrvywgtdyaqozj)
2021-02-08 19:27:05 +0100 <maerwald> haskell wiki?
2021-02-08 19:27:20 +0100 <Uniaika> maerwald: yes
2021-02-08 19:27:25 +0100 <ski> (or hawiki ?)
2021-02-08 19:27:39 +0100 <maerwald> kind of a failed project imo
2021-02-08 19:28:11 +0100 <maerwald> you can't even register without sending an email, like in the 80s
2021-02-08 19:28:29 +0100 <Uniaika> maerwald: yes, we talked about that on saturday
2021-02-08 19:28:38 +0100 <Uniaika> even I couldn't get an account
2021-02-08 19:29:23 +0100zaquest(~notzaques@5.128.210.178)
2021-02-08 19:30:54 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2021-02-08 19:33:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-02-08 19:35:08 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-08 19:39:17 +0100millerti(~millerti@2603-7081-5c02-f029-d4ff-3cac-8f90-d705.res6.spectrum.com) (Ping timeout: 260 seconds)
2021-02-08 19:40:20 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-02-08 19:40:42 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-08 19:42:55 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-02-08 19:46:41 +0100 <sm[m]> it more or less has to be git-backed nowadays, like gitit, right ?
2021-02-08 19:50:09 +0100frozenErebus(~frozenEre@94.128.81.133) (Ping timeout: 246 seconds)
2021-02-08 19:50:38 +0100 <ph88> does anyone know a good method to print haskell source code ? i would like to generat a bunch of code based on a json file
2021-02-08 19:50:49 +0100albert(~albert_42@2a02:8108:1100:16d8:304b:70e8:9deb:a56a) (Remote host closed the connection)
2021-02-08 19:51:11 +0100 <sm[m]> man, that's a tough one
2021-02-08 19:51:15 +0100albert(~albert_42@2a02:8108:1100:16d8:304b:70e8:9deb:a56a)
2021-02-08 19:51:31 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-08 19:51:48 +0100sm[m]has tried many times
2021-02-08 19:52:05 +0100cole-h_(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-02-08 19:52:07 +0100 <sm[m]> oh I misunderstood. I thought you meant print.
2021-02-08 19:52:22 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 19:55:05 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2021-02-08 19:55:27 +0100 <ph88> print / write to file ... how should i call it ? :D
2021-02-08 19:55:31 +0100 <shapr> Uniaika: I don't know, and I've lost track of who's currently a wiki admin
2021-02-08 19:55:51 +0100albert(~albert_42@2a02:8108:1100:16d8:304b:70e8:9deb:a56a) (Ping timeout: 272 seconds)
2021-02-08 19:56:05 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2021-02-08 19:56:20 +0100 <sm[m]> ph88: it's fine, or you could say pretty-print or generate
2021-02-08 19:56:43 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds)
2021-02-08 19:56:43 +0100dolio(~dolio@haskell/developer/dolio) (Ping timeout: 256 seconds)
2021-02-08 19:57:13 +0100 <Uniaika> shapr: thanks :)
2021-02-08 19:58:04 +0100 <geekosaur> https://wiki.haskell.org/Special:Export ?
2021-02-08 19:58:13 +0100djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Quit: #proglangdesign)
2021-02-08 19:58:25 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-02-08 19:58:39 +0100geekosaurwonders what pandoc would do with the XML wrapper it apparently adds
2021-02-08 19:58:51 +0100gedda(~gedda@185.195.233.164)
2021-02-08 19:58:51 +0100djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54)
2021-02-08 19:59:17 +0100gwern(~gwern@wikipedia/Gwern) (Quit: https://www.gwern.net)
2021-02-08 20:00:27 +0100 <Uniaika> geekosaur: oh, nice finding
2021-02-08 20:00:43 +0100 <Uniaika> although I'd rather have an SQL dump directly
2021-02-08 20:00:51 +0100 <gedda> given: haskell sed
2021-02-08 20:00:53 +0100 <gedda> oops
2021-02-08 20:01:04 +0100 <gedda> given: data Year n = forall d. (KnownNat n, KnownNat d) => Year { days :: [Day d] }
2021-02-08 20:01:05 +0100 <geekosaur> suspect you're not getting that without access to the backend
2021-02-08 20:01:17 +0100 <gedda> can i constrain d to any Nat? and not just the same?
2021-02-08 20:01:28 +0100 <gedda> or do I need to construct a type level list?
2021-02-08 20:02:35 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
2021-02-08 20:02:44 +0100 <ski> "can i constrain d to any Nat?" -- isn't that what you just did ?
2021-02-08 20:03:00 +0100 <ski> (dunno what you mean by "and not just the same?")
2021-02-08 20:03:06 +0100 <Uniaika> geekosaur: we own the damn backend, it shouldn't be so dificult to have that :P
2021-02-08 20:03:24 +0100 <gedda> ski: GHC complains on [Day 1, Day 2] since 1 != 2
2021-02-08 20:03:29 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2021-02-08 20:03:32 +0100berberman(~berberman@unaffiliated/berberman)
2021-02-08 20:03:38 +0100skihas no idea how `Day' is defined
2021-02-08 20:04:10 +0100 <gedda> essentially data Day d = KnownNat d => Day
2021-02-08 20:04:22 +0100berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
2021-02-08 20:04:36 +0100 <ski> hm, then `[Day 1,Day 2]' is a type error, since the data constructor `Day' takes no arguments
2021-02-08 20:05:39 +0100 <gedda> Hmm, so the constructor should take d aswell? I'll give it a go
2021-02-08 20:05:51 +0100 <ski> i've no idea what you mean to express
2021-02-08 20:06:21 +0100 <ski> i'm just saying that `[Day 1,Day 2]' can't possibly work, since `Day' is not a function. `[Day,Day]' could work, though
2021-02-08 20:06:28 +0100 <sm[m]> Uniaika: when the time comes, I see also https://www.mediawiki.org/wiki/Manual:DumpBackup.php
2021-02-08 20:07:07 +0100gallo36(d5e10748@213-225-7-72.nat.highway.a1.net)
2021-02-08 20:07:08 +0100 <sm[m]> and a xml to markdown converter mentioned at https://www.rubberduckdev.com/mediawiki-to-md/
2021-02-08 20:07:14 +0100 <gedda> ski: sorry for the confusion, this is how the actual list looks like: [day01 :: Day 1, day02 :: Day 2, ... ] :: Year 2020
2021-02-08 20:07:18 +0100 <Uniaika> sm[m]: yep'
2021-02-08 20:07:36 +0100 <Uniaika> although if we use Wiki.js (https://js.wiki) we may have WikiText support
2021-02-08 20:07:37 +0100 <ski> (and i dunno what you mean by the "since 1 != 2" part. `[Day 1,Day 2]' clearly must error out, since `Day' is not a data constructor that accepts arguments, given what you said)
2021-02-08 20:07:38 +0100 <sm[m]> but as I say that, I know there must be a better conversion tool.
2021-02-08 20:07:39 +0100hololeap(~hololeap@unaffiliated/hololeap)
2021-02-08 20:07:45 +0100dolio(~dolio@haskell/developer/dolio)
2021-02-08 20:08:03 +0100conal(~conal@64.71.133.70) (Ping timeout: 256 seconds)
2021-02-08 20:08:14 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
2021-02-08 20:08:22 +0100 <ski> gedda : ooh, `Day 1' and `Day 2' were meant as *types* .. no wonder i got confused, since you presented them as values
2021-02-08 20:08:26 +0100 <gedda> ski, The error ir couldn't match type 1 with 2, Expected type: Day 1, Actual type: Day 2
2021-02-08 20:08:30 +0100 <gedda> yeah that was my bad!
2021-02-08 20:08:40 +0100 <gedda> is*
2021-02-08 20:08:59 +0100 <ski> (this is also, imho, another point in favor of never naming the data constructor the same as the type constructor)
2021-02-08 20:09:35 +0100 <gedda> ski, very true, in my code i dont export the constructor directly which avoids the confusion (kinda)
2021-02-08 20:10:24 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-02-08 20:10:28 +0100 <gedda> Now the error is reasonable, and fully expected given KnownNat d => [Day d], the question is how to allow d to be any Nat and not just the same Nat
2021-02-08 20:10:35 +0100 <ski> gedda : ok, so it seems you want `Year n' to express `KnownNat n *> [exists d. KnownNat d *> Day d]', rather than `exists d. (KnownNat n,KnownNat d) *> Day d]', then
2021-02-08 20:11:06 +0100Tario(~Tario@201.192.165.173)
2021-02-08 20:11:17 +0100gallo36(d5e10748@213-225-7-72.nat.highway.a1.net) ()
2021-02-08 20:11:20 +0100 <gedda> what does "*>" mean in this case? not the applicative *> i presume?
2021-02-08 20:11:21 +0100 <ski> "given KnownNat d => [Day d]" -- you are not given `KnownNat d => [Day d]'
2021-02-08 20:11:25 +0100 <ski> no
2021-02-08 20:11:57 +0100 <ski> (probably you meant : givrn a `[Day d]', where `KnownNat d' is known to hold)
2021-02-08 20:12:08 +0100 <gedda> exactly
2021-02-08 20:12:13 +0100 <ski> (or, for short : .. with the constraint `KnownNat d')
2021-02-08 20:12:21 +0100 <gedda> is it possible to move the quantifier inside the list?
2021-02-08 20:12:21 +0100 <ski> (these things are not at all the same thing)
2021-02-08 20:12:22 +0100 <gedda> I'll try
2021-02-08 20:12:30 +0100conal(~conal@66.115.157.138)
2021-02-08 20:12:42 +0100 <dmj`> If I want to find the cubed root of a `Floating a => a` I could do (\x -> x ** (1/3)), how would I find the cubed root of a `Rational` ?
2021-02-08 20:13:13 +0100cole-h_cole-h
2021-02-08 20:13:13 +0100codolio(~dolio@haskell/developer/dolio)
2021-02-08 20:13:42 +0100dolio(~dolio@haskell/developer/dolio) (Ping timeout: 272 seconds)
2021-02-08 20:13:46 +0100sdrodge(~sdrodge@unaffiliated/sdrodge)
2021-02-08 20:14:06 +0100 <dmj`> it doesn't seem possible because `(^)` assumes the power is an Integral
2021-02-08 20:14:30 +0100 <ski> gedda : a value of type `Cxt => T' is a value such that if the user/caller/consumer can supply evidence of the constraint `Cxt', then they may use the value as having type `T'. when the implementor/callee/producer constructs such a value, they may freely take the constraint `Cxt' for granted (that is, assuming evidence of it will be provided), and then has to construct a value of type `T'
2021-02-08 20:14:32 +0100 <ephemient> it also doesn't seem possible because the result isn't Rational
2021-02-08 20:14:58 +0100codoliodolio
2021-02-08 20:15:42 +0100geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-02-08 20:15:45 +0100 <ephemient> if you know that the input is a perfect cube, I suppose you could use newton's method
2021-02-08 20:16:00 +0100 <ski> gedda : otoh, a value of type `Cxt *> T' is a value such that the user/caller/consumer is *provided* both with evidence for the constraint `Cxt', *and* a value of type `T'. and when the implementor/callee/producer constructs such a value, they have to both give evidence of `Cxt', and construct a value of type `T'
2021-02-08 20:17:22 +0100 <ski> gedda : the difference between `Cxt => T' and `Cxt *> T' is similar to the difference between `T -> U' and `(T,U)', and also analogous to the difference between `forall a. ..a..' and `exists a. ..a..'
2021-02-08 20:17:49 +0100 <dmj`> ephemient: sadly it won't be a perfect cube
2021-02-08 20:18:08 +0100 <dmj`> ephemient: was thinking newton raphson with a convergence function at some threshold defined in terms of `Rational`
2021-02-08 20:18:18 +0100 <ephemient> dmj`: then why not convert to a floating first? that's what you're going to end up with anyway
2021-02-08 20:18:31 +0100 <ski> then it seems you'd have to convert to a type that can represent irrationals
2021-02-08 20:19:09 +0100 <gedda> ski, Oh right. I think i understand. Essentially moving the "burden of proof" from the caller to the producer?
2021-02-08 20:19:34 +0100Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com)
2021-02-08 20:19:50 +0100 <ski> (also, "I want to find the cubed root of a `Floating a => a`" is another example of what i said eight minutes ago. most probably dmj` did not mean they're given a value of that type, but rather given a value of type `a', where `Floating a' is known to hold ..)
2021-02-08 20:20:02 +0100albert(~albert_42@2a02:8108:1100:16d8:304b:70e8:9deb:a56a)
2021-02-08 20:20:26 +0100vektor(b9bd8f01@185.189.143.1) (Quit: Ping timeout (120 seconds))
2021-02-08 20:20:30 +0100Nahra(~Nahra@unaffiliated/nahra) (Quit: leaving)
2021-02-08 20:20:45 +0100dolio(~dolio@haskell/developer/dolio) (Ping timeout: 240 seconds)
2021-02-08 20:20:56 +0100 <ski> gedda : yes, exactly. the difference between `forall a. ..a..' and `exists a. ..a..' is who (user/caller/consumer vs. implementor/callee/producer) gets to pick a specific type to use in place of `a', and who must be prepared to handle any choice
2021-02-08 20:20:57 +0100 <dmj`> ski: ah, must have missed that
2021-02-08 20:21:35 +0100 <gedda> ski, but is it possible to represent [exists d. KnownNat d *> Day d] in any reasonable way? Or should I resort to a type-level list instead?
2021-02-08 20:21:46 +0100 <ski> and similarly, the difference between `Cxt => T' and `Cxt *> T' is who is to provide the evidence for the constraint, and who can just assume it holds, take it for granted / as given
2021-02-08 20:21:54 +0100 <dmj`> ephemient: I've implemented the formula in terms of Double, but the question about using Rational was raised, and I don't think it's a valid one so.
2021-02-08 20:22:19 +0100 <ski> gedda : you encode the existential in one of the two typical ways you do that
2021-02-08 20:22:39 +0100 <ski> in this case, the "existential data constructor" encoding seems appropriate
2021-02-08 20:23:03 +0100mouseghost(~draco@wikipedia/desperek) (Quit: mew wew)
2021-02-08 20:23:16 +0100 <ski> (i dunno how you were thinking about using a type-level list, so i can't comment on whether that'd work here)
2021-02-08 20:24:04 +0100 <ski> gedda : iow, you make a new datatyoe, `SomeDay' (if you want to, you could parameterize it by `n', i dunno whether that matters for you), which expresses `exists d. KnownNat d *> Day d'
2021-02-08 20:24:30 +0100 <ski> so, `data SomeDay = forall d. KnownNat d *> WrapDay (Day d)'
2021-02-08 20:25:27 +0100 <ski> and then you can say `[WrapDay (MkDay :: Day 1),WrapDay (MkDay :: Day 2)]' (i renamed your data constructor `Day' to `MkDay', for clarity)
2021-02-08 20:25:33 +0100 <boxscape> if goldfire has his way we'll get builtin existential quantification SomeDay
2021-02-08 20:25:45 +0100skigrins
2021-02-08 20:25:56 +0100dolio(~dolio@haskell/developer/dolio)
2021-02-08 20:26:09 +0100 <ski> (oh, and on this topic, `ExistentialQuantification' is a misnomer, imho)
2021-02-08 20:26:09 +0100 <gedda> ski, very clever! is there a language extensions i need for *>?
2021-02-08 20:26:53 +0100lambdabot(~lambdabot@haskell/bot/lambdabot) (Remote host closed the connection)
2021-02-08 20:26:57 +0100 <dmj`> ski: also, I said, "If I want to find the cubed root of a Floating a => a", I did not say, "I want to find the cubed root of a Floating a => a". Big difference.
2021-02-08 20:27:08 +0100 <ski> gedda : no, at least currently, both `exists' and `*> are pseudo-Haskell, not implemented (well, actually i think LHC did support `exists' .. but only in "trivial" places, that is to the left of function arrows)
2021-02-08 20:27:22 +0100lambdabot(~lambdabot@haskell/bot/lambdabot)
2021-02-08 20:28:27 +0100 <ski> gedda : i introduced the `*>' notation, in order to be able to discuss matters such as about in a clearer way, since i think it helps to think about it at this level, before digging into one of the two encodings you currently have to use, in order to actually express existentials (possibly with attached constraints) today
2021-02-08 20:29:26 +0100int-e(~noone@int-e.eu) (Remote host closed the connection)
2021-02-08 20:30:10 +0100int-e(~noone@int-e.eu)
2021-02-08 20:30:26 +0100 <ski> dmj` : well, in either case, it suggests something like `foo :: (Floating a => a) -> ...' (rather than `foo :: Floating a => a -> ...', which is actually what you intended). the only difference is that with the "*If* I want to ...", you're putting that signature in the antecedent of an implication
2021-02-08 20:30:54 +0100srk(~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection)
2021-02-08 20:30:54 +0100hexo(~hexo@gateway/tor-sasl/hexo) (Remote host closed the connection)
2021-02-08 20:31:00 +0100 <shapr> Uniaika: I wrote a tiny tactics demo: https://github.com/shapr/hlsexamples/blob/main/src/Examples.hs#L36 but it hasn't made its way out of that repo into something easily found
2021-02-08 20:31:00 +0100conal(~conal@66.115.157.138) (Quit: Computer has gone to sleep.)
2021-02-08 20:31:02 +0100easbarbosa(~user@2804:1b2:81:b7a5:c6c3:b770:349a:bf5b)
2021-02-08 20:31:08 +0100srk(~sorki@gateway/tor-sasl/sorki)
2021-02-08 20:31:12 +0100hexo(~hexo@gateway/tor-sasl/hexo)
2021-02-08 20:31:15 +0100 <gedda> ski, thanks, much appreciated. I'll have to play around with it a bit to fully grok existentials
2021-02-08 20:31:34 +0100 <ski> (btw, note that `foo :: Floating a => a -> ...', which is parsed as `foo :: Floating a => (a -> ...)' is equivalent to `foo :: (Floating a *> a) -> ...', so this ties into what i was talking about `exists' and `*>' before ..
2021-02-08 20:32:34 +0100 <Uniaika> shapr: <3
2021-02-08 20:32:38 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 20:32:42 +0100nicecoats(~nicecoats@h235.145.88.75.dynamic.ip.windstream.net) (Ping timeout: 272 seconds)
2021-02-08 20:32:57 +0100ystael(~ystael@209.6.50.55) (Ping timeout: 260 seconds)
2021-02-08 20:33:01 +0100 <ski> in fact, *if* we really had `foo :: forall a. Floating a => a -> ...' (parsed as `foo :: forall a. Floating a => (a -> ...)'), then this is equivalent to `foo :: (exists a. Floating a *> a) -> ...' -- *assuming* that `a' was not mentioned in `...'. but in your particular case, i'm led to believe that `a' was actually to be mentioned elsewhere in the type signature)
2021-02-08 20:33:14 +0100 <Uniaika> shapr: how do you enable the tactics plugin? :O
2021-02-08 20:33:31 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-02-08 20:33:41 +0100geekosaur(82650c7a@130.101.12.122)
2021-02-08 20:34:19 +0100 <gedda> ski, hiding the Nat behind a Wrapper worked great!
2021-02-08 20:34:21 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 268 seconds)
2021-02-08 20:34:25 +0100 <shapr> Uniaika: if you don't see any sort of popup on a type hole, and you're using the latest haskell-language-server, I'd look at editor settings for "enabled code lens" and "enable code action"
2021-02-08 20:34:45 +0100 <Uniaika> shapr: nice, thanks
2021-02-08 20:34:48 +0100 <ski> dmj` : anyway .. i was pointing it out, since it seems to me this (saying they have `Blah a => ..a..', when they actually have `..a..', where `Blah a' holds) is a common confusion that people make
2021-02-08 20:34:51 +0100 <shapr> Uniaika: if you want to drop by #haskell-language-server perhaps the authors would have more advice?
2021-02-08 20:35:04 +0100conal(~conal@66.115.157.138)
2021-02-08 20:35:06 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-08 20:35:18 +0100 <ski> gedda : it's somewhat awkward to have to explicitly insert those wrappers .. but it should do the job
2021-02-08 20:35:29 +0100conal(~conal@66.115.157.138) (Client Quit)
2021-02-08 20:36:11 +0100 <dmj`> ski: that's fair
2021-02-08 20:36:12 +0100Darwin226(5fa8768d@95.168.118.141)
2021-02-08 20:36:43 +0100 <Darwin226> Is there a way to specify package flags for my dependencies?
2021-02-08 20:36:49 +0100 <Darwin226> either in the cabal file or stack.yaml
2021-02-08 20:39:45 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2021-02-08 20:40:45 +0100kam1(~kam1@5.126.86.14)
2021-02-08 20:40:57 +0100 <dmj`> ski: to me, if I say, I have a `Floating a => a` that means I have a value that is an instance of `Floating`, shouldn't be interpreted in the context of a function necessarily
2021-02-08 20:41:49 +0100 <ski> yes. the only problem is that is not what the type `Floating a => a' means
2021-02-08 20:42:30 +0100kam1(~kam1@5.126.86.14) (Read error: Connection reset by peer)
2021-02-08 20:42:36 +0100 <ski> it means that you have a value where, if the *user* of that value supplies evidence for the constraint `Floating a', *then* you'll be able to compute an `a' for them
2021-02-08 20:43:05 +0100 <ski> it does not mean that you already have evidence for `Floating a'
2021-02-08 20:43:32 +0100 <ski> @type pi
2021-02-08 20:43:33 +0100 <lambdabot> Floating a => a
2021-02-08 20:43:35 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-02-08 20:44:16 +0100conal(~conal@64.71.133.70)
2021-02-08 20:44:40 +0100 <ski> this is a *generic* value, which can become a particular number, for *any* type `a', *provided* the *user* can give evidence that `a' is an instance of `Floating'
2021-02-08 20:44:51 +0100deviantfero(~deviantfe@190.150.27.58)
2021-02-08 20:46:11 +0100 <boxscape> would it be fair to say that if you could write `Floating a -> a`, that would be to `Floating a => a` as `(Floating a, a)` would be to `Floating a *> a`?
2021-02-08 20:46:25 +0100 <ski> yes, exactly
2021-02-08 20:46:28 +0100 <boxscape> okay
2021-02-08 20:46:32 +0100 <dmj`> should've just said Double lol
2021-02-08 20:46:56 +0100conal(~conal@64.71.133.70) (Client Quit)
2021-02-08 20:46:57 +0100acidjnk_new(~acidjnk@p200300d0c722c41468be75153f6b13af.dip0.t-ipconnect.de)
2021-02-08 20:47:18 +0100 <ski> boxscape : which is how the dictionary-passing implementation of all this works
2021-02-08 20:47:23 +0100 <fendor> Darwin226, yeah, you can specify flas in cabal.project
2021-02-08 20:47:26 +0100 <boxscape> right, makes sense
2021-02-08 20:48:00 +0100 <merijn> Darwin226: Not really, because that shouldn't be necessary
2021-02-08 20:48:14 +0100 <merijn> Of course, everyone abuses flags for unintended things and then it becomes necessary >.>
2021-02-08 20:48:51 +0100 <merijn> fendor: You can't in the cabal file, though, and presumably since he asks "cabal file or stack.yaml" he's using stack :)
2021-02-08 20:49:20 +0100 <fendor> merijn, ok, indeed), but then you can specify it in stack.yaml, right?
2021-02-08 20:49:34 +0100 <merijn> Possibly, I don't use stack :p
2021-02-08 20:49:44 +0100 <fendor> I think you can do it in stack.yaml
2021-02-08 20:50:04 +0100 <Darwin226> Yep, turns out you can in stack.yaml
2021-02-08 20:50:17 +0100 <Darwin226> so what exactly are the flags supposed to be used for?
2021-02-08 20:50:44 +0100knupfer(~Thunderbi@200116b82c266900197db46b2ab67805.dip.versatel-1u1.de) (Remote host closed the connection)
2021-02-08 20:50:53 +0100knupfer(~Thunderbi@200116b82c2669005851f531beef7be3.dip.versatel-1u1.de)
2021-02-08 20:52:52 +0100 <merijn> Darwin226: Switching between "the base 3 dependencies" and "base 4" (as they were used in some package during the old base transition), or things like network-uri being moved out of base and then having a flag to depend on either "network + network-uri" or "only network"
2021-02-08 20:53:15 +0100 <merijn> Darwin226: With the idea that cabal will toggle flags on and off automatically until it finds a workable build plan
2021-02-08 20:53:44 +0100 <Darwin226> Does cabal actually do that?
2021-02-08 20:53:58 +0100 <merijn> Darwin226: But then people started "conditionally enabling features" using them, which led to the addition of "manual" flags which aren't auto toggled and now there's a bunch of flags that "conditionally expose features depending on flags" which you cannot depend on
2021-02-08 20:54:02 +0100 <merijn> Darwin226: Yes
2021-02-08 20:54:08 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-02-08 20:54:23 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 20:54:28 +0100 <merijn> Darwin226: Unless you set your flags to manual to stop that, which was added later to appease people misusing the feature
2021-02-08 20:54:42 +0100 <merijn> imho that was a mistake that only encouraged more people to use flags
2021-02-08 20:54:44 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-02-08 20:55:08 +0100raichoo(~raichoo@94.31.87.253) (Quit: Lost terminal)
2021-02-08 20:55:10 +0100 <Darwin226> Well in this case regex-posix wouldn't build on windows until I manually enabled a flag
2021-02-08 20:55:24 +0100 <Darwin226> even though it says "automatic" on it
2021-02-08 20:55:24 +0100 <merijn> The fact that you can't specify flags is/was intentional to stop people from having flags that conditionally change the exposed API
2021-02-08 20:55:44 +0100 <merijn> Darwin226: Well, cabal has to detect the build-plan doesn't work
2021-02-08 20:55:55 +0100 <merijn> Darwin226: Did it start building, but fail while building?
2021-02-08 20:56:08 +0100conal(~conal@64.71.133.70)
2021-02-08 20:56:48 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2021-02-08 20:56:59 +0100 <Darwin226> Sort of. It failed in the preprocessing step
2021-02-08 20:57:14 +0100 <merijn> Darwin226: That's already too late
2021-02-08 20:57:35 +0100conal(~conal@64.71.133.70) (Client Quit)
2021-02-08 20:58:30 +0100 <merijn> ah
2021-02-08 20:58:35 +0100 <merijn> It's supposed to hit " if os(windows)"
2021-02-08 20:58:36 +0100 <merijn> build-depends: base<0
2021-02-08 20:58:49 +0100 <merijn> And then become unbuildable and toggle the flag
2021-02-08 20:58:54 +0100 <merijn> But clearly that's not working then
2021-02-08 20:59:47 +0100vukv(~Thunderbi@79-101-172-139.dynamic.isp.telekom.rs)
2021-02-08 21:01:03 +0100 <__minoru__shirae> gedda: can you post a snippet of a working version?
2021-02-08 21:01:16 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 240 seconds)
2021-02-08 21:01:45 +0100ixaxaar(~ixaxaar@49.207.210.215) (Ping timeout: 240 seconds)
2021-02-08 21:02:58 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2021-02-08 21:06:59 +0100vukv(~Thunderbi@79-101-172-139.dynamic.isp.telekom.rs) ()
2021-02-08 21:07:08 +0100Anandamide(49a90352@c-73-169-3-82.hsd1.co.comcast.net) (Quit: Connection closed)
2021-02-08 21:07:15 +0100bwe(~bwe@unaffiliated/bwe) (Quit: leaving)
2021-02-08 21:07:54 +0100 <shapr> Uniaika: what editor are you using? Did you install hls through ghcup?
2021-02-08 21:08:06 +0100 <Darwin226> merijn: HAH So actually it was my fault in the end
2021-02-08 21:08:16 +0100 <Darwin226> because I have allow-newer set
2021-02-08 21:08:49 +0100 <merijn> Darwin226: hah
2021-02-08 21:09:06 +0100 <merijn> Darwin226: And this is why we got ^>= now :p
2021-02-08 21:09:14 +0100 <Uniaika> shapr: neovim + coc.nvim, and yep'
2021-02-08 21:12:38 +0100bwe(~bwe@unaffiliated/bwe)
2021-02-08 21:13:29 +0100 <gedda> __minoru__shirae, sure
2021-02-08 21:14:37 +0100 <merijn> Darwin226: You're better off relaxing a more limited scoped of packages than just allow-newer without argument
2021-02-08 21:14:41 +0100jamm_(~jamm@unaffiliated/jamm)
2021-02-08 21:15:21 +0100 <shapr> Uniaika: Ah, I don't use vim. Maybe ask on #haskell-language-server if you're not already in too many channels?
2021-02-08 21:15:45 +0100 <Darwin226> sure but honestly when I'm trying to build an older project and there's hundreds of dependencies, the choice is usually: to the bad thing or give up
2021-02-08 21:16:39 +0100gtc(~gtc@r167-57-163-33.dialup.adsl.anteldata.net.uy) (Quit: Leaving)
2021-02-08 21:17:01 +0100 <gedda> __minoru__shirae, https://termbin.com/6bzl
2021-02-08 21:17:21 +0100 <gedda> and then define the list as y2020 :: Year 2020 etc
2021-02-08 21:18:05 +0100 <gedda> requires ScopedTypeVariables
2021-02-08 21:18:34 +0100Lycurgus(~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Quit: Exeunt)
2021-02-08 21:19:37 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
2021-02-08 21:20:39 +0100 <gedda> Ideally I would like to instead of wrapping the days and hiding Nat behind Someday, something like this `KnownNats ns => Days ns`
2021-02-08 21:20:48 +0100 <gedda> but thats for another day
2021-02-08 21:21:34 +0100epicte7us(~epictetus@ip72-194-215-136.sb.sd.cox.net)
2021-02-08 21:22:37 +0100 <merijn> Darwin226: You can do far more fine-grained selections in cabal.project, though
2021-02-08 21:22:51 +0100 <merijn> Darwin226: Like "relax all dependencies of X, except Y" etc.
2021-02-08 21:23:00 +0100 <merijn> Darwin226: https://cabal.readthedocs.io/en/latest/cabal-project.html#cfg-field-allow-newer
2021-02-08 21:23:17 +0100 <Darwin226> Hmm, that's pretty good
2021-02-08 21:24:42 +0100 <tomsmeding> gedda: I believe you can get your KnownNats and Days with some GADTs
2021-02-08 21:24:44 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving)
2021-02-08 21:25:09 +0100ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net) (Ping timeout: 272 seconds)
2021-02-08 21:26:52 +0100conal(~conal@64.71.133.70)
2021-02-08 21:26:52 +0100conal(~conal@64.71.133.70) (Client Quit)
2021-02-08 21:27:18 +0100conal(~conal@64.71.133.70)
2021-02-08 21:28:38 +0100 <gedda> tomsmeding, Good catch, GADTs would probably a bit more clean yes, I'll give it a go later
2021-02-08 21:29:21 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 264 seconds)
2021-02-08 21:31:10 +0100 <tomsmeding> gedda: yeah if you can live with the KnownNat constraint being embedded in the definition of Days, it's a simple GADT
2021-02-08 21:31:22 +0100 <tomsmeding> haven't managed to separate KnownNats and Days yet
2021-02-08 21:31:45 +0100conal(~conal@64.71.133.70) (Ping timeout: 264 seconds)
2021-02-08 21:31:48 +0100 <tomsmeding> gedda: https://paste.tomsmeding.com/nsNYi5yi
2021-02-08 21:32:03 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483) (Remote host closed the connection)
2021-02-08 21:32:17 +0100 <tomsmeding> the DataKinds is only to be able to write '[] and ': , you could just as well use [] and (,) in their stead if you want and avoid DataKinds
2021-02-08 21:32:20 +0100usr25(~usr25@unaffiliated/usr25)
2021-02-08 21:32:22 +0100 <merijn> Darwin226: Almost like someone thought of that sorta use case ;)
2021-02-08 21:33:50 +0100 <boxscape> in the paper https://lirias.kuleuven.be/retrieve/519822 in the typing rules (and elsewhere), there are a lot of terms with an overbar. Is that just to indicate precedence (instead of parentheses)?
2021-02-08 21:34:06 +0100 <tomsmeding> gedda: oh and the import is useless lol
2021-02-08 21:34:25 +0100 <tomsmeding> boxscape: "list of"?
2021-02-08 21:34:42 +0100 <boxscape> tomsmeding ah, that could be
2021-02-08 21:34:56 +0100 <tomsmeding> "Consider a class C \overline{a} with superclasseS \overline{C_{super}} and methodS \overline{m} ..."
2021-02-08 21:35:11 +0100 <tomsmeding> that's what overline generally means in rules like that
2021-02-08 21:35:27 +0100 <boxscape> oh guess I should have read that paragraph huh
2021-02-08 21:35:29 +0100 <boxscape> thanks :)
2021-02-08 21:36:13 +0100puke(~vroom@217.138.252.197) (Remote host closed the connection)
2021-02-08 21:36:20 +0100 <tomsmeding> overlines for repetition works as long as it's clear whether those repetitions are independent or linked
2021-02-08 21:36:29 +0100 <boxscape> I see
2021-02-08 21:36:32 +0100 <tomsmeding> that gets murky quickly :p
2021-02-08 21:36:35 +0100puke(~vroom@217.138.252.197)
2021-02-08 21:38:05 +0100 <tomsmeding> boxscape: for example, the Top rule at the bottom-right of Fig. 3 in that paper
2021-02-08 21:38:16 +0100Darwin226(5fa8768d@95.168.118.141) (Quit: Connection closed)
2021-02-08 21:38:22 +0100 <tomsmeding> presumably, the \overline{d : C} and the \overline{C}'s are linked
2021-02-08 21:38:49 +0100 <boxscape> hm, yeah, I see
2021-02-08 21:38:53 +0100 <tomsmeding> but also probably, the \overline{\nu} (greek \nu ~= v) is independent
2021-02-08 21:38:54 +0100son0p(~son0p@181.58.39.182)
2021-02-08 21:38:57 +0100 <tomsmeding> :p
2021-02-08 21:39:01 +0100 <boxscape> amazing
2021-02-08 21:39:03 +0100 <tomsmeding> which is written nowhere
2021-02-08 21:39:37 +0100 <boxscape> whenever I read something like this I miss the rigor of theorem proof assistants :)
2021-02-08 21:39:50 +0100 <tomsmeding> hah
2021-02-08 21:40:04 +0100 <tomsmeding> when you read the proof-assistant version you'll miss the readability of this one
2021-02-08 21:40:12 +0100 <boxscape> that's fair :D
2021-02-08 21:40:18 +0100 <tomsmeding> but I agree
2021-02-08 21:40:24 +0100oish(~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 246 seconds)
2021-02-08 21:41:57 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
2021-02-08 21:43:43 +0100cheater1(~user@unaffiliated/cheater)
2021-02-08 21:44:07 +0100acidjnk_new(~acidjnk@p200300d0c722c41468be75153f6b13af.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-02-08 21:45:31 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 256 seconds)
2021-02-08 21:45:37 +0100cheater1cheater
2021-02-08 21:49:39 +0100freakofmimsy(~freakofmi@185.204.1.185) (Remote host closed the connection)
2021-02-08 21:52:37 +0100 <gedda> tomsmeding, many thanks! I'll play around with it
2021-02-08 21:52:42 +0100kupi(uid212005@gateway/web/irccloud.com/x-anfrlvkaiqrcsmmp) (Quit: Connection closed for inactivity)
2021-02-08 21:52:45 +0100shailangsa(~shailangs@host86-186-177-234.range86-186.btcentralplus.com) (Ping timeout: 264 seconds)
2021-02-08 21:54:07 +0100vanaltj1(~vanaltj@185.163.110.108)
2021-02-08 21:54:32 +0100alx741(~alx741@181.196.69.34)
2021-02-08 21:55:46 +0100RusAlex(~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer)
2021-02-08 21:57:16 +0100easbarbosa(~user@2804:1b2:81:b7a5:c6c3:b770:349a:bf5b) (Remote host closed the connection)
2021-02-08 21:57:16 +0100RusAlex(~Chel@unaffiliated/rusalex)
2021-02-08 21:59:04 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2021-02-08 21:59:59 +0100hiroaki(~hiroaki@2a02:908:4b18:8c40::b730) (Ping timeout: 272 seconds)
2021-02-08 22:01:13 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-02-08 22:01:16 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483)
2021-02-08 22:01:57 +0100oisdk(~oisdk@86.40.41.105)
2021-02-08 22:05:48 +0100RusAlex(~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer)
2021-02-08 22:06:57 +0100pera(~pera@unaffiliated/pera) (Quit: leaving)
2021-02-08 22:07:04 +0100son0p(~son0p@181.58.39.182) (Quit: Lost terminal)
2021-02-08 22:07:09 +0100 <koz_> maerwald: Did you manage to figure why 'ghcup compile ghc -v 8.10.4 -b 8.10.3' was blowing up with that autoconf-related thing for me?
2021-02-08 22:07:18 +0100oish(~charlie@185.107.80.85)
2021-02-08 22:07:36 +0100RusAlex(~Chel@unaffiliated/rusalex)
2021-02-08 22:08:09 +0100mozzarella(~sam@unaffiliated/sam113101) (Read error: Connection reset by peer)
2021-02-08 22:10:04 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-02-08 22:10:27 +0100 <maerwald> koz_: no... I just built a alpine 32bit 8.10.4 bindist
2021-02-08 22:10:51 +0100 <koz_> maerwald: I can get you more logs if that'd help?
2021-02-08 22:11:09 +0100 <maerwald> I think the best way is to reproduce it in a docker container
2021-02-08 22:11:35 +0100 <koz_> You think my system autoconf is too new or something?
2021-02-08 22:11:36 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-08 22:11:41 +0100oisdk(~oisdk@86.40.41.105) (Quit: oisdk)
2021-02-08 22:13:41 +0100Shailangsa_(~shailangs@host86-186-133-22.range86-186.btcentralplus.com)
2021-02-08 22:14:15 +0100Feuermagier(~Feuermagi@2a02:2488:4211:3400:246e:bf09:8453:9d6) (Remote host closed the connection)
2021-02-08 22:14:48 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483) (Remote host closed the connection)
2021-02-08 22:14:58 +0100fendor(~fendor@77.119.130.235.wireless.dyn.drei.com) (Remote host closed the connection)
2021-02-08 22:15:20 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-02-08 22:15:36 +0100geekosaur(82650c7a@130.101.12.122)
2021-02-08 22:16:20 +0100fendor(~fendor@77.119.130.235.wireless.dyn.drei.com)
2021-02-08 22:17:24 +0100clog(~nef@bespin.org)
2021-02-08 22:17:49 +0100jathan(~jathan@69.61.93.38)
2021-02-08 22:18:29 +0100 <maerwald> m4 macros are sometimes installed by other system packages
2021-02-08 22:18:44 +0100aarvar(~foewfoiew@2601:602:a080:fa0:f973:917d:fa6c:40a2)
2021-02-08 22:18:47 +0100 <koz_> Ah, so I might be _missing_ something.
2021-02-08 22:19:52 +0100aarvar(~foewfoiew@2601:602:a080:fa0:f973:917d:fa6c:40a2) ()
2021-02-08 22:21:47 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
2021-02-08 22:22:31 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-02-08 22:22:49 +0100oish_(~charlie@185.107.80.85)
2021-02-08 22:25:11 +0100son0p(~son0p@181.136.122.143)
2021-02-08 22:25:20 +0100knupfer(~Thunderbi@200116b82c2669005851f531beef7be3.dip.versatel-1u1.de) (Remote host closed the connection)
2021-02-08 22:25:28 +0100knupfer(~Thunderbi@200116b82c266900bdb43f1727ab7aef.dip.versatel-1u1.de)
2021-02-08 22:25:56 +0100oish(~charlie@185.107.80.85) (Ping timeout: 240 seconds)
2021-02-08 22:27:51 +0100ezrakilty(~ezrakilty@75-172-120-225.tukw.qwest.net)
2021-02-08 22:29:11 +0100ezrakilty(~ezrakilty@75-172-120-225.tukw.qwest.net) (Remote host closed the connection)
2021-02-08 22:29:26 +0100ezrakilty(~ezrakilty@75-172-120-225.tukw.qwest.net)
2021-02-08 22:29:30 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-02-08 22:30:16 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-02-08 22:31:28 +0100oish_(~charlie@185.107.80.85) (Ping timeout: 256 seconds)
2021-02-08 22:33:04 +0100vikid1(~vikid@bba139233.alshamil.net.ae)
2021-02-08 22:33:17 +0100oish(~charlie@185.107.80.85)
2021-02-08 22:33:51 +0100conal(~conal@64.71.133.70)
2021-02-08 22:34:07 +0100conal(~conal@64.71.133.70) (Client Quit)
2021-02-08 22:34:45 +0100boxscape(4ff0baf3@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.243) (Quit: Connection closed)
2021-02-08 22:34:56 +0100j2t(~j2t@84.122.202.215.dyn.user.ono.com) (Ping timeout: 240 seconds)
2021-02-08 22:35:26 +0100djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 264 seconds)
2021-02-08 22:35:36 +0100vikid(~vikid@bba428846.alshamil.net.ae) (Ping timeout: 240 seconds)
2021-02-08 22:36:00 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-02-08 22:37:35 +0100usr25(~usr25@unaffiliated/usr25) (Quit: Leaving)
2021-02-08 22:37:42 +0100oish(~charlie@185.107.80.85) (Ping timeout: 256 seconds)
2021-02-08 22:38:49 +0100conal(~conal@64.71.133.70)
2021-02-08 22:39:41 +0100oish(~charlie@228.25.169.217.in-addr.arpa)
2021-02-08 22:40:43 +0100edge563(~edge563@gateway/tor-sasl/edge563) (Quit: edge563)
2021-02-08 22:42:23 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-02-08 22:43:09 +0100loli(~loli@024-171-017-003.res.spectrum.com) (Quit: WeeChat 3.0)
2021-02-08 22:45:29 +0100ezrakilty(~ezrakilty@75-172-120-225.tukw.qwest.net) (Remote host closed the connection)
2021-02-08 22:46:17 +0100 <tomsmeding> "Pattern match checker ran into -fmax-pmcheck-models=100 limit"
2021-02-08 22:46:20 +0100 <tomsmeding> that's a first!
2021-02-08 22:46:34 +0100loli(~loli@024-171-017-003.res.spectrum.com)
2021-02-08 22:46:46 +0100 <tomsmeding> pattern matching strings is not great apparently :p
2021-02-08 22:46:55 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-02-08 22:47:13 +0100geekosaur(82650c7a@130.101.12.122)
2021-02-08 22:47:31 +0100Guest_93(b2c0e835@53.232.192.178.dynamic.wline.res.cust.swisscom.ch)
2021-02-08 22:50:00 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-02-08 22:51:37 +0100 <EvanR> to select a result depending on a string from a large collection try a trie
2021-02-08 22:51:51 +0100henninb(~henninb@63-228-50-253.mpls.qwest.net)
2021-02-08 22:54:17 +0100Guest_93(b2c0e835@53.232.192.178.dynamic.wline.res.cust.swisscom.ch) (Quit: Ping timeout (120 seconds))
2021-02-08 22:55:12 +0100deviantfero(~deviantfe@190.150.27.58) (Ping timeout: 272 seconds)
2021-02-08 22:56:31 +0100Guest_76(25e4f694@37.228.246.148)
2021-02-08 22:56:57 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
2021-02-08 22:57:32 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-02-08 22:58:13 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-02-08 23:02:23 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt)
2021-02-08 23:04:37 +0100Guest_76(25e4f694@37.228.246.148) (Quit: Ping timeout (120 seconds))
2021-02-08 23:05:36 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-02-08 23:05:36 +0100L29Ah(~L29Ah@unaffiliated/l29ah) (Write error: Connection reset by peer)
2021-02-08 23:05:38 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-02-08 23:07:32 +0100knupfer(~Thunderbi@200116b82c266900bdb43f1727ab7aef.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2021-02-08 23:07:33 +0100conal(~conal@64.71.133.70) (Read error: Connection reset by peer)
2021-02-08 23:09:12 +0100my_name_is_not_jsent a long message: < https://matrix.org/_matrix/media/r0/download/matrix.org/RZNtYQfQyArRcPKcNSUqRWDp/message.txt >
2021-02-08 23:09:20 +0100 <my_name_is_not_j> Does anyone how know how to read it?
2021-02-08 23:09:33 +0100 <my_name_is_not_j> For ~varid~ and ~conid~ I
2021-02-08 23:09:42 +0100 <my_name_is_not_j> * For ~varid~ and ~conid~ I'm not sure what it's saying
2021-02-08 23:10:01 +0100 <my_name_is_not_j> Is <reserveid> just supposed to be a set subtraction? So anything in angle brackets is a set subtraction?
2021-02-08 23:10:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-02-08 23:10:29 +0100 <my_name_is_not_j> Is there documentation that explains this syntax somewhere?
2021-02-08 23:12:47 +0100conal(~conal@64.71.133.70)
2021-02-08 23:12:53 +0100 <int-e> my_name_is_not_j: it's a variant of https://en.wikipedia.org/wiki/Extended_Backus-Naur_form
2021-02-08 23:13:26 +0100 <my_name_is_not_j> * For `varid` and `conid` I'm not sure what it's saying
2021-02-08 23:13:56 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0)
2021-02-08 23:14:05 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2021-02-08 23:14:05 +0100 <my_name_is_not_j> Ah, so is this not Haskell syntax?
2021-02-08 23:14:25 +0100 <int-e> it's a "large" meaning capital letter, followed by zero or more other symbols as listed.
2021-02-08 23:14:27 +0100 <Ferdirand> well it's a formal description of haskell syntax
2021-02-08 23:14:30 +0100 <monochrom> Yes set subtraction.
2021-02-08 23:14:39 +0100 <int-e> indeed it's not haskell syntax
2021-02-08 23:15:00 +0100 <int-e> it *describes* some of haskell's lexemes
2021-02-08 23:15:12 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483)
2021-02-08 23:15:15 +0100 <monochrom> E.g., varid is (small {small | large | digit | ' }) except that anything matching reservedid doesn't count
2021-02-08 23:16:03 +0100 <monochrom> So for example "if" satisfies (small {small | large | digit | ' }) but it also satisfies reservedid, so "if" is not a varid.
2021-02-08 23:16:06 +0100 <my_name_is_not_j> The website I got it from is called "The Haskell 98 Report". Is this a reliable resource, or out of date? (98 makes me think of 1998, so wondering if I should use some other resource for things like these)
2021-02-08 23:16:43 +0100L29Ah(~L29Ah@unaffiliated/l29ah)
2021-02-08 23:16:45 +0100 <my_name_is_not_j> Yep, makes sense
2021-02-08 23:16:50 +0100 <my_name_is_not_j> First time I'm hearing of BNF form, but I have made parsers before lol
2021-02-08 23:17:11 +0100 <yushyin> lol
2021-02-08 23:17:55 +0100 <int-e> yes, it's a reliable source but out of date. https://www.haskell.org/onlinereport/haskell2010/ is more current and still out of date if you plan to use ghc
2021-02-08 23:18:11 +0100 <monochrom> Not surprisingly, people can even create whole programming languages without having ever heard of (or thought of, for that matter) operational semantics or denotational semantics. Just look at tcl, perl, php.
2021-02-08 23:18:34 +0100 <monochrom> This is why parsing perl is undecidable.
2021-02-08 23:18:59 +0100RusAlex(~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer)
2021-02-08 23:19:08 +0100 <my_name_is_not_j> <int-e "yes, it's a reliable source but "> What is the most up to date resource currently?
2021-02-08 23:19:46 +0100hexfive(~hexfive@50.35.83.177)
2021-02-08 23:19:47 +0100heatsink(~heatsink@2600:1700:bef1:5e10:d581:1bcd:84fc:c483) (Ping timeout: 260 seconds)
2021-02-08 23:20:01 +0100 <monochrom> For that, you have to take Haskell 2010 and add all the additions described in the GHC User's Guide.
2021-02-08 23:20:53 +0100RusAlex(~Chel@unaffiliated/rusalex)
2021-02-08 23:21:26 +0100 <tomsmeding> Haskell 2010 _is_ up to date, it's just not _complete_: GHC adds more things
2021-02-08 23:22:15 +0100 <tomsmeding> (I guess ignoring the "known bugs and infelicities" in the GHC user's guide, which are relatively minor in the grand scheme of things)
2021-02-08 23:22:58 +0100 <monochrom> In fact, Haskell 2010 section 2.1 explains those {small | big} notations.
2021-02-08 23:24:17 +0100forgottenone(~forgotten@176.42.26.20) (Quit: Konversation terminated!)
2021-02-08 23:24:51 +0100oisdk(~oisdk@2001:bb6:3329:d100:c8bf:7533:dd0b:697d)
2021-02-08 23:25:54 +0100Shailangsa_(~shailangs@host86-186-133-22.range86-186.btcentralplus.com) ()
2021-02-08 23:26:12 +0100quinn(~quinn@c-73-223-224-163.hsd1.ca.comcast.net)
2021-02-08 23:26:12 +0100kupi(uid212005@gateway/web/irccloud.com/x-lnwjfsxfkmuhgawv)
2021-02-08 23:27:03 +0100ozkutuk(~ozkutuk@176.240.173.98) (Read error: Connection reset by peer)
2021-02-08 23:27:56 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 265 seconds)
2021-02-08 23:28:33 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection)
2021-02-08 23:28:47 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-02-08 23:29:52 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-02-08 23:33:07 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ->)
2021-02-08 23:34:09 +0100henninb(~henninb@63-228-50-253.mpls.qwest.net) (Quit: leaving)
2021-02-08 23:34:30 +0100pengjiz(~user@cmu-secure-128-237-82-1.nat.cmu.net)
2021-02-08 23:35:11 +0100 <my_name_is_not_j> Thank you everyone.
2021-02-08 23:35:30 +0100Lowl3v3l(~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2021-02-08 23:36:29 +0100albert(~albert_42@2a02:8108:1100:16d8:304b:70e8:9deb:a56a) ()
2021-02-08 23:37:30 +0100djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54)
2021-02-08 23:38:32 +0100 <Squarism> have a existential type that attains different types depending on version. Wrote a Aeson (de-)/serializer for it but feel im doing unecessary clumsy. https://paste.ofcode.org/dWAUtadSGrTqk4EXrMLwxR
2021-02-08 23:38:35 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
2021-02-08 23:39:49 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-02-08 23:39:59 +0100rcdilorenzo(~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Ping timeout: 256 seconds)
2021-02-08 23:42:06 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving)
2021-02-08 23:44:15 +0100 <tomsmeding> Squarism: the () -> is at least unnecessary
2021-02-08 23:44:35 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Quit: mputz)
2021-02-08 23:45:08 +0100 <tomsmeding> 'join $ byVersion <$> ver0' is, I think, just 'ver0 >>= byVersion'
2021-02-08 23:45:11 +0100 <ski> as is `Applicative m'
2021-02-08 23:45:23 +0100 <ski> yes
2021-02-08 23:45:25 +0100L29Ah(~L29Ah@unaffiliated/l29ah) (Ping timeout: 240 seconds)
2021-02-08 23:45:31 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-02-08 23:45:54 +0100 <ski> one possibility could be to make `Version' a GADT
2021-02-08 23:46:03 +0100oish(~charlie@228.25.169.217.in-addr.arpa) (Ping timeout: 246 seconds)
2021-02-08 23:46:08 +0100L29Ah(~L29Ah@unaffiliated/l29ah)
2021-02-08 23:46:12 +0100 <ski> (that already encodes whether to use `A' or `B')
2021-02-08 23:46:48 +0100 <ski> also i'm not sure why you have both `FromJSON b' and `FromJSON (Reg b)'
2021-02-08 23:47:48 +0100shailangsa(~shailangs@host86-186-133-22.range86-186.btcentralplus.com)
2021-02-08 23:48:02 +0100 <ski> (also several of the extensions looks like you're not using them .. but quite possibly (some) of those are needed for code that you elided)
2021-02-08 23:48:57 +0100hyperisco(~hyperisco@104-195-141-253.cpe.teksavvy.com) (Ping timeout: 260 seconds)
2021-02-08 23:49:15 +0100 <Squarism> Ah nice. Some good input there
2021-02-08 23:49:53 +0100 <ski> one possibility could be to avoid naming `byVersion', instead directly writing a `case'
2021-02-08 23:50:18 +0100 <ski> do version <- ver0
2021-02-08 23:50:33 +0100 <ski> case version of
2021-02-08 23:51:17 +0100 <ski> 1 -> do reg :: Reg A <- f
2021-02-08 23:51:34 +0100 <ski> return (ExistBox version reg)
2021-02-08 23:51:39 +0100 <ski> &c.
2021-02-08 23:51:46 +0100alx741_(~alx741@186.178.110.217)
2021-02-08 23:53:01 +0100alx741(~alx741@181.196.69.34) (Ping timeout: 256 seconds)
2021-02-08 23:53:17 +0100 <ski> (if `Version' was a GADT, you wouldn't need doing a `case' there, possibly)
2021-02-08 23:53:25 +0100cgadski(~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
2021-02-08 23:54:02 +0100iqubic(~user@2601:602:9500:4870:e02c:e5a3:8078:49fc) (Ping timeout: 264 seconds)
2021-02-08 23:54:59 +0100 <fendor> Looking at a recent python drama (https://github.com/pyca/cryptography/issues/5771), I am suddenly very happy with cabal and stack
2021-02-08 23:55:02 +0100 <Squarism> Thanks, i incorporated all mentioned and it works great. Thanks again
2021-02-08 23:55:04 +0100oisdk(~oisdk@2001:bb6:3329:d100:c8bf:7533:dd0b:697d) (Quit: oisdk)
2021-02-08 23:59:35 +0100 <ski> Squarism : did you consider making a GADT ?