2022/01/29

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