2022/01/29

2022-01-29 00:01:24 +0100little_mac(~little_ma@2601:410:4300:3ce0:7040:d478:b206:6b72) (Remote host closed the connection)
2022-01-29 00:02:48 +0100 <EvanR> cool
2022-01-29 00:06:47 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-01-29 00:08:54 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
2022-01-29 00:10:48 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-01-29 00:12:54 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-01-29 00:18:20 +0100michalz(~michalz@185.246.204.57) (Remote host closed the connection)
2022-01-29 00:22:34 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-29 00:25:51 +0100Tuplanolla(~Tuplanoll@91-159-68-166.elisa-laajakaista.fi) (Quit: Leaving.)
2022-01-29 00:30:35 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-01-29 00:30:36 +0100Techcable(~Techcable@168.235.93.147) (Ping timeout: 250 seconds)
2022-01-29 00:32:08 +0100AlexNoo_(~AlexNoo@94.233.241.141)
2022-01-29 00:33:49 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 250 seconds)
2022-01-29 00:35:17 +0100AlexNoo(~AlexNoo@178.34.162.240) (Ping timeout: 240 seconds)
2022-01-29 00:35:32 +0100AlexZenon(~alzenon@178.34.162.240) (Ping timeout: 240 seconds)
2022-01-29 00:35:32 +0100Alex_test(~al_test@178.34.162.240) (Ping timeout: 240 seconds)
2022-01-29 00:36:37 +0100Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-01-29 00:39:30 +0100Alex_test(~al_test@94.233.241.141)
2022-01-29 00:39:39 +0100AlexZenon(~alzenon@94.233.241.141)
2022-01-29 00:43:08 +0100vysn(~vysn@user/vysn)
2022-01-29 00:48:39 +0100Null_A(~null_a@2601:645:8700:2290:8935:4edf:b32:6553)
2022-01-29 00:53:49 +0100flipchan(~filip@188-169-255-31.dsl.utg.ge) (Ping timeout: 240 seconds)
2022-01-29 00:56:39 +0100little_mac(~little_ma@2601:410:4300:3ce0:a84a:183:2c1b:3735)
2022-01-29 00:58:24 +0100Null_A(~null_a@2601:645:8700:2290:8935:4edf:b32:6553) (Remote host closed the connection)
2022-01-29 00:59:02 +0100ski(~ski@remote12.chalmers.se)
2022-01-29 01:00:04 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net)
2022-01-29 01:02:19 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-29 01:06:18 +0100shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection)
2022-01-29 01:07:04 +0100shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2022-01-29 01:08:06 +0100burnsidesLlama(~burnsides@dhcp168-033.wadham.ox.ac.uk) (Remote host closed the connection)
2022-01-29 01:08:38 +0100burnsidesLlama(~burnsides@client-8-87.eduroam.oxuni.org.uk)
2022-01-29 01:13:04 +0100burnsidesLlama(~burnsides@client-8-87.eduroam.oxuni.org.uk) (Ping timeout: 250 seconds)
2022-01-29 01:13:34 +0100RMSBach(~user@cpe-76-177-52-136.natcky.res.rr.com) (ERC 5.4 (IRC client for GNU Emacs 28.0.90))
2022-01-29 01:13:48 +0100Gurkenglas(~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2022-01-29 01:26:29 +0100kaph(~kaph@net-2-47-208-144.cust.vodafonedsl.it)
2022-01-29 01:27:01 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-29 01:27:01 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-29 01:27:01 +0100wroathe(~wroathe@user/wroathe)
2022-01-29 01:34:37 +0100alp(~alp@user/alp) (Ping timeout: 268 seconds)
2022-01-29 01:38:10 +0100mrmr(~mrmr@user/mrmr) (Quit: The Lounge - https://thelounge.chat)
2022-01-29 01:38:17 +0100jao(~jao@static-68-235-44-25.cust.tzulo.com) (Ping timeout: 240 seconds)
2022-01-29 01:38:50 +0100Everything(~Everythin@37.115.210.35)
2022-01-29 01:41:46 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep)
2022-01-29 01:42:08 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 256 seconds)
2022-01-29 01:45:02 +0100dsrt^(~dsrt@75-147-197-198-Atlanta.hfc.comcastbusiness.net) (Remote host closed the connection)
2022-01-29 01:46:00 +0100fef(~thedawn@user/thedawn)
2022-01-29 01:47:49 +0100jgeerds_(~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 240 seconds)
2022-01-29 01:50:00 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Remote host closed the connection)
2022-01-29 01:50:38 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-01-29 01:56:12 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-01-29 01:59:08 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Ping timeout: 256 seconds)
2022-01-29 01:59:43 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-01-29 02:06:08 +0100Null_A(~null_a@2601:645:8700:2290:8935:4edf:b32:6553)
2022-01-29 02:13:48 +0100zmt01(~zmt00@user/zmt00)
2022-01-29 02:16:57 +0100zmt00(~zmt00@user/zmt00) (Ping timeout: 240 seconds)
2022-01-29 02:19:37 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 240 seconds)
2022-01-29 02:21:17 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 240 seconds)
2022-01-29 02:23:33 +0100segfaultfizzbuzz(~rustisafu@2602:306:cd3c:9350:59e3:db49:aa0a:46e5)
2022-01-29 02:27:28 +0100tommd(~tommd@67-42-147-226.ptld.qwest.net) (Ping timeout: 256 seconds)
2022-01-29 02:28:42 +0100chenqisu1(~chenqisu1@183.217.200.249)
2022-01-29 02:42:12 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-01-29 02:46:52 +0100dsrt^(~dsrt@75-147-197-198-Atlanta.hfc.comcastbusiness.net)
2022-01-29 02:52:57 +0100pieguy128(~pieguy128@bas8-montreal02-65-93-195-202.dsl.bell.ca) (Ping timeout: 240 seconds)
2022-01-29 02:54:15 +0100wei2912(~wei2912@138.75.71.147)
2022-01-29 02:54:15 +0100wei2912(~wei2912@138.75.71.147) (Client Quit)
2022-01-29 02:57:13 +0100 <EvanR> what is going on in ghci when you run code which is a mix of stuff you defined and stuff from loaded libraries. Is it a mix of interpreted code and compiled code
2022-01-29 02:57:32 +0100 <EvanR> precompled entirely and run, or entirely interpreted
2022-01-29 02:58:56 +0100chele(~chele@user/chele) (Remote host closed the connection)
2022-01-29 02:59:37 +0100 <Cale> It's a mix of bytecode and native compiled code
2022-01-29 03:00:07 +0100 <Cale> I've never actually looked too carefully at the details of how that works though
2022-01-29 03:01:41 +0100 <EvanR> the interpreter functionality is interesting, is that a built-in function of ghc
2022-01-29 03:01:49 +0100 <geekosaur> I have to assume bytecode can call into compiled code or you wouldn't even have the Prelude
2022-01-29 03:02:18 +0100 <geekosaur> whether compiled code can call into bytecode is another question but eith higher order functions I must assume it can
2022-01-29 03:02:46 +0100 <geekosaur> EvanR, it's built in and used by runghc, ghci, and template haskell
2022-01-29 03:02:56 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-37-70-24-250-178.dsl.bell.ca)
2022-01-29 03:02:59 +0100 <geekosaur> (note that ghci is just ghc --interactive)
2022-01-29 03:03:09 +0100 <EvanR> oh
2022-01-29 03:03:31 +0100 <geekosaur> also ghc -e
2022-01-29 03:10:24 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2022-01-29 03:13:58 +0100tommd(~tommd@67-42-147-226.ptld.qwest.net)
2022-01-29 03:16:22 +0100merijn(~merijn@c-001-002-002.client.esciencecenter.eduvpn.nl)
2022-01-29 03:19:36 +0100neurocyte0917090(~neurocyte@user/neurocyte) (Ping timeout: 256 seconds)
2022-01-29 03:20:55 +0100 <ephemient> if you run ghci -fobject-code, it'll compile everything it loads
2022-01-29 03:22:14 +0100 <ephemient> but otherwise, loaded source files are -fbyte-code just like expressions you enter in the repl
2022-01-29 03:24:45 +0100 <Cale> Also generally installed packages will be object code, and if there are .o and .hi files alongside your source code, it will generally load that
2022-01-29 03:26:28 +0100 <EvanR> ah haven't seen .o files in a while
2022-01-29 03:27:01 +0100 <EvanR> ghci -fobject-code sounds good, what about cabal repl
2022-01-29 03:27:31 +0100 <geekosaur> cabal repl is just a wrapper around ghci, iirc there's a way to pass ghci options which could include -fobject-code
2022-01-29 03:30:51 +0100 <geekosaur> --repl-options
2022-01-29 03:32:02 +0100 <geekosaur> and --repl-options=-fobject-code seems to work here
2022-01-29 03:33:01 +0100xff0x(~xff0x@2001:1a81:529b:5400:ae89:612e:5a81:4cf8) (Ping timeout: 240 seconds)
2022-01-29 03:35:07 +0100xff0x(~xff0x@2001:1a81:52b5:2e00:620f:6b65:415e:34ea)
2022-01-29 03:35:24 +0100 <EvanR> not only does that make everything a lot faster, but the repl loads a lot faster now
2022-01-29 03:41:06 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 03:42:34 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 250 seconds)
2022-01-29 03:43:04 +0100 <ephemient> it's not just the .o files, ghc needs the .hi files to know what's in them. and the ghc docs say that ghci -fobject-code can potentially compile faster than ghc --make during reload because it keep those interfaces in memory
2022-01-29 03:45:22 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-01-29 03:45:41 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-01-29 03:49:33 +0100 <EvanR> fancy
2022-01-29 03:49:57 +0100merijn(~merijn@c-001-002-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-01-29 03:51:29 +0100califax-(~califax@user/califx)
2022-01-29 03:52:28 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-01-29 03:54:20 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-01-29 03:54:44 +0100 <geekosaur> you can also usefully use -O with -fobject-code (bytecode disables optimization)
2022-01-29 03:56:18 +0100califax(~califax@user/califx) (Ping timeout: 276 seconds)
2022-01-29 03:56:18 +0100califax-califax
2022-01-29 04:04:44 +0100Techcable(~Techcable@168.235.93.147)
2022-01-29 04:07:17 +0100Maxdamantus(~Maxdamant@user/maxdamantus) (Quit: leaving)
2022-01-29 04:07:39 +0100Maxdamantus(~Maxdamant@124.197.32.108)
2022-01-29 04:10:07 +0100Maxdamantus(~Maxdamant@124.197.32.108) (Client Quit)
2022-01-29 04:10:13 +0100vysn(~vysn@user/vysn) (Ping timeout: 240 seconds)
2022-01-29 04:12:51 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-01-29 04:12:51 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-01-29 04:12:51 +0100finn_elijaFinnElija
2022-01-29 04:13:34 +0100Maxdamantus(~Maxdamant@user/maxdamantus)
2022-01-29 04:15:29 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 04:15:42 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 04:20:37 +0100jespada(~jespada@87.74.36.188) (Ping timeout: 240 seconds)
2022-01-29 04:23:56 +0100jespada(~jespada@87.74.36.188)
2022-01-29 04:36:58 +0100zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-01-29 04:39:03 +0100RMSBach(~user@cpe-76-177-52-136.natcky.res.rr.com)
2022-01-29 04:40:14 +0100RMSBach(~user@cpe-76-177-52-136.natcky.res.rr.com) (Remote host closed the connection)
2022-01-29 04:42:29 +0100zaquest(~notzaques@5.130.79.72)
2022-01-29 04:48:57 +0100td_(~td@94.134.91.203) (Ping timeout: 240 seconds)
2022-01-29 04:50:52 +0100td_(~td@muedsl-82-207-238-224.citykom.de)
2022-01-29 04:51:06 +0100wei2912(~wei2912@138.75.71.147)
2022-01-29 04:53:12 +0100cyphase_eviltwin(~cyphase@user/cyphase) (Ping timeout: 250 seconds)
2022-01-29 04:58:15 +0100cyphase(~cyphase@user/cyphase)
2022-01-29 05:07:48 +0100fef(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2022-01-29 05:08:07 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2022-01-29 05:09:02 +0100jinsun__(~quassel@user/jinsun)
2022-01-29 05:09:04 +0100fef(~thedawn@user/thedawn)
2022-01-29 05:09:57 +0100jinsun(~quassel@user/jinsun) (Ping timeout: 240 seconds)
2022-01-29 05:15:49 +0100yahb(xsbot@user/mniip/bot/yahb) (Ping timeout: 240 seconds)
2022-01-29 05:16:43 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4)
2022-01-29 05:20:08 +0100yahb(xsbot@user/mniip/bot/yahb)
2022-01-29 05:34:03 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:34:20 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:34:27 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:34:42 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:34:48 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:35:03 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:35:11 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:35:25 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:35:32 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:35:37 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-01-29 05:35:46 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:35:54 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:36:08 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:36:16 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:36:30 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:36:38 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:36:51 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:36:54 +0100Null_A(~null_a@2601:645:8700:2290:8935:4edf:b32:6553) (Remote host closed the connection)
2022-01-29 05:36:59 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:37:13 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:37:20 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:37:35 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:37:43 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:37:57 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:38:04 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:38:18 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:38:26 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:38:41 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:38:48 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:39:03 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:39:10 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:39:25 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:39:32 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:39:46 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:39:54 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:40:07 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:40:15 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:40:16 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-01-29 05:40:29 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:40:37 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:40:51 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:40:58 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:41:13 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:41:21 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:41:35 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:41:43 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:41:57 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:42:05 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:42:19 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:42:27 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:42:42 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:42:50 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:43:04 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:43:11 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:43:26 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:43:34 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:43:49 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:43:57 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:44:06 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 256 seconds)
2022-01-29 05:44:12 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:44:19 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:44:33 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:44:41 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:44:55 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:45:03 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:45:18 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 05:45:26 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 05:48:38 +0100vglfr(~vglfr@46.96.133.112) (Ping timeout: 256 seconds)
2022-01-29 05:55:52 +0100zebrag(~chris@user/zebrag)
2022-01-29 05:59:17 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2022-01-29 06:02:36 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-29 06:09:42 +0100little_mac(~little_ma@2601:410:4300:3ce0:a84a:183:2c1b:3735) (Remote host closed the connection)
2022-01-29 06:13:53 +0100little_mac(~little_ma@2601:410:4300:3ce0:a5db:5f46:eccb:4a78)
2022-01-29 06:14:02 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2022-01-29 06:15:58 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 06:18:30 +0100yauhsien(~yauhsien@61-231-37-18.dynamic-ip.hinet.net)
2022-01-29 06:20:18 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2022-01-29 06:22:04 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2022-01-29 06:22:37 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-01-29 06:22:57 +0100yauhsien(~yauhsien@61-231-37-18.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-01-29 06:24:54 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-01-29 06:25:15 +0100mbuf(~Shakthi@122.162.13.98)
2022-01-29 06:25:52 +0100azimut_(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2022-01-29 06:26:21 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2022-01-29 06:29:45 +0100 <segfaultfizzbuzz> i just learned my first little bit of x86 assembly and noticed that a lot of the basic operations mutate the registers
2022-01-29 06:30:17 +0100slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2022-01-29 06:30:31 +0100 <segfaultfizzbuzz> so, i don't want to get in too far over my head here but,... does haskell de-mutate things then, or..?
2022-01-29 06:32:42 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-29 06:32:42 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-29 06:32:42 +0100wroathe(~wroathe@user/wroathe)
2022-01-29 06:33:14 +0100 <segfaultfizzbuzz> and does that mean that a more immutability-friendly ISA would make sense to have...?
2022-01-29 06:34:18 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-01-29 06:35:44 +0100raym(~raym@user/raym) (Quit: kernel update, rebooting...)
2022-01-29 06:42:17 +0100raym(~raym@user/raym)
2022-01-29 06:46:03 +0100 <EvanR> a lot of mutation goes on behind the scenes in haskell. For example, when a thunk is evaluated it's contents are overwritten with the answer, which can then be used again later
2022-01-29 06:46:12 +0100jao(~jao@68.235.43.13)
2022-01-29 06:46:55 +0100 <EvanR> ST programs can literally mutate variables and arrays in a type safe way
2022-01-29 06:46:57 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-01-29 06:47:10 +0100 <EvanR> even within a pure computation
2022-01-29 06:49:04 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 06:50:10 +0100georgy(~bc8147f2@cerf.good1.com)
2022-01-29 06:53:48 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-01-29 06:55:15 +0100 <segfaultfizzbuzz> hmm... bbl srry
2022-01-29 06:55:20 +0100 <ephemient> basically all our actual hardware is https://en.wikipedia.org/wiki/Von_Neumann_architecture
2022-01-29 06:56:09 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-29 06:56:09 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-29 06:56:09 +0100wroathe(~wroathe@user/wroathe)
2022-01-29 06:57:08 +0100tommd(~tommd@67-42-147-226.ptld.qwest.net) (Ping timeout: 250 seconds)
2022-01-29 06:59:17 +0100segfaultfizzbuzz(~rustisafu@2602:306:cd3c:9350:59e3:db49:aa0a:46e5) (Ping timeout: 240 seconds)
2022-01-29 07:00:21 +0100deadmarshal(~deadmarsh@95.38.117.123)
2022-01-29 07:00:44 +0100curtis(~curtis@76.208.249.124)
2022-01-29 07:00:50 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2022-01-29 07:02:24 +0100Jing(~hedgehog@240e:390:7c53:a7e1:247f:ed9b:32f9:1faf)
2022-01-29 07:03:50 +0100little_mac(~little_ma@2601:410:4300:3ce0:a5db:5f46:eccb:4a78) (Remote host closed the connection)
2022-01-29 07:06:51 +0100curtis(~curtis@76.208.249.124) (Quit: leaving)
2022-01-29 07:17:09 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 276 seconds)
2022-01-29 07:19:34 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-01-29 07:24:57 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 276 seconds)
2022-01-29 07:25:08 +0100fef(~thedawn@user/thedawn) (Remote host closed the connection)
2022-01-29 07:28:20 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2022-01-29 07:30:04 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 250 seconds)
2022-01-29 07:32:53 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-29 07:33:13 +0100phma(phma@2001:5b0:212a:9da8:6f5b:6926:b319:62a2) (Read error: Connection reset by peer)
2022-01-29 07:34:34 +0100phma(phma@2001:5b0:2172:8d38:d8c9:6275:aa70:e454)
2022-01-29 07:35:21 +0100nunggu(~q@user/nunggu) (Ping timeout: 276 seconds)
2022-01-29 07:41:40 +0100mcglk(~mcglk@131.191.49.120) (Read error: Connection reset by peer)
2022-01-29 07:44:31 +0100cynomys(~cynomys@user/cynomys)
2022-01-29 07:44:56 +0100mcglk(~mcglk@131.191.49.120)
2022-01-29 07:47:49 +0100thevishy(~Nishant@2405:201:f005:c007:60d1:4243:e46a:fb96)
2022-01-29 07:53:25 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-29 07:54:56 +0100JuanMiguel(~juanmi@72.red-79-158-14.dynamicip.rima-tde.net)
2022-01-29 07:56:13 +0100JuanMiguel(~juanmi@72.red-79-158-14.dynamicip.rima-tde.net) (Client Quit)
2022-01-29 08:01:44 +0100nunggu(~q@user/nunggu)
2022-01-29 08:13:49 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2022-01-29 08:17:18 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-01-29 08:20:14 +0100fef(~thedawn@user/thedawn)
2022-01-29 08:21:57 +0100zmt01(~zmt00@user/zmt00) (Ping timeout: 240 seconds)
2022-01-29 08:26:47 +0100rembo10(~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
2022-01-29 08:27:16 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds)
2022-01-29 08:27:40 +0100rembo10(~rembo10@remulis.com)
2022-01-29 08:33:24 +0100alp(~alp@user/alp)
2022-01-29 08:35:37 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-29 08:36:12 +0100cynomys(~cynomys@user/cynomys) (Quit: Lost terminal)
2022-01-29 08:36:56 +0100jao(~jao@68.235.43.13) (Remote host closed the connection)
2022-01-29 08:38:16 +0100alp(~alp@user/alp) (Ping timeout: 268 seconds)
2022-01-29 08:40:11 +0100thevishy(~Nishant@2405:201:f005:c007:60d1:4243:e46a:fb96) (Quit: Leaving)
2022-01-29 08:44:33 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2022-01-29 08:52:27 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr)
2022-01-29 08:57:36 +0100Akiva(~Akiva@user/Akiva) (Ping timeout: 250 seconds)
2022-01-29 08:59:07 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-01-29 09:00:27 +0100fef(~thedawn@user/thedawn) (Remote host closed the connection)
2022-01-29 09:00:52 +0100fef(~thedawn@user/thedawn)
2022-01-29 09:01:20 +0100kaph(~kaph@net-2-47-208-144.cust.vodafonedsl.it) (Read error: Connection reset by peer)
2022-01-29 09:07:11 +0100mikoto-chan(~mikoto-ch@213.177.151.239)
2022-01-29 09:08:09 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-29 09:08:47 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-29 09:09:36 +0100fef(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2022-01-29 09:12:30 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-29 09:12:36 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-01-29 09:14:19 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-29 09:16:00 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-29 09:16:06 +0100Gurkenglas(~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de)
2022-01-29 09:16:25 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-29 09:21:33 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-29 09:26:48 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net)
2022-01-29 09:27:22 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-29 09:29:46 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-29 09:31:16 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-01-29 09:32:41 +0100vysn(~vysn@user/vysn)
2022-01-29 09:33:31 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-01-29 09:35:17 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Ping timeout: 250 seconds)
2022-01-29 09:35:25 +0100vysn(~vysn@user/vysn) (Client Quit)
2022-01-29 09:37:50 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-01-29 09:44:00 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-01-29 09:44:48 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-01-29 09:47:09 +0100alp(~alp@user/alp)
2022-01-29 09:48:35 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-01-29 09:48:55 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-01-29 09:54:48 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-29 09:56:26 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-29 09:57:53 +0100Inst(~delicacie@2601:6c4:4080:3f80:89ce:900e:7230:cda2)
2022-01-29 09:59:50 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-29 10:00:55 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-29 10:04:42 +0100megaTherion(~therion@unix.io) (Read error: Connection reset by peer)
2022-01-29 10:07:33 +0100alp(~alp@user/alp) (Ping timeout: 250 seconds)
2022-01-29 10:08:57 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-01-29 10:12:07 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 10:15:51 +0100Tuplanolla(~Tuplanoll@91-159-68-166.elisa-laajakaista.fi)
2022-01-29 10:16:32 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-01-29 10:16:37 +0100mc47(~mc47@xmonad/TheMC47)
2022-01-29 10:16:39 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2022-01-29 10:17:36 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-01-29 10:17:38 +0100allbery_b(~geekosaur@xmonad/geekosaur)
2022-01-29 10:17:41 +0100allbery_bgeekosaur
2022-01-29 10:19:59 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-01-29 10:20:54 +0100gehmehgeh(~user@user/gehmehgeh)
2022-01-29 10:20:56 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-01-29 10:21:18 +0100max22-(~maxime@2a01cb0883359800ceae7201b4b629dd.ipv6.abo.wanadoo.fr)
2022-01-29 10:23:51 +0100Guest9864(~Guest98@82.212.122.61)
2022-01-29 10:24:53 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 250 seconds)
2022-01-29 10:25:20 +0100 <Guest9864> Hi guys, I am trying to write a haskell website for fun using yesod but im running into an issue where I am trying to use System,random, it says its hidden, I try to add it to my .cabal file but whenever i try to save that file with random added in the build-depends, the added line literally dissappears
2022-01-29 10:25:50 +0100 <Guest9864> any thoughts on what this might me ? :) Thanks
2022-01-29 10:26:32 +0100 <polyphem> are you using hpack ?
2022-01-29 10:26:38 +0100 <Guest9864> i dont know what is
2022-01-29 10:26:50 +0100 <Guest9864> what that is**
2022-01-29 10:26:52 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-01-29 10:27:51 +0100 <polyphem> it regenerates your .cabal file everytime you build , from a file called package.yaml , do you have package.yaml ?
2022-01-29 10:27:58 +0100 <Guest9864> let me check
2022-01-29 10:28:05 +0100 <Guest9864> yes i do
2022-01-29 10:29:22 +0100 <polyphem> i havent used hpack , but i think you either have to add your dependency to package.yaml , or delete(rename) package.yaml so your .cabal file won't get regenerated
2022-01-29 10:29:25 +0100 <Guest9864> I added there and it seems to be working, I have another error though so let me try to solve it
2022-01-29 10:37:16 +0100jespada(~jespada@87.74.36.188) (Ping timeout: 250 seconds)
2022-01-29 10:39:01 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2022-01-29 10:39:27 +0100jespada(~jespada@87.74.36.188)
2022-01-29 10:41:02 +0100yauhsien(~yauhsien@61-231-37-18.dynamic-ip.hinet.net)
2022-01-29 10:45:00 +0100 <Guest9864> Why is it saying that variable is not in scope for uniformR ? https://paste.tomsmeding.com/GsEG1xVQ
2022-01-29 10:45:12 +0100 <Guest9864> this is how it is used here :> https://hackage.haskell.org/package/random-1.2.1/docs/System-Random.html#v:uniformR
2022-01-29 10:45:37 +0100yauhsien(~yauhsien@61-231-37-18.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-01-29 10:45:53 +0100 <Rembane> Guest9864: Is it pureGen that's not in scope?
2022-01-29 10:45:59 +0100 <Guest9864> nope, uniformR
2022-01-29 10:47:15 +0100 <Guest9864> exact error : https://paste.tomsmeding.com/JXwn2fkx
2022-01-29 10:47:18 +0100 <Rembane> Guest9864: Which version of random are you using?
2022-01-29 10:47:32 +0100 <Guest9864> I didnt specify
2022-01-29 10:48:09 +0100 <Rembane> Are you using a cabal project or stack or have you installed things in another way?
2022-01-29 10:48:23 +0100 <Guest9864> im using stack
2022-01-29 10:49:11 +0100 <Rembane> Which release are you using?
2022-01-29 10:49:26 +0100 <Guest9864> of stack ? the most recent one, just downloaded it a few days ago
2022-01-29 10:49:55 +0100 <Guest9864> 2.7.3
2022-01-29 10:51:02 +0100 <Rembane> Sorry, I used the wrong word. Snapshot was the one I was looking for. LTS 18.23 is the latest snapshot, which one are you using?
2022-01-29 10:51:44 +0100 <Rembane> My hypothesis is that you are using a version of the package random that's older than 1.2.
2022-01-29 10:55:33 +0100 <Guest9864> i am
2022-01-29 10:55:35 +0100 <Guest9864> I am using 1.1
2022-01-29 11:00:16 +0100jinsun__(~quassel@user/jinsun) (Read error: Connection reset by peer)
2022-01-29 11:00:32 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-29 11:01:09 +0100 <Rembane> Guest9864: That explains why you don't have uniformR, uniformR is introduced in version 1.2.
2022-01-29 11:01:47 +0100jinsun(~quassel@user/jinsun)
2022-01-29 11:01:49 +0100 <Rembane> Guest9864: https://hackage.haskell.org/package/random-1.2.1/docs/System-Random.html#v:uniformR At the documentation for uniformR there's a small note about it.
2022-01-29 11:02:37 +0100 <Guest9864> I see
2022-01-29 11:02:38 +0100 <Guest9864> thanks
2022-01-29 11:03:19 +0100 <Rembane> No worries. :)
2022-01-29 11:04:25 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
2022-01-29 11:04:42 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-01-29 11:05:00 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 250 seconds)
2022-01-29 11:05:57 +0100flipchan(~filip@188-169-255-31.dsl.utg.ge)
2022-01-29 11:07:02 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2022-01-29 11:07:13 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-01-29 11:21:20 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2541:beac:9acd:61a8)
2022-01-29 11:22:34 +0100 <Guest9864> whats wrong here ? https://paste.tomsmeding.com/Rmub1shC I keep getting an error telling me to use a let in a do block
2022-01-29 11:23:01 +0100 <Guest9864> but my understanding is that i can use one let and write a bunch of statements on the same level of indentation
2022-01-29 11:23:16 +0100 <Guest9864> as long as its inside a do block
2022-01-29 11:23:32 +0100 <ski> indent the next line
2022-01-29 11:23:49 +0100 <Guest9864> which next line ?
2022-01-29 11:24:09 +0100 <ski> let pureGen = mkStdGen 137
2022-01-29 11:24:11 +0100 <ski> (randNum, _) = randomR (1 :: Int, 5 :: Int) pureGen
2022-01-29 11:24:32 +0100 <Guest9864> shouldn't it be okay that they are on the same level of indentation since they are in a do block ??
2022-01-29 11:24:52 +0100 <Guest9864> it worked but i dont understand why
2022-01-29 11:24:56 +0100 <ski> your definitions inside the `let' should all be on the same level of indentation, yes
2022-01-29 11:25:00 +0100coot(~coot@213.134.190.95)
2022-01-29 11:25:16 +0100 <ski> `pureGen = ...' should start in the same column as `(randNum, _) = ...'
2022-01-29 11:25:37 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2541:beac:9acd:61a8) (Ping timeout: 240 seconds)
2022-01-29 11:26:32 +0100 <ski> you had `(randNum, _) = ...' on the same level as the `let' itself, which means that it was not inside the `let', it was at the level of the commands inside the `do'
2022-01-29 11:26:49 +0100 <ski> (and there's no `... = ...'-commands in a `do'-expression)
2022-01-29 11:27:54 +0100 <ski> btw, just so you know
2022-01-29 11:27:57 +0100 <ski> let
2022-01-29 11:28:01 +0100 <ski> pureGen = mkStdGen 137
2022-01-29 11:28:06 +0100 <ski> (randNum, _) = randomR (1 :: Int, 5 :: Int) pureGen
2022-01-29 11:28:12 +0100 <ski> would have worked just as well
2022-01-29 11:28:26 +0100 <ski> (perhaps here you can more easily see that they're on the same level)
2022-01-29 11:28:46 +0100 <Guest9864> i guess i understand
2022-01-29 11:28:47 +0100 <Guest9864> thanks
2022-01-29 11:29:47 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-01-29 11:29:58 +0100 <ski> oh, and i'd not use `mkStdGen'
2022-01-29 11:30:21 +0100 <ski> (unless you do want this to be deterministic)
2022-01-29 11:33:45 +0100dyeplexer(~dyeplexer@user/dyeplexer)
2022-01-29 11:33:53 +0100Everything(~Everythin@37.115.210.35) (Quit: leaving)
2022-01-29 11:36:12 +0100Inst(~delicacie@2601:6c4:4080:3f80:89ce:900e:7230:cda2) (Ping timeout: 250 seconds)
2022-01-29 11:36:43 +0100__monty__(~toonn@user/toonn)
2022-01-29 11:37:23 +0100Inst(~delicacie@2601:6c4:4080:3f80:c4e7:d723:91db:1b9f)
2022-01-29 11:40:48 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-01-29 11:43:56 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Ping timeout: 256 seconds)
2022-01-29 11:44:10 +0100Inst(~delicacie@2601:6c4:4080:3f80:c4e7:d723:91db:1b9f) (Ping timeout: 260 seconds)
2022-01-29 11:44:17 +0100xff0x(~xff0x@2001:1a81:52b5:2e00:620f:6b65:415e:34ea) (Ping timeout: 240 seconds)
2022-01-29 11:44:26 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 250 seconds)
2022-01-29 11:50:26 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-01-29 11:51:17 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
2022-01-29 11:53:18 +0100Lord_of_Life_Lord_of_Life
2022-01-29 11:54:26 +0100Guest9864(~Guest98@82.212.122.61) (Quit: Client closed)
2022-01-29 11:56:46 +0100xff0x(~xff0x@2001:1a81:52b5:2e00:620f:6b65:415e:34ea)
2022-01-29 12:05:29 +0100nightbreak(~nightbrea@victors-mbp.dyndns.rice.edu)
2022-01-29 12:08:40 +0100arjun(~arjun@user/arjun)
2022-01-29 12:08:46 +0100 <arjun> hi
2022-01-29 12:08:59 +0100 <geekosaur> o/
2022-01-29 12:09:31 +0100 <arjun> any way i can tell ghci to load the language extensions in language pragmas from the file being loaded
2022-01-29 12:09:37 +0100 <arjun> o/ geekosaur
2022-01-29 12:09:41 +0100 <geekosaur> no
2022-01-29 12:10:12 +0100 <geekosaur> think about it, if you have multiple files loaded and switch between them, which pragmas if any should (not) be in effect?
2022-01-29 12:10:48 +0100 <arjun> automagic switching, wooosh :p
2022-01-29 12:11:18 +0100 <arjun> i get it. it's by design, thanks
2022-01-29 12:12:12 +0100 <arjun> btw, i did get those tabs working geekosaur
2022-01-29 12:12:44 +0100 <arjun> i know now what you meant by "they behave like titlebars" : p
2022-01-29 12:13:05 +0100 <geekosaur> my screenshot showed it on the right hand screen, even
2022-01-29 12:13:09 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-01-29 12:13:22 +0100 <geekosaur> that was a large opart of why I made the screenshot
2022-01-29 12:13:38 +0100 <geekosaur> someday we need a less hacky tab mechanism
2022-01-29 12:13:42 +0100 <arjun> i was hoping they'd switch like i3's
2022-01-29 12:13:51 +0100 <arjun> a tab allows it's own sublayout
2022-01-29 12:14:08 +0100 <arjun> and then you can switch between those
2022-01-29 12:14:21 +0100 <arjun> pretty handy
2022-01-29 12:14:47 +0100 <geekosaur> there's a module for that too, iirc
2022-01-29 12:14:55 +0100 <arjun> >.<
2022-01-29 12:15:02 +0100 <arjun> ofc there is : p
2022-01-29 12:15:31 +0100 <arjun> i still have some things i am struggling with. i'll see if you're around tonight
2022-01-29 12:15:36 +0100max22-(~maxime@2a01cb0883359800ceae7201b4b629dd.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2022-01-29 12:15:55 +0100 <geekosaur> https://hackage.haskell.org/package/xmonad-contrib-0.17.0/docs/XMonad-Layout-SubLayouts.html#v:sub…
2022-01-29 12:16:18 +0100 <geekosaur> also did you see liskin and myself discussing your dpms question?
2022-01-29 12:16:25 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr)
2022-01-29 12:16:41 +0100 <geekosaur> you really need a scriptable acpid, you can't do it from xmonad or any other window manager
2022-01-29 12:17:10 +0100 <geekosaur> debianoids at least package a scriptable acpid and you could edit the scripts for lid open/close to reconfigure xrandr
2022-01-29 12:21:18 +0100schuelermine(~schuelerm@user/schuelermine)
2022-01-29 12:26:00 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-01-29 12:26:28 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-01-29 12:27:59 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-01-29 12:28:09 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e)
2022-01-29 12:38:08 +0100nightbreak(~nightbrea@victors-mbp.dyndns.rice.edu) (Quit: Signing off for now...)
2022-01-29 12:41:40 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 12:46:46 +0100byorgey(~byorgey@155.138.238.211) (Quit: leaving)
2022-01-29 12:51:45 +0100byorgey(~byorgey@155.138.238.211)
2022-01-29 12:56:12 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 12:56:26 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 12:56:34 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 12:56:48 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 12:56:55 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 12:57:09 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 12:57:17 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 12:57:31 +0100 <liskin> also it's quite likely that something (probably upower) would emit a dbus signal when the lid is closed
2022-01-29 12:57:32 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 12:57:39 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 12:57:53 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 12:58:00 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 12:58:14 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 12:58:22 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 12:58:35 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 12:58:43 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 12:58:58 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 12:59:06 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 12:59:21 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 12:59:22 +0100 <arjun> liskin, i have upower
2022-01-29 12:59:28 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 12:59:41 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 12:59:49 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 12:59:50 +0100 <liskin> I kind of expected systemd-logind to emit a PropertyChanged as well, since there is a LidClosed property on /org/freedesktop/login1, but it doesn't :-/
2022-01-29 13:00:03 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 13:00:05 +0100 <geekosaur> lavaman, you're bouncing
2022-01-29 13:00:11 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 13:00:18 +0100ChanServ+o geekosaur
2022-01-29 13:00:25 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 13:00:33 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 13:00:34 +0100 <arjun> when i run gnome, this done exactly right (probably by gnome itself)
2022-01-29 13:00:47 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 13:00:49 +0100geekosaur+b *!*@98.38.249.169
2022-01-29 13:00:55 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 13:01:16 +0100geekosaur-o geekosaur
2022-01-29 13:01:26 +0100 <liskin> (we should probably move this to #xmonad)
2022-01-29 13:03:07 +0100lionhairdino(~jacoo@121.131.39.82)
2022-01-29 13:03:16 +0100kaph(~kaph@net-2-47-208-144.cust.vodafonedsl.it)
2022-01-29 13:06:42 +0100boxscape_(~boxscape_@p4ff0b9d5.dip0.t-ipconnect.de)
2022-01-29 13:08:22 +0100Gurkenglas(~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2022-01-29 13:10:18 +0100 <boxscape_> Any idea what might drive GHC to produce this error? It seems nonsensical. https://paste.tomsmeding.com/LAGAbg5P
2022-01-29 13:10:19 +0100 <boxscape_> I'm hoping that someone has encountered a similar "Could not deduce x from context x" error and remembers why it ocurred.
2022-01-29 13:10:38 +0100arjun(~arjun@user/arjun) (Remote host closed the connection)
2022-01-29 13:11:03 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-29 13:11:25 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-29 13:11:28 +0100 <boxscape_> oh hm I suppose probably the kinds are different somehow
2022-01-29 13:12:02 +0100 <geekosaur> hm, do you need ScopedTypeVariables for that second x to be in scope?
2022-01-29 13:12:32 +0100 <geekosaur> or is that automatic in instance definitions? I forget
2022-01-29 13:12:37 +0100 <boxscape_> I don't think I do, but I already had it enabled
2022-01-29 13:13:24 +0100 <boxscape_> I think adding a kind signature will help, if I can figure out what it should be. Though I suspect the kinds are need are only exported from hidden modules -.-
2022-01-29 13:13:39 +0100 <boxscape_> s/are/I
2022-01-29 13:14:40 +0100 <boxscape_> geekosaur turns out you do need ScopedTypeVariables for this after all, though it's not the cause of this particular error
2022-01-29 13:15:11 +0100schuelermine(~schuelerm@user/schuelermine) (Ping timeout: 250 seconds)
2022-01-29 13:15:47 +0100 <geekosaur> maybe a type signature on getField would help clarify which x? (you probably do need explicit forall there)
2022-01-29 13:16:01 +0100 <geekosaur> might require an extension
2022-01-29 13:17:06 +0100 <geekosaur> InstanceSigs?
2022-01-29 13:17:55 +0100 <geekosaur> apparently not
2022-01-29 13:18:07 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-29 13:18:25 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-29 13:18:36 +0100 <geekosaur> actually yes, I just got my search wrong
2022-01-29 13:19:54 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-29 13:20:49 +0100 <boxscape_> Adding an instance sig doesn't help, unfortunately. I think it knows what `x` it is, but wrapping it in `Name` introduces an additional kind variable that's currently likely filled with `Any`. I'll have to look at the FIR source to see what kind I'll need to give it.
2022-01-29 13:21:02 +0100ChanServ+o litharge
2022-01-29 13:21:02 +0100litharge-bo *!*@98.38.249.169 litharge
2022-01-29 13:21:15 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 13:21:20 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-29 13:21:21 +0100 <geekosaur> sigh
2022-01-29 13:21:23 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 13:21:25 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-29 13:21:29 +0100ChanServ+o geekosaur
2022-01-29 13:21:36 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 13:21:44 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 13:21:59 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 13:22:04 +0100geekosaur+b *!*@98.38.249.169$##fix-your-connection
2022-01-29 13:22:06 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 13:25:27 +0100 <boxscape_> using -fprint-explicit-kinds helps and show that the kinds indeed don't match
2022-01-29 13:27:08 +0100Inst(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net)
2022-01-29 13:28:10 +0100 <boxscape_> this code (same but added kind signature) works :) https://paste.tomsmeding.com/eJBmYiMs
2022-01-29 13:29:24 +0100geekosaur-o geekosaur
2022-01-29 13:29:25 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-01-29 13:31:41 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-01-29 13:33:36 +0100Andrew(andrew@andrewyu.org)
2022-01-29 13:35:42 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Read error: Connection reset by peer)
2022-01-29 13:35:55 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-01-29 13:42:20 +0100ChanServ+o litharge
2022-01-29 13:42:21 +0100litharge-bo *!*@98.38.249.169$##fix-your-connection litharge
2022-01-29 13:44:45 +0100deadmarshal(~deadmarsh@95.38.117.123) (Ping timeout: 268 seconds)
2022-01-29 13:46:13 +0100AlexNoo_AlexNoo
2022-01-29 14:05:42 +0100Gurkenglas(~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de)
2022-01-29 14:06:06 +0100georgy(~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Session timeout))
2022-01-29 14:08:11 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Ping timeout: 268 seconds)
2022-01-29 14:10:08 +0100Inst(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 256 seconds)
2022-01-29 14:11:24 +0100 <Andrew> I've literally seen people writing in Haskell IMPERATIVELY, i.e. putting everything in IO() and do
2022-01-29 14:12:12 +0100kjak(~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 250 seconds)
2022-01-29 14:12:17 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 14:12:26 +0100yauhsien_(~yauhsien@61-231-37-18.dynamic-ip.hinet.net)
2022-01-29 14:12:27 +0100 <boxscape_> kinda doing that in the project I'm writing right now because every second line (might be hyperbole) is an FFI call to Vulkan
2022-01-29 14:12:28 +0100yauhsien_(~yauhsien@61-231-37-18.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-01-29 14:12:29 +0100 <polyphem> Andrew : sure
2022-01-29 14:12:51 +0100 <Andrew> I mean, I'm not sure if Haskell is the right language to do that in
2022-01-29 14:13:00 +0100yauhsien_(~yauhsien@61-231-37-18.dynamic-ip.hinet.net)
2022-01-29 14:13:25 +0100 <boxscape_> I don't really see any disadvantages compared to doing it in a different language. Except for the part where Haskell is missing idris' !-notation.
2022-01-29 14:13:26 +0100 <Andrew> ~~there are no purely functional languages, as much as I like lambdas)
2022-01-29 14:13:41 +0100 <Andrew> True though
2022-01-29 14:13:56 +0100 <Andrew> Also, anyone knows of any alternative compilers?
2022-01-29 14:16:37 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2022-01-29 14:17:03 +0100machinedgod(~machinedg@24.105.81.50)
2022-01-29 14:17:37 +0100 <polyphem> Andrew: there have been other implementations/compilers for haskell , however i think only ghc is activly maintained
2022-01-29 14:17:58 +0100 <Andrew> Yeah I noticed that
2022-01-29 14:18:14 +0100 <Andrew> I'm pretty happy with GHC, except for that fact that compiling Hello World takes like a few seconds
2022-01-29 14:18:18 +0100 <polyphem> Andrew: there is also eta/frege targeting the jvw
2022-01-29 14:18:29 +0100 <Andrew> JVW?
2022-01-29 14:18:36 +0100 <boxscape_> jvm?
2022-01-29 14:18:38 +0100 <polyphem> jvm , sorry
2022-01-29 14:19:11 +0100 <boxscape_> I think among non-GHC haskell compilers Frege has had the most recent commit
2022-01-29 14:19:11 +0100Andrewdoesn't like Java, so that doesn't matter to him :D
2022-01-29 14:19:13 +0100 <boxscape_> in May last year
2022-01-29 14:21:10 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net)
2022-01-29 14:22:02 +0100georgy(~bc8147f2@cerf.good1.com)
2022-01-29 14:23:08 +0100 <polyphem> Andrew: have you optimizatiions -O2 turned on , that increases compile time consideratly
2022-01-29 14:23:53 +0100 <Andrew> polyphem: Seems so lol
2022-01-29 14:23:56 +0100shailangsa(~shailangs@host86-185-98-37.range86-185.btcentralplus.com) (Remote host closed the connection)
2022-01-29 14:24:32 +0100 <polyphem> its almost never necessary to have it turned on, it increases compile time though
2022-01-29 14:24:42 +0100 <georgy> Andrew, it is common to use interpreter (ghci) when developing, and then compile a final product
2022-01-29 14:24:50 +0100 <Andrew> I'm used to that since I used gcc before
2022-01-29 14:24:58 +0100 <Andrew> georgy: Yes, that's what I do rn
2022-01-29 14:25:01 +0100 <polyphem> check out ghcid, it reduces compile time while developing to give fast feed back
2022-01-29 14:25:46 +0100 <boxscape_> though VS Code with HLS is a more popular solution these days I believe
2022-01-29 14:25:57 +0100 <boxscape_> (...or another editor with HLS)
2022-01-29 14:26:00 +0100Andrewuses emacs instead of VS code
2022-01-29 14:26:03 +0100 <Andrew> let's see...
2022-01-29 14:26:37 +0100 <polyphem> HLS however doesnt support latest ghc though ...
2022-01-29 14:26:38 +0100 <Andrew> I do have haskell packages installed, but I haven't utilized it... i'm just opening vterms and running ghci there
2022-01-29 14:26:53 +0100 <boxscape_> polyphem it does since yesterday
2022-01-29 14:27:18 +0100 <polyphem> ok, then i am nnot up to date :)
2022-01-29 14:27:37 +0100 <boxscape_> (though of course if that's something that matters you'd face the same issue for a few months once 9.4 is released)
2022-01-29 14:27:40 +0100deadmarshal(~deadmarsh@95.38.117.123)
2022-01-29 14:29:45 +0100 <polyphem> Andrew: when you use vterms , ghcid is for you , also check out hdc : https://github.com/lazamar/haskell-docs-cli
2022-01-29 14:30:33 +0100 <Andrew> Nah, I'll check out haskell-mode and haskell-emacs, because using vterm to run ghc and other stuff seems silly, since I'll want my code in a file afterwards anyways, but I'll check those out
2022-01-29 14:31:00 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 14:34:18 +0100Gurkenglas(~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de) (Ping timeout: 250 seconds)
2022-01-29 14:35:36 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2022-01-29 14:37:38 +0100 <jackdk> Andrew: I use dante with ghcid and am reasonably happy
2022-01-29 14:38:15 +0100 <Andrew> I used to yank and paste code from emacs into the repl, which is reasonably stupid
2022-01-29 14:38:52 +0100 <polyphem> Andrew: ghcid recompiles your file automatically upon file save
2022-01-29 14:39:14 +0100 <polyphem> Andrew: no need to copy paste
2022-01-29 14:39:35 +0100 <Andrew> polyphem: while true; do inotifywait -e close_write program.hs; make program; ./program; done
2022-01-29 14:40:37 +0100pooryorick(~pooryoric@87-119-174-173.tll.elisa.ee) (Ping timeout: 240 seconds)
2022-01-29 14:42:04 +0100 <polyphem> Andrew: yeah, but ghcid , also runs linter can handle stack and cabal and gives you errors ...
2022-01-29 14:44:00 +0100 <Andrew> that's nice
2022-01-29 14:47:47 +0100forell_forell
2022-01-29 14:48:17 +0100forell(~forell@host-178-216-90-220.sta.tvknaszapraca.pl) (Changing host)
2022-01-29 14:48:17 +0100forell(~forell@user/forell)
2022-01-29 14:51:58 +0100jespada(~jespada@87.74.36.188) (Ping timeout: 268 seconds)
2022-01-29 14:53:03 +0100jespada(~jespada@87.74.36.188)
2022-01-29 14:56:58 +0100max22-(~maxime@2a01cb088335980091c6fbcd4fea35f7.ipv6.abo.wanadoo.fr)
2022-01-29 15:00:02 +0100segfaultfizzbuzz(~rustisafu@2602:306:cd3c:9350:59e3:db49:aa0a:46e5)
2022-01-29 15:03:43 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-01-29 15:06:14 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-01-29 15:08:01 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-01-29 15:08:58 +0100Codaraxis(~Codaraxis@user/codaraxis)
2022-01-29 15:08:59 +0100kuribas(~user@ptr-25vy0iaa493etjqvp1u.18120a2.ip6.access.telenet.be)
2022-01-29 15:09:16 +0100o-90(~o-90@gateway/tor-sasl/o-90)
2022-01-29 15:12:51 +0100mestre(~mestre@191.177.181.194) (Quit: Lost terminal)
2022-01-29 15:17:09 +0100pwug(~pwug@user/pwug)
2022-01-29 15:26:33 +0100zer0bitz(~zer0bitz@2001:2003:f444:a000:ec86:7a91:dddd:e8c7)
2022-01-29 15:27:46 +0100juhp(~juhp@128.106.188.82) (Ping timeout: 256 seconds)
2022-01-29 15:31:15 +0100yauhsien_(~yauhsien@61-231-37-18.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-01-29 15:31:48 +0100o-90(~o-90@gateway/tor-sasl/o-90) (Ping timeout: 276 seconds)
2022-01-29 15:32:44 +0100kimjetwav(~user@2607:fea8:2363:8f00:79e4:1253:5b58:4ecf) (Remote host closed the connection)
2022-01-29 15:34:34 +0100dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 256 seconds)
2022-01-29 15:42:05 +0100yauhsien_(~yauhsien@61-231-37-18.dynamic-ip.hinet.net)
2022-01-29 15:42:10 +0100boxscape_(~boxscape_@p4ff0b9d5.dip0.t-ipconnect.de) (Quit: Connection closed)
2022-01-29 15:47:02 +0100yauhsien_(~yauhsien@61-231-37-18.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-01-29 15:48:05 +0100deadmarshal(~deadmarsh@95.38.117.123) (Ping timeout: 268 seconds)
2022-01-29 15:49:29 +0100ph88(~ph88@2a02:8109:9e00:71d0:48e1:be0c:b23c:dea9)
2022-01-29 15:49:37 +0100emad(~emad@156.214.92.21)
2022-01-29 15:49:59 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-01-29 16:01:20 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-01-29 16:03:04 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-01-29 16:03:12 +0100dyeplexer(~dyeplexer@user/dyeplexer)
2022-01-29 16:08:51 +0100Inst(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net)
2022-01-29 16:14:24 +0100chenqisu1(~chenqisu1@183.217.200.249) (Ping timeout: 250 seconds)
2022-01-29 16:15:56 +0100Inst(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 256 seconds)
2022-01-29 16:17:47 +0100pooryorick(~pooryoric@87-119-174-173.tll.elisa.ee)
2022-01-29 16:17:57 +0100son0p(~ff@2800:484:1d81:b700:d40b:900:b387:320)
2022-01-29 16:18:27 +0100zmt01(~zmt00@user/zmt00)
2022-01-29 16:22:37 +0100zmt01(~zmt00@user/zmt00) (Ping timeout: 240 seconds)
2022-01-29 16:26:01 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2541:beac:9acd:61a8)
2022-01-29 16:29:08 +0100 <georgy> hi
2022-01-29 16:29:33 +0100 <georgy> how can I pass haskell function as a callback to a C function that accepts function pointer as void*?
2022-01-29 16:30:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2541:beac:9acd:61a8) (Ping timeout: 240 seconds)
2022-01-29 16:35:30 +0100califax(~califax@user/califx) (Ping timeout: 276 seconds)
2022-01-29 16:36:45 +0100coot(~coot@213.134.190.95) (Quit: coot)
2022-01-29 16:37:25 +0100 <georgy> ok, let me step back a bit, how would I pass haskell function to a C function that accepts function pointer? is this still up to date example/
2022-01-29 16:37:28 +0100 <georgy> http://wiki.haskell.org/GHC/Using_the_FFI#Callbacks_into_Haskell_from_foreign_code
2022-01-29 16:37:36 +0100califax(~califax@user/califx)
2022-01-29 16:37:44 +0100 <georgy> I'm not sure I understand this: foreign import ccall "wrapper" wrap :: (CDouble -> CDouble) -> IO (FunPtr (CDouble -> CDouble))
2022-01-29 16:38:10 +0100kjak(~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
2022-01-29 16:38:51 +0100lbseale(~ep1ctetus@user/ep1ctetus)
2022-01-29 16:42:13 +0100lbseale(~ep1ctetus@user/ep1ctetus) (Client Quit)
2022-01-29 16:43:13 +0100 <[exa]> georgy: have to say the "wrapper" there isn't really documented
2022-01-29 16:44:42 +0100 <[exa]> it seems like it is the thing that adds the necessary bits into the haskell notion of function (closure data + recipe for evaluating them) to the void*; you get a void pointer that you can pass to C and call as if it was a plain old ccall, then you clean the wrapper with freeHsFunPtr
2022-01-29 16:46:51 +0100 <geekosaur> it's semi-documented in the language report
2022-01-29 16:47:25 +0100 <geekosaur> (which I just noticed has a bad example for a different case, it treats errno as an actual variable)
2022-01-29 16:48:12 +0100 <[exa]> oh here https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/rts/ffi#foreign-import-wrapper
2022-01-29 16:48:42 +0100 <[exa]> "adjustor thunk", wow.
2022-01-29 16:50:48 +0100 <geekosaur> that's what you get for looking in the commentary :)
2022-01-29 16:50:57 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2022-01-29 16:52:53 +0100 <int-e> geekosaur: well, if you don't like guts you shouldn't ask what the sausage is made of :)
2022-01-29 16:53:16 +0100 <geekosaur> that was more or less my point :)
2022-01-29 16:53:30 +0100 <int-e> oh
2022-01-29 16:53:54 +0100 <int-e> (I'm mixing up nicks as usual, [exa] would've be the correct target)
2022-01-29 16:54:25 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net)
2022-01-29 16:54:54 +0100wei2912(~wei2912@138.75.71.147) (Remote host closed the connection)
2022-01-29 17:00:11 +0100little_mac(~little_ma@2601:410:4300:3ce0:b1c1:7d23:9565:94df)
2022-01-29 17:03:06 +0100bob(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-01-29 17:05:01 +0100bobsoxen
2022-01-29 17:15:34 +0100soxen(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Quit: Leaving)
2022-01-29 17:16:13 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-01-29 17:18:25 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-01-29 17:19:03 +0100 <georgy> it took me 15 minutes to figure out why this failed to compile: ptr <- castUINTPtrToPtr (fromIntegral x)
2022-01-29 17:19:17 +0100georgy(~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Error))
2022-01-29 17:19:23 +0100fef(~thedawn@user/thedawn)
2022-01-29 17:19:56 +0100georgy(~bc8147f2@83.167.180.121)
2022-01-29 17:20:01 +0100 <georgy> Couldn't match type 'Ptr' with 'IO' Expected type: IO () Actual type: Ptr ()
2022-01-29 17:21:08 +0100zer0bitz_(~zer0bitz@2001:2003:f444:a000:319a:8ff4:9a9c:6a36)
2022-01-29 17:21:21 +0100 <ski> yeh, you wanted `let ptr = ...'
2022-01-29 17:21:45 +0100 <georgy> yes
2022-01-29 17:22:00 +0100slowButPresent(~slowButPr@user/slowbutpresent)
2022-01-29 17:22:00 +0100 <ski> (also, is `UINT_PTR' in `Num' ?)
2022-01-29 17:22:03 +0100 <Andrew> Unsafe stuff
2022-01-29 17:22:31 +0100 <ski> the cast ?
2022-01-29 17:22:35 +0100 <Andrew> By the way, just curious, what are you trying to achieve with callbacks?
2022-01-29 17:22:48 +0100 <Andrew> Pointers are unsafe to me :)
2022-01-29 17:23:03 +0100kaph(~kaph@net-2-47-208-144.cust.vodafonedsl.it) (Read error: Connection reset by peer)
2022-01-29 17:23:18 +0100zer0bitz(~zer0bitz@2001:2003:f444:a000:ec86:7a91:dddd:e8c7) (Ping timeout: 250 seconds)
2022-01-29 17:23:20 +0100Morrow_(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2022-01-29 17:23:30 +0100 <geekosaur> they're inevitable if you're doing FFI
2022-01-29 17:23:40 +0100 <geekosaur> one could of course argue the FFI is unsafe though
2022-01-29 17:23:50 +0100 <georgy> I am calling C function that accepts a callback, and it passes pointer to callback as integral value
2022-01-29 17:24:00 +0100 <ski> (is it `void *' or `void (*)()' ?)
2022-01-29 17:24:10 +0100 <Andrew> ~~everything not-purely-functional is unsafe, so all programs that do things are unsafe~~
2022-01-29 17:24:26 +0100 <georgy> callback is a function pointer
2022-01-29 17:24:27 +0100 <Andrew> I'd argue that haskells that contain Monads feel a bit chunky
2022-01-29 17:24:52 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
2022-01-29 17:24:54 +0100gehmehgeh(~user@user/gehmehgeh) (Ping timeout: 276 seconds)
2022-01-29 17:25:55 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-29 17:25:55 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-29 17:25:55 +0100wroathe(~wroathe@user/wroathe)
2022-01-29 17:26:23 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-01-29 17:26:31 +0100gehmehgeh(~user@user/gehmehgeh)
2022-01-29 17:26:46 +0100Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 250 seconds)
2022-01-29 17:27:00 +0100 <ski> chunky ?
2022-01-29 17:27:20 +0100 <Andrew> Human feelings are weird and unsafe
2022-01-29 17:27:21 +0100 <ski> how're lists chunky ?
2022-01-29 17:27:23 +0100Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2022-01-29 17:27:30 +0100Morrow_(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Read error: Connection reset by peer)
2022-01-29 17:28:03 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
2022-01-29 17:28:07 +0100 <Andrew> lists aren't chunky
2022-01-29 17:28:09 +0100zmt01(~zmt00@user/zmt00)
2022-01-29 17:28:10 +0100 <Andrew> "do" is chunky
2022-01-29 17:28:11 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Client Quit)
2022-01-29 17:28:30 +0100skistill has no idea what "chunky" is intended to mean
2022-01-29 17:29:00 +0100Andrewcannot define it, either
2022-01-29 17:29:02 +0100random-jellyfish(~random-je@user/random-jellyfish)
2022-01-29 17:29:07 +0100 <ski> georgy : does it really accept a plain `void *' ("anonymous data pointer", not a function pointer) ?
2022-01-29 17:30:21 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-01-29 17:30:38 +0100yauhsien_(~yauhsien@61-231-37-18.dynamic-ip.hinet.net)
2022-01-29 17:30:40 +0100 <maerwald> Andrew: you mean most programs are (>>) and thus don't really need the monad interface?
2022-01-29 17:30:49 +0100 <Andrew> maerwald: No?
2022-01-29 17:30:58 +0100Morrow_(~Morrow@bzq-110-168-31-106.red.bezeqint.net)
2022-01-29 17:31:19 +0100 <Andrew> they're needed, but they're just not pure-feeling enough for me, maybe I'm a jerk
2022-01-29 17:31:23 +0100 <random-jellyfish> I'm trying to model a Discrete Event System Specification in Haskell https://en.wikipedia.org/wiki/DEVS, and I'm not sure whether to include the delta, ta and lambda functions as fields of the DEVS data type or to put them in a type class and then create and instance of that for DEVS, any thoughts on this?
2022-01-29 17:31:52 +0100shailangsa(~shailangs@host86-185-98-37.range86-185.btcentralplus.com)
2022-01-29 17:32:33 +0100 <geekosaur> Andrew, or maybe you'd prefer themathematical side to the CS side
2022-01-29 17:32:48 +0100 <Andrew> That's true
2022-01-29 17:32:59 +0100 <random-jellyfish> or as a more general question, when should have functions as fields of records and when should you have them in type classes?
2022-01-29 17:33:19 +0100mbuf(~Shakthi@122.162.13.98) (Quit: Leaving)
2022-01-29 17:34:02 +0100Morrow(~Morrow@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 240 seconds)
2022-01-29 17:34:06 +0100 <geekosaur> random-jellyfish, type classes are for when you have conceptually similar operations on different types
2022-01-29 17:34:51 +0100 <geekosaur> if you have only the type DEVS to deal with, a typeclass is pointless and may slow things down
2022-01-29 17:35:54 +0100 <random-jellyfish> good point
2022-01-29 17:36:15 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2022-01-29 17:36:25 +0100 <random-jellyfish> I'll make them fields of DEVS then
2022-01-29 17:36:50 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
2022-01-29 17:37:31 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-01-29 17:39:06 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-01-29 17:40:36 +0100fef(~thedawn@user/thedawn) (Quit: Leaving)
2022-01-29 17:40:48 +0100denbrahe(~denbrahe@2001:470:69fc:105::19c0)
2022-01-29 17:41:02 +0100jakalx(~jakalx@base.jakalx.net)
2022-01-29 17:43:17 +0100Gurkenglas(~Gurkengla@dslb-090-186-104-244.090.186.pools.vodafone-ip.de)
2022-01-29 17:43:40 +0100denbrahe(~denbrahe@2001:470:69fc:105::19c0) (Quit: Reconnecting)
2022-01-29 17:43:57 +0100denbrahe(~denbrahe@2001:470:69fc:105::19c0)
2022-01-29 17:48:20 +0100unmanbearpig(~unmanbear@user/unmanbearpig) (Quit: WeeChat 3.3)
2022-01-29 17:49:03 +0100fef(~thedawn@user/thedawn)
2022-01-29 17:50:16 +0100denbrahe(~denbrahe@2001:470:69fc:105::19c0) (Quit: Reconnecting)
2022-01-29 17:50:26 +0100 <Andrew> geekosaur: I'm actually quite new to haskell though
2022-01-29 17:50:39 +0100denbrahe(~denbrahe@2001:470:69fc:105::19c0)
2022-01-29 17:50:40 +0100 <Andrew> Barely scratched the surface of Monads
2022-01-29 17:51:23 +0100 <ski> monads are quite diverse
2022-01-29 17:51:56 +0100 <geekosaur> poke at the state monad for a simple example (and a demonstration that monads by themselves do not mean impurity)
2022-01-29 17:51:57 +0100 <random-jellyfish> I'd recommend to start with the list monad, that's where I first understood the power of monads
2022-01-29 17:52:08 +0100 <geekosaur> list would be next, yes
2022-01-29 17:52:11 +0100kuribas(~user@ptr-25vy0iaa493etjqvp1u.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2022-01-29 17:52:20 +0100 <geekosaur> but state's easier to figure out if you're new
2022-01-29 17:52:37 +0100 <geekosaur> list will twist your brain a bit, but thereby show you what monads bring to the table
2022-01-29 17:53:03 +0100 <ski> (and `do'-notation is just some pretty syntactic sugar. to understand monads, you should get a feel for particular examples of monads, what they do / what they're about, how they work. how the basic operations `return' and `(>>=)' work for that monad)
2022-01-29 17:53:29 +0100 <geekosaur> (and IO barely uses monads tbh, it just does sequencing via them)
2022-01-29 17:53:37 +0100 <ski> `Maybe' might be a nice starting-point, before lists
2022-01-29 17:54:26 +0100 <random-jellyfish> I how to use StateT monad transformer from this example of 99 bottles of beer : https://www.99-bottles-of-beer.net/language-haskell-1360.html
2022-01-29 17:54:33 +0100 <random-jellyfish> I learned how to use StateT monad transformer from this example of 99 bottles of beer : https://www.99-bottles-of-beer.net/language-haskell-1360.html
2022-01-29 17:55:34 +0100 <random-jellyfish> I think intuitive examples are always good for learning
2022-01-29 17:56:04 +0100 <Andrew> Thanks
2022-01-29 17:56:26 +0100 <Andrew> I assume IO monads just use lambda nesting to achieve "sequences"?
2022-01-29 17:56:49 +0100 <Andrew> That's the only functional way of doing it that I can understand
2022-01-29 17:57:07 +0100 <random-jellyfish> they use the the bind operator, like all other monads
2022-01-29 17:57:26 +0100 <ski> before tackling monads, you should be comfortable with polymorphism, higher-order functions, `data' types (including parameterized ones), and type classes
2022-01-29 17:57:39 +0100Andrewhas 100MB of free memory running some homemade AI stuff in the background, he wonders if there are machine learning haskell libs
2022-01-29 17:58:08 +0100 <Andrew> Forgot the name, I think I'm okay with typeclasses and polymorphism thereof
2022-01-29 17:58:19 +0100 <Andrew> I tackled Lisp before, so higher-order is okay
2022-01-29 17:58:29 +0100 <Andrew> I'm not doing well in monoids and semigroups, so mehh
2022-01-29 17:58:38 +0100 <Andrew> Probably should review thhat first
2022-01-29 17:59:00 +0100 <ski> yea, it's probably a good idea to have some idea how those work. also functors
2022-01-29 17:59:12 +0100 <Andrew> That, I never touched
2022-01-29 17:59:33 +0100 <random-jellyfish> monoids are isomorphic to strings endowed with concatenation - that's all I need to know about monoids
2022-01-29 17:59:34 +0100 <ski> all monads are functors. but functors are simpler to understand, so you should cover those first
2022-01-29 18:00:03 +0100 <random-jellyfish> and I have no idea what semigroups are and what they do, are they important?
2022-01-29 18:00:16 +0100 <Andrew> I do know what semigroups are from math
2022-01-29 18:00:42 +0100 <Andrew> (I'm from China and 8th-grade math class doesn't include that, but people talk about group theory)
2022-01-29 18:00:45 +0100 <ski> > sortBy (comparing length <> compare) (words "The quick brown fox jumps over the lazy dog)" -- cute monoid example, effecting sorting primarily by length and secondarily by the usual lexicographic ordering (among words of the same length here)
2022-01-29 18:00:46 +0100 <lambdabot> <hint>:1:244: error:
2022-01-29 18:00:46 +0100 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
2022-01-29 18:01:01 +0100 <ski> > sortBy (comparing length <> compare) (words "The quick brown fox jumps over the lazy dog)") -- eh, missing bracket :)
2022-01-29 18:01:02 +0100 <lambdabot> ["The","fox","the","dog)","lazy","over","brown","jumps","quick"]
2022-01-29 18:01:25 +0100 <Andrew> I might know what functors are without knowing (i.e. I don't know the name), but whatever, I'll learn on them, I don't think I know them
2022-01-29 18:01:30 +0100 <ski> ah, that's nice, Andrew
2022-01-29 18:01:34 +0100 <Andrew> thanks all!
2022-01-29 18:01:37 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-01-29 18:02:48 +0100 <ski> semigroups and monoids are almost the same. both have a (binary) operation (which should be associative). monoids also have a "neutral element / identity / unit" (combining another element with the neutral element, using the binary operation, gives back the other element)
2022-01-29 18:03:48 +0100 <ski> and groups are monoids in which each element has an inverse (iow, you have a unary operation which gives the inverse of its operand), where the combination of an element and its inverse gives the neutral element
2022-01-29 18:03:50 +0100 <random-jellyfish> semigroupt don't have the unit?
2022-01-29 18:03:56 +0100 <random-jellyfish> semigroups*
2022-01-29 18:04:03 +0100 <ski> they don't need to
2022-01-29 18:04:17 +0100 <ski> (but all monoids are semigroups, so those do have unit)
2022-01-29 18:04:42 +0100 <random-jellyfish> are there any intuitive examples of semigroups?
2022-01-29 18:04:44 +0100burnsidesLlama(~burnsides@dhcp168-016.wadham.ox.ac.uk)
2022-01-29 18:04:48 +0100 <ski> the operation `(+)' with neutral element `0' and inverse `negate' is a group
2022-01-29 18:05:30 +0100 <ski> the operation `(*)' with neutral element `1' and inverse `recip' is a group .. if we discount non-invertible elements, like `0'
2022-01-29 18:05:44 +0100 <ski> the operation `(++)' with neutral element `[]' is a monoid
2022-01-29 18:05:56 +0100 <ski> the operation `max' is a semigroup, and so is `min'
2022-01-29 18:06:07 +0100froduck(~froduck@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net)
2022-01-29 18:06:18 +0100 <ski> > recip 2
2022-01-29 18:06:19 +0100 <lambdabot> 0.5
2022-01-29 18:06:24 +0100 <ski> (that's `1/2')
2022-01-29 18:06:52 +0100 <geekosaur> [29 16:56:26] <Andrew> I assume IO monads just use lambda nesting to achieve "sequences"? <-- it's the state monad with a minimal state token, thus setting up a trivial data dependency between calls enforcing a sequence
2022-01-29 18:07:10 +0100 <ski> `(&&)' with `True', and `(||)' with `False', are also monoids
2022-01-29 18:07:24 +0100 <Andrew> That sounds hacky
2022-01-29 18:07:31 +0100 <ski> hm, and `gcd' with `0', and `lcm' with `1'
2022-01-29 18:07:37 +0100 <Andrew> But I think I'm almost to the point on that one, yay
2022-01-29 18:07:51 +0100 <Andrew> *Why am I not in b ed yet*
2022-01-29 18:08:04 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-01-29 18:08:22 +0100ski. o O ( isn't it morning over there ? )
2022-01-29 18:08:30 +0100 <Andrew> I think there are also closures, which are just binary operations that result in something inside the set
2022-01-29 18:08:39 +0100 <Andrew> 01:48
2022-01-29 18:08:47 +0100 <froduck> maybe you folded your sheets wrong, and spacetime is preventing you from smoothing them or something
2022-01-29 18:08:51 +0100 <ski> ah, ok
2022-01-29 18:09:28 +0100SummerSonw(~The_viole@203.77.49.232)
2022-01-29 18:09:33 +0100 <froduck> probably if you had some gravity magnets to make your bed with...
2022-01-29 18:09:54 +0100 <random-jellyfish> I would assume all natural numbers >0 with addition form a semigroup?
2022-01-29 18:09:54 +0100yauhsien_(~yauhsien@61-231-37-18.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-01-29 18:10:04 +0100 <ski> yes
2022-01-29 18:10:40 +0100 <random-jellyfish> and could it be that is where the prefix semi comes from? because you're basically throwing away half the elements of a group to get a semigroup?
2022-01-29 18:10:56 +0100 <ski> hm .. never thought of that before
2022-01-29 18:11:03 +0100 <ski> i guess it could be plausible
2022-01-29 18:11:31 +0100 <ski> (usually i think of "semi-" as meaning roughly "not quite" or "somewhat less than")
2022-01-29 18:11:32 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 240 seconds)
2022-01-29 18:11:54 +0100 <froduck> rndom-jellyfish: half the axioms
2022-01-29 18:12:19 +0100froduck(~froduck@cpc101088-sgyl37-2-0-cust22.18-2.cable.virginm.net) (Quit: Connection closed)
2022-01-29 18:12:23 +0100 <random-jellyfish> perfect, now I know what semigroups are
2022-01-29 18:12:30 +0100ski. o O ( "Half would have been just right, said the girl who got triplets." )
2022-01-29 18:12:42 +0100 <random-jellyfish> that's how I like to learn math, from examples
2022-01-29 18:13:03 +0100 <random-jellyfish> I trust the Phd folks with the proofs
2022-01-29 18:13:22 +0100 <ski> i guess maximum and minimum are my immediate go-to examples
2022-01-29 18:13:41 +0100 <Andrew> I like to learn stuff via examples, and think of a definition/proof through that
2022-01-29 18:13:46 +0100 <Andrew> Whatever, afk
2022-01-29 18:13:52 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-29 18:15:09 +0100 <random-jellyfish> Andrew when you get to learning about lenses...just learn how to use them first
2022-01-29 18:16:05 +0100 <random-jellyfish> don't try to go down the rabbit hole with understanding what's behind them
2022-01-29 18:16:06 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-01-29 18:16:13 +0100SummerSonw(~The_viole@203.77.49.232) (Quit: Leaving)
2022-01-29 18:16:17 +0100 <random-jellyfish> you'll risk your sanity
2022-01-29 18:16:48 +0100 <random-jellyfish> I'm joking of course...but I did find lenses to be very complicated
2022-01-29 18:17:59 +0100yauhsien_(~yauhsien@61-231-37-18.dynamic-ip.hinet.net)
2022-01-29 18:18:29 +0100 <lagash> And whatever you do, do NOT use lenses under direct sunlight, it'll burn!
2022-01-29 18:20:08 +0100 <romesrf> random-jellyfish: there is a great talk by simon peyton jones on lenses
2022-01-29 18:20:15 +0100 <romesrf> it did it for me
2022-01-29 18:22:32 +0100yauhsien_(~yauhsien@61-231-37-18.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-01-29 18:23:43 +0100 <random-jellyfish> thanks, I'll put it on my watch later list
2022-01-29 18:24:05 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-01-29 18:30:25 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt)
2022-01-29 18:30:39 +0100Inst(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net)
2022-01-29 18:32:12 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt) (Ping timeout: 250 seconds)
2022-01-29 18:34:08 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 18:35:42 +0100emf_(~emf@2620:10d:c090:400::5:29d7)
2022-01-29 18:35:45 +0100RFV(~Thunderbi@111.red-88-5-241.dynamicip.rima-tde.net)
2022-01-29 18:38:16 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 245 seconds)
2022-01-29 18:38:57 +0100emf(~emf@2601:602:9400:8f0:435:b386:5ad4:6eb2) (Ping timeout: 240 seconds)
2022-01-29 18:39:06 +0100Inst(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 245 seconds)
2022-01-29 18:39:10 +0100RFV(~Thunderbi@111.red-88-5-241.dynamicip.rima-tde.net) (Client Quit)
2022-01-29 18:40:18 +0100alt-romes(~romes@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.4)
2022-01-29 18:41:10 +0100econo(uid147250@user/econo)
2022-01-29 18:42:44 +0100zer0bitz(~zer0bitz@2001:2003:f444:a000:f8f2:a6ee:f8f:27a0)
2022-01-29 18:44:08 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-01-29 18:45:32 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-01-29 18:46:58 +0100zer0bitz_(~zer0bitz@2001:2003:f444:a000:319a:8ff4:9a9c:6a36) (Ping timeout: 260 seconds)
2022-01-29 18:47:15 +0100RMSBach(~guygastin@137.184.131.156)
2022-01-29 18:47:19 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 18:47:44 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2022-01-29 18:48:04 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-29 18:49:31 +0100zincy(~zincy@host86-151-99-97.range86-151.btcentralplus.com)
2022-01-29 18:49:47 +0100 <EvanR> if you think lens is complicated, you can read this instead which is simular http://conal.net/blog/posts/semantic-editor-combinators
2022-01-29 18:50:03 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2022-01-29 18:52:42 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds)
2022-01-29 18:53:44 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-01-29 18:54:02 +0100zincy(~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Ping timeout: 240 seconds)
2022-01-29 18:54:07 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-29 18:54:08 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-29 18:54:08 +0100wroathe(~wroathe@user/wroathe)
2022-01-29 18:56:37 +0100kjak(~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2022-01-29 18:56:49 +0100deadmarshal(~deadmarsh@95.38.117.123)
2022-01-29 18:57:50 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-01-29 18:58:30 +0100 <dolio> I don't think there's anything that complicated about lenses. The complication is people explaining and relating different ways of implementing them.
2022-01-29 18:58:38 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2022-01-29 18:58:45 +0100coot(~coot@213.134.190.95)
2022-01-29 19:00:20 +0100 <dolio> And getting the type system to automatically accept various subtyping relationships based on the implementation details.
2022-01-29 19:00:50 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
2022-01-29 19:02:07 +0100zincy(~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67)
2022-01-29 19:02:10 +0100kaph(~kaph@net-2-47-208-144.cust.vodafonedsl.it)
2022-01-29 19:02:55 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-01-29 19:04:00 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-29 19:08:11 +0100 <random-jellyfish> does ghc 8.6.5 support DuplicateRecordFields?
2022-01-29 19:10:16 +0100 <random-jellyfish> nvm found it, it's from 8.0.1
2022-01-29 19:11:27 +0100Jing(~hedgehog@240e:390:7c53:a7e1:247f:ed9b:32f9:1faf) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-29 19:14:05 +0100soxen(~bbrahms@pool-173-54-217-168.nwrknj.fios.verizon.net) (Read error: Connection reset by peer)
2022-01-29 19:16:06 +0100Null_A(~null_a@2601:645:8700:2290:6509:ee11:ea28:47c)
2022-01-29 19:16:53 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2541:beac:9acd:61a8)
2022-01-29 19:17:56 +0100orcus(~orcus@user/brprice) (Quit: ZNC 1.8.1 - https://znc.in)
2022-01-29 19:17:56 +0100dispater-(~dispater@user/brprice) (Quit: ZNC 1.8.1 - https://znc.in)
2022-01-29 19:19:11 +0100jao(~jao@66.63.167.119)
2022-01-29 19:20:17 +0100lionhairdino(~jacoo@121.131.39.82) (Ping timeout: 240 seconds)
2022-01-29 19:20:43 +0100dispater(~dispater@user/brprice)
2022-01-29 19:21:14 +0100orcus(~orcus@user/brprice)
2022-01-29 19:22:51 +0100alp(~alp@user/alp)
2022-01-29 19:25:02 +0100vglfr(~vglfr@88.155.52.56)
2022-01-29 19:25:20 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-01-29 19:28:35 +0100pwug(~pwug@user/pwug) (Quit: Leaving)
2022-01-29 19:29:27 +0100jao(~jao@66.63.167.119) (Ping timeout: 260 seconds)
2022-01-29 19:31:22 +0100jao(~jao@68.235.43.172)
2022-01-29 19:41:36 +0100beaky(~beaky@2a03:b0c0:0:1010::1e:a001) (Ping timeout: 245 seconds)
2022-01-29 19:42:29 +0100beaky(~beaky@2a03:b0c0:0:1010::1e:a001)
2022-01-29 19:44:04 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-01-29 19:47:10 +0100 <justsomeguy> In GHCi, why does alpha = ['a'..'z']; l [] = 0; l (_:xs) = 1 + l xs; l alpha; :sprint alpha result in l = _, but if I change the definitino of l to l t = case t of { [] -> 0; (_:xs) -> 1 + l xs }, then :sprint alpha prints alpha = "abcdefghijklmnopqrstuvwxyz"?
2022-01-29 19:47:14 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-01-29 19:48:19 +0100dyeplexer(~dyeplexer@user/dyeplexer) (Remote host closed the connection)
2022-01-29 19:49:00 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-01-29 19:50:32 +0100asivitz(uid178348@id-178348.tinside.irccloud.com)
2022-01-29 19:50:46 +0100 <EvanR> alpha resets to egg state if nothing is holding onto it
2022-01-29 19:50:59 +0100Sgeo(~Sgeo@user/sgeo)
2022-01-29 19:51:01 +0100 <EvanR> to avoid using a lot of memory when doing ghci stuff
2022-01-29 19:52:59 +0100 <justsomeguy> What is egg state? Do you mean a thunk? The part that confuses me is that the new definition of l forces evaluation of the values in alpha in the first place. I was expecting the same result of alpha = _.
2022-01-29 19:53:07 +0100 <mrianbloom> What is the most developed library for frontend gui development for Haskell on linux?
2022-01-29 19:53:14 +0100 <EvanR> the original thunk if you will, before it was evauated
2022-01-29 19:54:13 +0100 <justsomeguy> Before the figurative egg was cracked open :)
2022-01-29 19:54:13 +0100 <geekosaur> mrianbloom, gi-gtk probably
2022-01-29 19:54:23 +0100 <geekosaur> unless by "frontend" you mean web
2022-01-29 19:54:28 +0100random-jellyfish(~random-je@user/random-jellyfish) (Ping timeout: 256 seconds)
2022-01-29 19:54:48 +0100 <monochrom> I guess "linux" means not web. :)
2022-01-29 19:54:58 +0100 <mrianbloom> no I mean linux desktop
2022-01-29 19:55:16 +0100 <EvanR> that's my theory and it could be wrong, for instance, I don't know if resetting a thunk to egg state makes any sense. Because you can't really do it normally, even if that would be nice
2022-01-29 19:55:54 +0100 <mrianbloom> Could also mean windows etc, but right now it's just Ubuntu.
2022-01-29 19:56:00 +0100 <EvanR> but I know that printing out an infinite list in ghci doesn't use infinite memory
2022-01-29 19:56:01 +0100 <geekosaur> ghci does have special support for that, but supposedly those two definitions of `l` should be identical and in fact the simplifier should generate the second fromn the first
2022-01-29 19:56:21 +0100 <EvanR> (necessarily)
2022-01-29 19:56:25 +0100 <polyphem> mrianbloom: there is monomer , its new but interresting , and its multiplatform
2022-01-29 19:56:37 +0100random-jellyfish(~random-je@user/random-jellyfish)
2022-01-29 19:56:48 +0100 <mrianbloom> polyphem: cool I'll check that out
2022-01-29 19:57:42 +0100 <monochrom> I think previous explorations of :sprint reported in this channel already established that :sprint is way more hair-splitting than a reasonable (even realistic) lazy evaluation model.
2022-01-29 19:57:48 +0100 <polyphem> https://github.com/fjvallarino/monomer
2022-01-29 19:58:41 +0100 <EvanR> otoh if the original question was about "most developed" then no, probably GTK
2022-01-29 19:58:54 +0100 <EvanR> as cool as monomer looks
2022-01-29 20:00:32 +0100 <mrianbloom> I might have phrased it, most used or most popular. But honestly a good design (functional approach) is also attractive.
2022-01-29 20:01:34 +0100 <EvanR> most used, popular haskell GUI might either be a web browser or a fancy abuse of terminal xD
2022-01-29 20:01:40 +0100 <monochrom> This is why every question of the form "best X" "most ___ X" should never be taken seriously.
2022-01-29 20:02:31 +0100 <monochrom> The querents themselves aren't even honest perfectionists in the first place.
2022-01-29 20:02:41 +0100 <mrianbloom> Gosh
2022-01-29 20:02:54 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net)
2022-01-29 20:03:00 +0100 <EvanR> back in the 90s basically *every* program written for windows had a GUI. today basically no haskell program has a GUI
2022-01-29 20:03:02 +0100 <monochrom> Do you really need the absolutely best Haskell textbook to learn Haskell?
2022-01-29 20:05:18 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2022-01-29 20:05:43 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2022-01-29 20:06:53 +0100ski. o O ( why settle for less than perfect ? )
2022-01-29 20:07:14 +0100 <maerwald> because you won't settle
2022-01-29 20:07:30 +0100CHUD(~CHUD@host-80-41-89-108.as13285.net) (Ping timeout: 256 seconds)
2022-01-29 20:09:16 +0100justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4)
2022-01-29 20:12:27 +0100 <mrianbloom> Incidentally "Types And Programming Languages" is probably the best haskell textbook. No Haskell in there though ;)
2022-01-29 20:12:44 +0100deadmarshal(~deadmarsh@95.38.117.123) (Ping timeout: 250 seconds)
2022-01-29 20:13:12 +0100 <monochrom> It doesn't have lazy evaluation or non-strictness.
2022-01-29 20:13:21 +0100 <random-jellyfish> I found Real World Haskell to be straight to the point
2022-01-29 20:13:24 +0100 <monochrom> And it has infinite types which Haskell doesn't have.
2022-01-29 20:13:50 +0100 <dolio> What if PFPL is the best Haskell textbook?
2022-01-29 20:14:16 +0100 <mrianbloom> I'm just saying, I earned the most about Haskell there.
2022-01-29 20:14:27 +0100 <mrianbloom> *learned
2022-01-29 20:14:29 +0100 <monochrom> PFPL is even against lazy evaluation!
2022-01-29 20:14:39 +0100 <dolio> Right, that would make it very ironic. :)
2022-01-29 20:14:45 +0100 <monochrom> hahaha
2022-01-29 20:15:55 +0100mmalter(~mmalter@88.126.10.237)
2022-01-29 20:16:53 +0100 <mrianbloom> "Structure and Interpretation of Computer Programs" is my other favorite Haskell textbook. (Again no Haskell.)
2022-01-29 20:16:53 +0100orcus(~orcus@user/brprice) (Quit: ZNC 1.8.2 - https://znc.in)
2022-01-29 20:16:53 +0100dispater(~dispater@user/brprice) (Quit: ZNC 1.8.2 - https://znc.in)
2022-01-29 20:17:30 +0100coot(~coot@213.134.190.95) (Ping timeout: 250 seconds)
2022-01-29 20:17:56 +0100 <mrianbloom> It does have a lambda on the cover though.
2022-01-29 20:18:00 +0100 <monochrom> It lacks pattern matching for algebraic data types. The resulting clumsiness shows.
2022-01-29 20:18:05 +0100 <ski> @quote rules.of.go
2022-01-29 20:18:05 +0100 <lambdabot> sarah says: "But I don't _want_ functional programming!" -- Sarah Peyton Jones, age 11, upon hearing the rules of Go
2022-01-29 20:18:39 +0100dispater(~dispater@user/brprice)
2022-01-29 20:19:08 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2022-01-29 20:19:11 +0100orcus(~orcus@user/brprice)
2022-01-29 20:19:28 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-29 20:20:06 +0100 <EvanR> yeah I still don't understand the rules of Go
2022-01-29 20:20:41 +0100 <monochrom> You can view my pickiness in a positive light. If those 3 issues are all I could raise of those 3 books, that just means I'm quietly acknowledge that they are pretty good in all other aspects.
2022-01-29 20:20:58 +0100 <monochrom> Every silver lining has tarnish.
2022-01-29 20:27:40 +0100 <byorgey> EvanR: if you don't understand the rules of Go you haven't tried very hard
2022-01-29 20:28:13 +0100 <byorgey> unless you're referring to the esoteric corner cases about different sorts of ko rules...
2022-01-29 20:28:13 +0100 <EvanR> I can place the pieces and stuff but the details keep slipping
2022-01-29 20:28:23 +0100 <EvanR> how to end the damn game
2022-01-29 20:28:25 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-29 20:28:25 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-29 20:28:25 +0100wroathe(~wroathe@user/wroathe)
2022-01-29 20:29:03 +0100 <EvanR> you need game theory to figure out when to agree to end the game
2022-01-29 20:29:32 +0100 <EvanR> also no I haven't tried very hard
2022-01-29 20:29:38 +0100 <johnw> EvanR: just play to the bitter end (when you can't place any more pieces), and you'll find that there's a moment in the game when it's obvious that you'll never recover, sort of like in Monopoly.
2022-01-29 20:29:43 +0100 <[exa]> EvanR: you need to ensure free safe space defended by pieces of your color for your own folk, that's it
2022-01-29 20:29:53 +0100 <EvanR> I always play monopoly so long that I pass out
2022-01-29 20:29:54 +0100 <[exa]> EvanR: whoever has the most space at the end, wins
2022-01-29 20:30:27 +0100 <[exa]> accepting that you can't do much anymore is the end
2022-01-29 20:30:57 +0100byorgeyis also fond of https://senseis.xmp.net/?TrompTaylorRules , though no one uses those exact rules in practice
2022-01-29 20:31:46 +0100 <mmalter> Hello. Anyone has experience doing statistical modelling of time series in an ML inspired language? Any advice, pointer?
2022-01-29 20:32:09 +0100 <mmalter> The Haskell situation seem not too good, the OCaml situation looks horrible.
2022-01-29 20:33:01 +0100 <[exa]> mmalter: "statistical modeling of time series" is a pretty wide range of problems, anything specific?
2022-01-29 20:33:18 +0100 <mmalter> well i don't want to reimplement dickey fuller for example
2022-01-29 20:33:54 +0100 <mmalter> but something not too barebone for ARMA would be nice
2022-01-29 20:34:08 +0100 <mmalter> and I am not dreaming too much about multivariate analysis
2022-01-29 20:34:16 +0100 <mmalter> but I am ok doing things myself
2022-01-29 20:34:26 +0100 <mmalter> just dont want to reimplement box jenkins
2022-01-29 20:35:04 +0100 <mmalter> Tbh, I am pretty sure many implementations are out there. Maybe just not published
2022-01-29 20:36:26 +0100 <[exa]> like, this is probably not a welcome advice but isn't there a R package that does exactly that?
2022-01-29 20:36:41 +0100 <mmalter> well, you guessed where I am coming from :D
2022-01-29 20:36:51 +0100 <[exa]> haha okay. :D
2022-01-29 20:36:53 +0100 <geekosaur> sometimes the right tool for the job is a thing
2022-01-29 20:37:14 +0100 <[exa]> R is underrated.
2022-01-29 20:37:16 +0100 <mmalter> Well, I guess I'll just have to get to work then...
2022-01-29 20:37:49 +0100 <[exa]> I had luck with writing the R package authors directly, if something didn't work or seemed cryptic
2022-01-29 20:38:04 +0100 <[exa]> the whole ecosystem there is kinda proud of the status that they solve the problems
2022-01-29 20:38:17 +0100Techcable(~Techcable@168.235.93.147) (Ping timeout: 240 seconds)
2022-01-29 20:38:40 +0100 <mmalter> Meh most people use Matlab or python nowadays. It's a bit distasteful.
2022-01-29 20:38:45 +0100 <mmalter> Not to sound snobby
2022-01-29 20:38:51 +0100 <[exa]> you probably expected pointers to haskell packages but, well, I'm sorry, not aware of any of this
2022-01-29 20:39:03 +0100 <mmalter> that would have been great
2022-01-29 20:39:17 +0100 <mmalter> No but I am beggining to think it does not exist
2022-01-29 20:39:29 +0100 <mmalter> There is hmatrix so it's not like I am completely naked
2022-01-29 20:39:41 +0100 <[exa]> maybe idle for some time, there's 7 hundred people who might have tried the same
2022-01-29 20:41:47 +0100 <[exa]> btw check out julia folks, they might have interesting stuff (for me often if R fails and there's not even a package for the problem in javas and parseltongues, julia has surprisingly cool libraries)
2022-01-29 20:44:24 +0100 <mmalter> I might try that, all the cool kids talk about it. It's just that I really prefer having one general language that solves (sometimes awkwardly) all my problems. I think I'll just write something not too ambitious in Haskell.
2022-01-29 20:44:37 +0100 <mmalter> idk I might get rich and famous doing so
2022-01-29 20:46:58 +0100coot(~coot@213.134.190.95)
2022-01-29 20:51:24 +0100tfeb(~tfb@88.98.95.237)
2022-01-29 20:52:17 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2022-01-29 20:52:30 +0100 <EvanR> a silver hammer, or something
2022-01-29 20:53:00 +0100 <EvanR> one size fits all problems solution
2022-01-29 20:53:36 +0100 <geekosaur> every language has its turing tarpit
2022-01-29 20:54:07 +0100 <monochrom> a gold hammer has a better chance of fitting more holes because gold is softer >:)
2022-01-29 20:54:27 +0100 <EvanR> if all you have is a gold hammer, every problem looks like an iron hole
2022-01-29 20:54:38 +0100 <monochrom> hee hee
2022-01-29 20:56:25 +0100Codaraxis_(~Codaraxis@user/codaraxis)
2022-01-29 20:56:38 +0100 <EvanR> I was so waiting to see how thor could fit into haskell somehow
2022-01-29 20:57:04 +0100 <mmalter> Or the reverse.
2022-01-29 20:57:06 +0100 <mmalter> Sorry
2022-01-29 20:57:40 +0100 <monochrom> Haskell could be good at what Matlab and R are good at. Just needs someone to do library bindings. Note that it is not like Matlab and R really cares about destructive updates. (They happily clone a whole matrix and then GC the old one.)
2022-01-29 20:58:54 +0100 <mmalter> Honnestly I can see why it's not there. It's just not fun to code.
2022-01-29 20:59:01 +0100 <EvanR> particular algorithms can benefit from a local use of destructive updates
2022-01-29 20:59:19 +0100 <mmalter> Well in that case most algo
2022-01-29 20:59:33 +0100 <mmalter> But anyway, everybody do these algo in fortran
2022-01-29 20:59:48 +0100 <EvanR> in before a haskell to fortran DSL
2022-01-29 20:59:56 +0100 <mmalter> he
2022-01-29 20:59:57 +0100Codaraxis(~Codaraxis@user/codaraxis) (Ping timeout: 240 seconds)
2022-01-29 21:00:35 +0100 <EvanR> or perhaps a corresponding decompiler to turn fortran into haskell code (which can be sent back to fortran 1 to 1, like a lens)
2022-01-29 21:00:57 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-01-29 21:01:08 +0100 <EvanR> fortran lens
2022-01-29 21:01:34 +0100 <EvanR> put your haskell goggles on
2022-01-29 21:02:30 +0100vicfred(~vicfred@user/vicfred)
2022-01-29 21:04:19 +0100Codaraxis_(~Codaraxis@user/codaraxis) (Quit: Leaving)
2022-01-29 21:04:26 +0100tfeb(~tfb@88.98.95.237) (Quit: died)
2022-01-29 21:04:56 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
2022-01-29 21:06:31 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-01-29 21:06:51 +0100 <segfaultfizzbuzz> monochrom: actually i've done some high performance matlab programming. you're right that if you are doing a crap paper napkin calculation you do GC but if you are doing any kind of even somewhat performance sensitive calculation you annotate which matrices are references to avoid allocation/deallocation
2022-01-29 21:07:04 +0100 <segfaultfizzbuzz> if the matrices are large that is
2022-01-29 21:07:22 +0100 <random-jellyfish> I just realized I never wrote anything useful in Haskell in my entire life...only small experiments and unfinished work...so embarrassing
2022-01-29 21:07:56 +0100 <polyphem> mmalter: haven't used it but perhaps : https://tweag.github.io/HaskellR/
2022-01-29 21:08:30 +0100fef(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2022-01-29 21:09:16 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-29 21:09:16 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-29 21:09:16 +0100wroathe(~wroathe@user/wroathe)
2022-01-29 21:10:50 +0100 <mmalter> polyphem: damn, I don't know how I missed it. Thanks a lot, really helpful
2022-01-29 21:14:00 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-01-29 21:14:10 +0100Null_A(~null_a@2601:645:8700:2290:6509:ee11:ea28:47c) (Remote host closed the connection)
2022-01-29 21:17:58 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
2022-01-29 21:18:01 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net)
2022-01-29 21:18:45 +0100coot(~coot@213.134.190.95) (Quit: coot)
2022-01-29 21:18:47 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-01-29 21:22:00 +0100 <polyphem> mmalter: np
2022-01-29 21:24:26 +0100bendo(~bendo@ip5f5bebbb.dynamic.kabel-deutschland.de) (Quit: leaving)
2022-01-29 21:29:39 +0100 <sm> random-jellyfish: good, time to fix that!
2022-01-29 21:29:43 +0100alp(~alp@user/alp) (Ping timeout: 268 seconds)
2022-01-29 21:33:20 +0100zincy(~zincy@2a00:23c8:970c:4801:f0bc:c4cb:1665:1c67) (Remote host closed the connection)
2022-01-29 21:33:23 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Remote host closed the connection)
2022-01-29 21:33:43 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg)
2022-01-29 21:40:26 +0100ProfSimm(~ProfSimm@176-12-60-137.pon.spectrumnet.bg) (Ping timeout: 256 seconds)
2022-01-29 21:45:45 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 268 seconds)
2022-01-29 21:45:51 +0100 <sm> make a script that lists your haskell projects and their status
2022-01-29 21:47:22 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-01-29 21:47:34 +0100 <sm> with a Map k a, I'm not finding a way to get the k if I have an a. I guess that's not normally done. Is there a standard way to "invert" a map, to get Map a k ?
2022-01-29 21:47:34 +0100kjak(~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
2022-01-29 21:48:17 +0100 <dsal> :t Map.fromList . fmap swap . Map.assocs
2022-01-29 21:48:18 +0100 <lambdabot> error:
2022-01-29 21:48:18 +0100 <lambdabot> Not in scope: ‘Map.fromList’
2022-01-29 21:48:18 +0100 <lambdabot> Perhaps you meant one of these:
2022-01-29 21:48:24 +0100 <dsal> :t M.fromList . fmap swap . M.assocs
2022-01-29 21:48:25 +0100 <lambdabot> Ord k => M.Map a k -> M.Map k a
2022-01-29 21:48:31 +0100 <geekosaur> maybe you want a bimap?
2022-01-29 21:48:49 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-01-29 21:49:12 +0100 <sm> cool, thanks both
2022-01-29 21:49:35 +0100pavonia(~user@user/siracusa)
2022-01-29 21:49:55 +0100 <EvanR> it would be at least Map a [k]
2022-01-29 21:50:07 +0100 <EvanR> rather, Map a (NonEmpty k) if you are fancy
2022-01-29 21:50:34 +0100 <sm> I have actually Map k [a], which I think Bimap won't handle well
2022-01-29 21:50:52 +0100 <sm> to go from a to k. I should hand roll it I think
2022-01-29 21:50:56 +0100 <ski> a binary relation ?
2022-01-29 21:51:02 +0100 <EvanR> I was going to say this is a poor man's SQL add index, but now you went full relational
2022-01-29 21:51:49 +0100 <EvanR> Rel k a
2022-01-29 21:51:53 +0100MatthiasG2(~matthias@i6DFA01BB.versanet.de)
2022-01-29 21:51:58 +0100johnw(~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0) (Ping timeout: 250 seconds)
2022-01-29 21:52:11 +0100 <monochrom> For full relational, just use [(k, a)] and do exhaustive search by list comprehension :)
2022-01-29 21:52:43 +0100 <EvanR> it's sad that often SQL does just that
2022-01-29 21:52:51 +0100 <ski> depends on which modes you plan to use
2022-01-29 21:53:33 +0100Null_A(~null_a@2601:645:8700:2290:6509:ee11:ea28:47c)
2022-01-29 21:53:37 +0100ski. o O ( magic sets )
2022-01-29 21:55:09 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2541:beac:9acd:61a8) (Remote host closed the connection)
2022-01-29 21:57:41 +0100justGhost(~justache@user/justache) (Remote host closed the connection)
2022-01-29 21:58:40 +0100justGhost(~justache@user/justache)
2022-01-29 21:58:41 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2541:beac:9acd:61a8)
2022-01-29 21:58:48 +0100 <sm> hmm, let me make this concrete. I have accountsbytype :: Map AccountType [AccountName], and I want a accounttypebyn :: Map AccountName AccountType, or a lookupaccounttype :: AccountName -> Maybe AccountType. accountsbytype's AccountName values are disjoint (every account has only one type) but a Map doesn't make that apparent.
2022-01-29 21:59:21 +0100 <sm> which is making it a bit harder to reverse, I think
2022-01-29 21:59:59 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-29 22:01:17 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 22:02:33 +0100 <Clint> i'd say you could use ixset-typed, but that's undermaintained
2022-01-29 22:02:34 +0100 <byorgey> sm: yeah, if I were you I would just handroll my own custom data type that stores both a Map AccountType [AccountName] and a Map AccountName AccountType, and provide operations which automatically keep them in sync
2022-01-29 22:04:00 +0100 <georgy> @hoogle [a] -> Maybe a
2022-01-29 22:04:01 +0100 <lambdabot> Data.Maybe listToMaybe :: [a] -> Maybe a
2022-01-29 22:04:01 +0100 <lambdabot> Test.Framework.Providers.API listToMaybeLast :: [a] -> Maybe a
2022-01-29 22:04:01 +0100 <lambdabot> Distribution.Compat.Prelude.Internal listToMaybe :: [a] -> Maybe a
2022-01-29 22:04:10 +0100 <georgy> hmm, I don't have listToMaybe?
2022-01-29 22:04:24 +0100 <geekosaur> import Data.Maybe
2022-01-29 22:04:28 +0100 <georgy> I did
2022-01-29 22:04:35 +0100 <geekosaur> uh
2022-01-29 22:04:38 +0100 <sm> thanks
2022-01-29 22:04:46 +0100 <geekosaur> it's been there since at least 6.6, pretty sure
2022-01-29 22:05:10 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 22:05:24 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 22:05:31 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 22:05:45 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 22:05:46 +0100 <geekosaur> % :i listToMaybe
2022-01-29 22:05:47 +0100 <yahb> geekosaur: listToMaybe :: [a] -> Maybe a -- Defined in `Data.Maybe'
2022-01-29 22:05:52 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 22:06:08 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 22:06:15 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-29 22:06:23 +0100 <georgy> ok I figured it out. if there's an error, ghci won't have functions included in the file it loaded
2022-01-29 22:08:45 +0100 <EvanR> yeah it's a bit annoying the ghci reload isn't "transactional" and puts you back in a safe zone if reload files
2022-01-29 22:08:47 +0100 <EvanR> fails
2022-01-29 22:10:02 +0100Inst(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net)
2022-01-29 22:10:50 +0100 <EvanR> though if your file is now broken, there's in some sense nothing to go back to
2022-01-29 22:13:11 +0100xff0x(~xff0x@2001:1a81:52b5:2e00:620f:6b65:415e:34ea) (Ping timeout: 250 seconds)
2022-01-29 22:13:58 +0100xff0x(~xff0x@2001:1a81:52b5:2e00:330a:176:fd58:7823)
2022-01-29 22:21:38 +0100zer0bitz(~zer0bitz@2001:2003:f444:a000:f8f2:a6ee:f8f:27a0) (Ping timeout: 260 seconds)
2022-01-29 22:24:12 +0100jgeerds_(~jgeerds@55d4a547.access.ecotel.net)
2022-01-29 22:30:57 +0100mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 240 seconds)
2022-01-29 22:36:31 +0100Null_A(~null_a@2601:645:8700:2290:6509:ee11:ea28:47c) (Remote host closed the connection)
2022-01-29 22:36:46 +0100lavaman(~lavaman@98.38.249.169)
2022-01-29 22:37:58 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 260 seconds)
2022-01-29 22:42:13 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2022-01-29 22:45:56 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2541:beac:9acd:61a8) (Remote host closed the connection)
2022-01-29 22:54:49 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 268 seconds)
2022-01-29 22:57:57 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 240 seconds)
2022-01-29 22:58:06 +0100vicfred(~vicfred@user/vicfred) (Quit: Leaving)
2022-01-29 22:58:15 +0100xff0x(~xff0x@2001:1a81:52b5:2e00:330a:176:fd58:7823) (Ping timeout: 250 seconds)
2022-01-29 22:59:03 +0100Guest25(~Guest25@187.17.40.22)
2022-01-29 22:59:09 +0100xff0x(~xff0x@2001:1a81:52b5:2e00:a456:ec27:982:79c1)
2022-01-29 23:06:24 +0100Topsi(~Tobias@dyndsl-095-033-090-071.ewe-ip-backbone.de)
2022-01-29 23:10:41 +0100gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-01-29 23:12:57 +0100yauhsien_(~yauhsien@61-231-37-18.dynamic-ip.hinet.net)
2022-01-29 23:15:49 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-01-29 23:16:37 +0100Inst(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 240 seconds)
2022-01-29 23:17:03 +0100emad(~emad@156.214.92.21) (Quit: Leaving)
2022-01-29 23:17:32 +0100yauhsien_(~yauhsien@61-231-37-18.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-01-29 23:19:42 +0100Guest25(~Guest25@187.17.40.22) (Quit: Client closed)
2022-01-29 23:22:49 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-01-29 23:25:08 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:2541:beac:9acd:61a8)
2022-01-29 23:27:07 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-01-29 23:27:28 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-01-29 23:28:07 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 268 seconds)
2022-01-29 23:28:19 +0100madjestic(~madjestic@88-159-247-120.fixed.kpn.net)
2022-01-29 23:31:12 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 250 seconds)
2022-01-29 23:31:31 +0100burnsidesLlama(~burnsides@dhcp168-016.wadham.ox.ac.uk) (Remote host closed the connection)
2022-01-29 23:32:03 +0100burnsidesLlama(~burnsides@dhcp168-016.wadham.ox.ac.uk)
2022-01-29 23:32:53 +0100Techcable(~Techcable@168.235.93.147)
2022-01-29 23:33:22 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-01-29 23:33:47 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-01-29 23:34:15 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-29 23:36:14 +0100burnsidesLlama(~burnsides@dhcp168-016.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2022-01-29 23:46:06 +0100kaskal(~kaskal@213-147-165-60.nat.highway.webapn.at)
2022-01-29 23:46:22 +0100kaskal(~kaskal@213-147-165-60.nat.highway.webapn.at) (Client Quit)
2022-01-29 23:46:38 +0100kaskal(~kaskal@2001:4bb8:2cc:5073:e1cf:a3ef:264a:1e80)
2022-01-29 23:47:12 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-01-29 23:50:14 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-01-29 23:51:20 +0100deadmarshal(~deadmarsh@95.38.113.75)
2022-01-29 23:52:40 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-01-29 23:55:37 +0100deadmarshal(~deadmarsh@95.38.113.75) (Ping timeout: 240 seconds)