Home liberachat/#haskell: Logs Calendar

Logs on 2022-07-02 (liberachat/#haskell)

00:00:04 × mvk quits (~mvk@2607:fea8:5ce3:8500::909a) (*.net *.split)
00:00:04 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (*.net *.split)
00:00:04 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c904:ea1d:dddd:db50) (*.net *.split)
00:00:04 × dolio quits (~dolio@130.44.130.54) (*.net *.split)
00:00:04 × thatcher quits (lp0@heathens.club) (*.net *.split)
00:00:04 × Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (*.net *.split)
00:00:04 × atwm quits (~atwm@81.28.193.19) (*.net *.split)
00:00:04 × mima quits (~mmh@aftr-62-216-210-244.dynamic.mnet-online.de) (*.net *.split)
00:00:04 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (*.net *.split)
00:00:04 × foul_owl quits (~kerry@23.82.194.107) (*.net *.split)
00:00:04 × pavonia quits (~user@user/siracusa) (*.net *.split)
00:00:04 × justsomeguy quits (~justsomeg@user/justsomeguy) (*.net *.split)
00:00:04 × kimjetwav quits (~user@2607:fea8:2340:da00:eadc:b566:9c61:625) (*.net *.split)
00:00:04 × Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (*.net *.split)
00:00:04 × geekosaur quits (~geekosaur@xmonad/geekosaur) (*.net *.split)
00:00:04 × zmt00 quits (~zmt00@user/zmt00) (*.net *.split)
00:00:04 × shapr quits (~user@2600:4040:2d31:7100:fe62:9285:d8a9:96db) (*.net *.split)
00:00:04 × jinsun quits (~jinsun@user/jinsun) (*.net *.split)
00:00:04 × inversed quits (~inversed@05412f44.skybroadband.com) (*.net *.split)
00:00:04 × aeka quits (~aeka@2606:6080:1001:e:2e9c:bad5:dbdd:84ea) (*.net *.split)
00:00:04 × gdd1 quits (~gdd@129.199.146.230) (*.net *.split)
00:00:04 × notzmv quits (~zmv@user/notzmv) (*.net *.split)
00:00:04 × sympt quits (~sympt@user/sympt) (*.net *.split)
00:00:04 × sagax quits (~sagax_nb@user/sagax) (*.net *.split)
00:00:04 × vgtw quits (~vgtw@user/vgtw) (*.net *.split)
00:00:04 × zaquest quits (~notzaques@5.130.79.72) (*.net *.split)
00:00:04 × yaroot quits (~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953) (*.net *.split)
00:00:04 × Alex_test quits (~al_test@178.34.160.206) (*.net *.split)
00:00:04 × mtjm quits (~mutantmel@2604:a880:2:d0::208b:d001) (*.net *.split)
00:00:04 × averell quits (~averell@user/averell) (*.net *.split)
00:00:04 × feliix42 quits (~felix@gibbs.uberspace.de) (*.net *.split)
00:00:04 × noctux quits (~noctux@user/noctux) (*.net *.split)
00:00:04 × Kaipei quits (~Kaiepi@156.34.47.253) (*.net *.split)
00:00:04 × jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (*.net *.split)
00:00:04 × ozkutuk quits (~ozkutuk@176.240.173.153) (*.net *.split)
00:00:04 × mstksg quits (~jle`@cpe-23-240-75-236.socal.res.rr.com) (*.net *.split)
00:00:04 × sudden quits (~cat@user/sudden) (*.net *.split)
00:00:04 × siers quits (~ij@user/ij) (*.net *.split)
00:00:04 × mcglk quits (~mcglk@131.191.49.120) (*.net *.split)
00:00:04 × bliminse quits (~bliminse@host109-152-184-218.range109-152.btcentralplus.com) (*.net *.split)
00:00:04 × belphegor666 quits (~satan@ip-046-223-003-073.um13.pools.vodafone-ip.de) (*.net *.split)
00:00:04 × lambdabot quits (~lambdabot@haskell/bot/lambdabot) (*.net *.split)
00:00:04 × megaTherion quits (~therion@unix.io) (*.net *.split)
00:00:04 × tristanC quits (~tristanC@user/tristanc) (*.net *.split)
00:00:04 × haveo quits (~haveo@sl35.iuwt.fr) (*.net *.split)
00:00:04 × forell quits (~forell@user/forell) (*.net *.split)
00:00:21 Alex_test joins (~al_test@178.34.160.206)
00:00:23 mima joins (~mmh@aftr-62-216-210-244.dynamic.mnet-online.de)
00:00:26 jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
00:00:28 thatcher joins (lp0@heathens.club)
00:00:31 haveo joins (~haveo@sl35.iuwt.fr)
00:00:32 noctux joins (~noctux@user/noctux)
00:00:32 pavonia joins (~user@ip5f5bf425.dynamic.kabel-deutschland.de)
00:00:34 feliix42 joins (~felix@gibbs.uberspace.de)
00:00:34 bliminse joins (~bliminse@host109-152-184-218.range109-152.btcentralplus.com)
00:00:36 zaquest joins (~notzaques@5.130.79.72)
00:00:38 sudden joins (~cat@user/sudden)
00:00:46 inversed joins (~inversed@05412f44.skybroadband.com)
00:00:47 aeka joins (~aeka@2606:6080:1001:e:2e9c:bad5:dbdd:84ea)
00:00:49 × pavonia quits (~user@ip5f5bf425.dynamic.kabel-deutschland.de) (Changing host)
00:00:49 pavonia joins (~user@user/siracusa)
00:00:51 forell joins (~forell@host-178-216-90-220.sta.tvknaszapraca.pl)
00:01:00 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
00:01:03 belphegor666 joins (~satan@ip-046-223-003-073.um13.pools.vodafone-ip.de)
00:01:12 × aeka quits (~aeka@2606:6080:1001:e:2e9c:bad5:dbdd:84ea) (Changing host)
00:01:12 aeka joins (~aeka@user/hiruji)
00:01:15 megaTherion joins (~therion@unix.io)
00:01:18 × forell quits (~forell@host-178-216-90-220.sta.tvknaszapraca.pl) (Changing host)
00:01:18 forell joins (~forell@user/forell)
00:01:26 averell joins (~averell@irc.nf3.eu)
00:01:33 × averell quits (~averell@irc.nf3.eu) (Changing host)
00:01:33 averell joins (~averell@user/averell)
00:01:41 Sciencentistguy joins (~sciencent@hacksoc/ordinary-member)
00:01:45 vgtw joins (~vgtw@user/vgtw)
00:01:52 yaroot joins (~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953)
00:01:56 siers joins (~ij@user/ij)
00:01:56 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
00:01:57 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
00:02:00 mtjm joins (~mutantmel@2604:a880:2:d0::208b:d001)
00:02:12 lambdabot joins (~lambdabot@silicon.int-e.eu)
00:02:13 × lambdabot quits (~lambdabot@silicon.int-e.eu) (Changing host)
00:02:13 lambdabot joins (~lambdabot@haskell/bot/lambdabot)
00:02:20 dolio joins (~dolio@130.44.130.54)
00:02:23 jinsun joins (~jinsun@user/jinsun)
00:02:25 × chomwitt quits (~chomwitt@2a02:587:dc17:ef00:a734:f93:648c:824f) (Ping timeout: 260 seconds)
00:02:33 geekosaur joins (~geekosaur@xmonad/geekosaur)
00:02:56 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:38a1:df0f:1ea3:e329)
00:03:03 gdd1 joins (~gdd@2001:470:1f13:187:2e9b:467c:7a38:be67)
00:03:10 mstksg joins (~jle`@cpe-23-240-75-236.socal.res.rr.com)
00:03:49 atwm joins (~atwm@81.28.193.19)
00:04:28 justsomeguy joins (~justsomeg@user/justsomeguy)
00:04:36 foul_owl joins (~kerry@23.82.194.107)
00:04:55 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
00:05:20 tristanC joins (~tristanC@user/tristanc)
00:06:10 mcglk joins (~mcglk@131.191.49.120)
00:07:07 × prolic quits (~prolic@2803:2a00:2c0f:b96d:ec0c:c7f6:efb5:4ff5) (Quit: Ping timeout (120 seconds))
00:07:56 × atwm quits (~atwm@81.28.193.19) (Client Quit)
00:09:23 prolic joins (~prolic@2803:2a00:2c0f:b96d:ec0c:c7f6:efb5:4ff5)
00:10:56 × jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 272 seconds)
00:11:34 × gurkenglas quits (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 272 seconds)
00:13:12 NaturalNumber123 joins (~monadam@137.229.82.64)
00:15:42 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
00:20:11 × ddb quits (~ddb@ipv6two.tilde.club) (Quit: WeeChat 3.5)
00:21:42 dcoutts_ joins (~duncan@host86-155-218-176.range86-155.btcentralplus.com)
00:24:05 × dcoutts__ quits (~duncan@host86-150-18-54.range86-150.btcentralplus.com) (Ping timeout: 255 seconds)
00:25:12 × NaturalNumber123 quits (~monadam@137.229.82.64) (Ping timeout: 246 seconds)
00:28:02 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Quit: Leaving)
00:30:02 × califax quits (~califax@user/califx) (Remote host closed the connection)
00:30:02 × noteness quits (~noteness@user/noteness) (Remote host closed the connection)
00:30:02 × winny quits (~weechat@user/winny) (Remote host closed the connection)
00:30:02 × azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
00:30:02 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
00:30:21 califax joins (~califax@user/califx)
00:30:31 azimut joins (~azimut@gateway/tor-sasl/azimut)
00:30:31 jpds joins (~jpds@gateway/tor-sasl/jpds)
00:30:37 winny joins (~weechat@user/winny)
00:31:24 king_gs joins (~Thunderbi@2806:103e:29:12be:accf:d6c3:d87:7820)
00:33:10 geekosaur joins (~geekosaur@xmonad/geekosaur)
00:33:23 noteness joins (~noteness@user/noteness)
00:36:35 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
00:36:35 × califax quits (~califax@user/califx) (Remote host closed the connection)
00:36:49 califax joins (~califax@user/califx)
00:37:14 jpds joins (~jpds@gateway/tor-sasl/jpds)
00:39:28 × pleo quits (~pleo@user/pleo) (Quit: quit)
00:43:45 × Schrostfutz quits (~Schrostfu@217.150.146.150) (Ping timeout: 246 seconds)
00:50:11 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
00:53:36 frost joins (~frost@user/frost)
00:53:36 × dextaa quits (~DV@user/dextaa) (Read error: Connection reset by peer)
00:55:50 <byorgey> Anyone know of a good way to extract Haddock comments from some code? Like, say I want to get the Haddock comments corresponding to the constructors of a particular data type.
00:55:53 dextaa joins (~DV@user/dextaa)
00:56:02 liz joins (~liz@host86-159-158-175.range86-159.btcentralplus.com)
00:56:45 <hpc> use haddock as a library?
00:58:18 <geekosaur> or ghc as a library, they should be in the AST in particular in 9.x
00:59:16 <hpc> https://hackage.haskell.org/package/haddock-library-1.10.0/docs/Documentation-Haddock-Parser.html seems promising
00:59:21 <byorgey> The Haddocks for the latest haddock-api package don't build =P If I go back several versions, I find "The Haddock API: A rudimentory, highly experimental API exposing some of the internals of Haddock. Don't expect it to be stable.". Not very confidence inspiring.
00:59:26 <hpc> parseParas, then drill down through the data structure
00:59:44 <hpc> weird, haddock itself depends on haddock-api
00:59:50 <byorgey> aha, I was looking at the wrong package!
00:59:59 <byorgey> perfect, thanks hpc
01:00:02 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
01:00:26 jpds joins (~jpds@gateway/tor-sasl/jpds)
01:00:27 <hpc> byorgey: i started from the haddock package and just clicked through its listed dependencies :P
01:03:28 <byorgey> hpc: fair enough. I probably would have gotten there eventually, but thought I would ask in case anyone had done it before. Thanks for doing my work for me =)
01:10:40 × king_gs quits (~Thunderbi@2806:103e:29:12be:accf:d6c3:d87:7820) (Ping timeout: 260 seconds)
01:11:16 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:11:38 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
01:15:52 jpds joins (~jpds@gateway/tor-sasl/jpds)
01:17:23 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:17:57 king_gs joins (~Thunderbi@187.201.228.209)
01:18:30 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.5)
01:18:43 sgillespie[m] parts (~sgillespi@2001:470:69fc:105::2:3a9d) ()
01:18:51 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
01:26:37 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.5)
01:26:51 × hsw__ quits (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Quit: Leaving)
01:27:04 hsw joins (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
01:30:04 × HotblackDesiato quits (~HotblackD@gateway/tor-sasl/hotblackdesiato) (Remote host closed the connection)
01:30:26 nate4 joins (~nate@98.45.169.16)
01:33:10 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 268 seconds)
01:41:55 ddb joins (~ddb@ipv6two.tilde.club)
01:42:07 stiell joins (~stiell@gateway/tor-sasl/stiell)
01:43:19 pragma- joins (~chaos@user/pragmatic-chaos)
01:44:05 × king_gs quits (~Thunderbi@187.201.228.209) (Quit: king_gs)
01:46:10 adrazalan_ joins (~adrazalan@42.191.189.65)
01:49:35 × adrazalan quits (~adrazalan@42.191.189.65) (Ping timeout: 255 seconds)
01:53:47 × bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity)
02:03:31 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
02:04:23 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
02:04:50 zaquest joins (~notzaques@5.130.79.72)
02:13:32 qwym joins (~qwym@pool-96-253-29-94.prvdri.fios.verizon.net)
02:15:11 qwym is now known as ym
02:16:36 ym is now known as qwym
02:17:11 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
02:18:28 × prolic quits (~prolic@2803:2a00:2c0f:b96d:ec0c:c7f6:efb5:4ff5) (Ping timeout: 252 seconds)
02:21:53 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
02:23:53 jpds joins (~jpds@gateway/tor-sasl/jpds)
02:27:46 × epolanski quits (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
02:34:12 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
02:37:17 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 256 seconds)
02:39:32 × td_ quits (~td@muedsl-82-207-238-041.citykom.de) (Ping timeout: 255 seconds)
02:41:08 td_ joins (~td@muedsl-82-207-238-179.citykom.de)
02:42:51 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
02:51:27 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
02:52:53 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:52:53 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:52:53 finn_elija is now known as FinnElija
02:54:51 machinedgod joins (~machinedg@207.228.78.138)
02:55:10 × machinedgod quits (~machinedg@207.228.78.138) (Client Quit)
03:02:08 nek0 joins (~nek0@2a01:4f8:222:2b41::12)
03:17:11 pseigo joins (~pseigo@node-1w7jr9ye7hx4fsjarlsl1lkjw.ipv6.telus.net)
03:31:25 gdown joins (~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net)
03:36:42 × pseigo quits (~pseigo@node-1w7jr9ye7hx4fsjarlsl1lkjw.ipv6.telus.net) (Ping timeout: 264 seconds)
03:41:39 <Square> What is a good setup (using nix) to be able to create new projects on a whim? I fear, if doing it with my shallow nix knowledge, id download new versions of ghc all the time. "> nix-channel --list" gives "nixpkgs https://nixos.org/channels/nixpkgs-unstable"
03:43:43 <Square> oh.. it works like apt. I need to issue an "> nix-channel --update" to change coordinates right?
03:53:17 × fweht quits (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity)
03:58:04 k8yun joins (~k8yun@user/k8yun)
03:58:13 × k8yun quits (~k8yun@user/k8yun) (Client Quit)
03:58:26 × inversed quits (~inversed@05412f44.skybroadband.com) (Quit: Connection error?!)
03:58:43 inversed joins (~inversed@05412f44.skybroadband.com)
04:00:57 yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net)
04:01:59 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
04:02:26 jpds joins (~jpds@gateway/tor-sasl/jpds)
04:05:30 × yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 264 seconds)
04:15:01 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
04:15:23 jpds joins (~jpds@gateway/tor-sasl/jpds)
04:15:51 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
04:21:17 yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net)
04:25:57 <gdown> That's right, as long as you're using 'import <nixpkgs>'. It's also possible to pin nixpkgs for that specific project, in which case it could have it's own version of ghc.
04:26:00 × yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 248 seconds)
04:27:01 jakalx joins (~jakalx@base.jakalx.net)
04:33:35 kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net)
04:34:30 Guest61 joins (~Guest61@178-133-60-246.mobile.vf-ua.net)
04:34:53 × Guest61 quits (~Guest61@178-133-60-246.mobile.vf-ua.net) (Client Quit)
04:38:17 × kannon quits (~NK@135-180-47-54.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
04:40:49 mbuf joins (~Shakthi@122.164.10.236)
04:46:50 king_gs joins (~Thunderbi@187.201.228.209)
04:48:56 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
04:55:25 slaydr joins (~slaydr@75.164.63.238)
04:57:13 kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net)
05:01:36 × kannon quits (~NK@135-180-47-54.fiber.dynamic.sonic.net) (Client Quit)
05:17:03 × dispater quits (~dispater@user/brprice) (Quit: ZNC 1.8.2 - https://znc.in)
05:17:21 dispater joins (~dispater@user/brprice)
05:17:28 × emanon42 quits (~emanon42@103.120.19.44) (Quit: Ping timeout (120 seconds))
05:17:46 emanon42 joins (~emanon42@103.120.19.44)
05:18:15 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds)
05:26:53 king_gs1 joins (~Thunderbi@2806:103e:29:12be:accf:d6c3:d87:7820)
05:26:53 × king_gs quits (~Thunderbi@187.201.228.209) (Read error: Connection reset by peer)
05:26:55 king_gs1 is now known as king_gs
05:33:13 × sayola1 quits (~vekto@dslb-088-078-152-210.088.078.pools.vodafone-ip.de) (Read error: No route to host)
05:33:45 × king_gs quits (~Thunderbi@2806:103e:29:12be:accf:d6c3:d87:7820) (Ping timeout: 260 seconds)
05:34:24 sayola joins (~vekto@dslb-088-078-152-210.088.078.pools.vodafone-ip.de)
05:46:25 yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net)
05:52:09 × yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
05:56:04 × qwym quits (~qwym@pool-96-253-29-94.prvdri.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
05:56:15 × tabemann quits (~tabemann@2600:1700:7990:24e0:5b3:4d0f:e683:f449) (Remote host closed the connection)
05:56:37 tabemann joins (~tabemann@2600:1700:7990:24e0:4002:5f1:9464:2bd4)
05:56:54 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:04:44 × gdown quits (~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
06:09:44 jakalx parts (~jakalx@base.jakalx.net) ()
06:10:56 coot joins (~coot@213.134.190.95)
06:15:26 jakalx joins (~jakalx@base.jakalx.net)
06:15:55 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
06:23:57 Pickchea joins (~private@user/pickchea)
06:31:00 nate4 joins (~nate@98.45.169.16)
06:36:38 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 272 seconds)
06:39:29 fweht joins (uid404746@id-404746.lymington.irccloud.com)
06:43:04 jakalx parts (~jakalx@base.jakalx.net) ()
06:47:18 × Vajb quits (~Vajb@2001:999:485:209:bc32:5580:b7a6:e68b) (Read error: Connection reset by peer)
06:48:06 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
06:50:35 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
06:53:38 acidjnk_new joins (~acidjnk@dynamic-046-114-174-231.46.114.pool.telefonica.de)
06:55:10 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:55:35 jakalx joins (~jakalx@base.jakalx.net)
06:56:15 × Pickchea quits (~private@user/pickchea) (Ping timeout: 256 seconds)
06:58:00 jgeerds joins (~jgeerds@55d45f48.access.ecotel.net)
07:00:53 × simpleauthority quits (~simpleaut@user/simpleauthority) (Quit: ZNC 1.8.2 - https://znc.in)
07:01:15 simpleauthority joins (~simpleaut@user/simpleauthority)
07:01:34 quarkyalice_ joins (~alice@172.77.17.54)
07:01:34 × quarkyalice_ quits (~alice@172.77.17.54) (Changing host)
07:01:34 quarkyalice_ joins (~alice@user/quarkyalice/x-8092822)
07:02:24 Schrostfutz joins (~Schrostfu@217.150.146.150)
07:04:08 vglfr joins (~vglfr@coupling.penchant.volia.net)
07:04:10 × quarkyalice quits (~alice@user/quarkyalice) (Ping timeout: 260 seconds)
07:04:18 × jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds)
07:05:22 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:38a1:df0f:1ea3:e329) (Remote host closed the connection)
07:06:40 takuan joins (~takuan@178-116-218-225.access.telenet.be)
07:13:30 × Schrostfutz quits (~Schrostfu@217.150.146.150) (Ping timeout: 240 seconds)
07:14:30 × ajb quits (~ajb@mimas.whatbox.ca) (Ping timeout: 240 seconds)
07:15:27 ajb joins (~ajb@mimas.whatbox.ca)
07:15:36 Schrostfutz joins (~Schrostfu@217.150.146.150)
07:17:08 × cods quits (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 255 seconds)
07:17:55 gmg joins (~user@user/gehmehgeh)
07:18:02 cods joins (~fred@82-65-232-44.subs.proxad.net)
07:20:54 _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl)
07:20:59 × coot quits (~coot@213.134.190.95) (Quit: coot)
07:26:51 × vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer)
07:27:01 vglfr joins (~vglfr@coupling.penchant.volia.net)
07:32:17 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:33:20 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:40:34 coot joins (~coot@213.134.190.95)
07:42:13 × coot quits (~coot@213.134.190.95) (Remote host closed the connection)
07:45:19 johnw joins (~johnw@2600:1700:cf00:db0:4f4:3cd5:b24f:2542)
07:45:26 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
07:54:01 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection)
07:56:53 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
08:00:02 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
08:00:38 jakalx parts (~jakalx@base.jakalx.net) ()
08:00:39 pierrot joins (~pi@user/pierrot)
08:00:42 gmg joins (~user@user/gehmehgeh)
08:00:54 × acidjnk_new quits (~acidjnk@dynamic-046-114-174-231.46.114.pool.telefonica.de) (Ping timeout: 246 seconds)
08:01:31 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
08:02:21 Topsi joins (~Topsi@host-88-217-154-179.customer.m-online.net)
08:03:24 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection)
08:05:52 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:38a1:df0f:1ea3:e329)
08:06:21 Tuplanolla joins (~Tuplanoll@91-159-69-97.elisa-laajakaista.fi)
08:10:30 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
08:11:15 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:38a1:df0f:1ea3:e329) (Ping timeout: 260 seconds)
08:18:25 mattil joins (~mattil@87-92-116-67.bb.dnainternet.fi)
08:18:57 × kuribas quits (~user@ptr-17d51eo5v7ov5sspekf.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
08:24:30 × mattil quits (~mattil@87-92-116-67.bb.dnainternet.fi) (Remote host closed the connection)
08:28:34 × vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer)
08:28:41 vglfr joins (~vglfr@coupling.penchant.volia.net)
08:28:45 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
08:31:12 mc47 joins (~mc47@xmonad/TheMC47)
08:31:25 Pickchea joins (~private@user/pickchea)
08:37:37 jakalx joins (~jakalx@base.jakalx.net)
08:37:42 dcoutts__ joins (~duncan@host86-184-242-41.range86-184.btcentralplus.com)
08:40:31 × dcoutts_ quits (~duncan@host86-155-218-176.range86-155.btcentralplus.com) (Ping timeout: 256 seconds)
08:42:32 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
08:45:39 yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net)
08:46:11 Midjak joins (~Midjak@82.66.147.146)
08:49:32 × mbuf quits (~Shakthi@122.164.10.236) (Ping timeout: 260 seconds)
08:50:08 mbuf joins (~Shakthi@223.178.68.216)
08:50:22 × yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
08:52:28 <jackdk> Square: the following `default.nix` works surprisingly often: `let nixpkgs = import <nixpkgs> {}; in nixpkgs.haskellPackages.developPackage { root = ./.; }`
08:52:44 <jackdk> it's normally what I use when hacking on someone else's non-nixified library to send a PR or whatever.
08:53:58 × foul_owl quits (~kerry@23.82.194.107) (Ping timeout: 240 seconds)
08:53:58 × vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer)
08:54:11 alp joins (~alp@user/alp)
08:54:37 cosimone` joins (~user@93-44-186-171.ip98.fastwebnet.it)
08:55:08 vglfr joins (~vglfr@coupling.penchant.volia.net)
08:55:40 × cosimone` quits (~user@93-44-186-171.ip98.fastwebnet.it) (Remote host closed the connection)
08:55:58 × cosimone quits (~user@2001:b07:ae5:db26:57c7:21a5:6e1c:6b81) (Ping timeout: 272 seconds)
08:56:10 × adrazalan_ quits (~adrazalan@42.191.189.65) (Ping timeout: 260 seconds)
08:57:17 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
08:58:24 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
08:58:55 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
09:00:12 × kosmikus[m] quits (~andresloe@2001:470:69fc:105::95d) (Quit: You have been kicked for being idle)
09:00:44 × quarkyalice_ quits (~alice@user/quarkyalice/x-8092822) (Remote host closed the connection)
09:01:06 quarkyalice_ joins (~alice@172.77.17.54)
09:01:06 × quarkyalice_ quits (~alice@172.77.17.54) (Changing host)
09:01:06 quarkyalice_ joins (~alice@user/quarkyalice/x-8092822)
09:01:58 × vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer)
09:02:28 vglfr joins (~vglfr@coupling.penchant.volia.net)
09:02:49 cosimone joins (~user@93-44-186-171.ip98.fastwebnet.it)
09:04:19 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
09:06:21 <maralorn> Square: I also just have a ghc.withPackages with a collection of my favorite packages in my global path so for a lot of projects I don‘t need to load anything at all.
09:07:36 <maralorn> Does Hackage verify any properties of uploaded sdists? Are precompiled binaries allowed in there? Are there known packages on hackage which contain binaries?
09:08:10 × Colere quits (~colere@about/linux/staff/sauvin) (Ping timeout: 240 seconds)
09:08:16 foul_owl joins (~kerry@23.82.194.107)
09:09:21 Colere joins (~colere@about/linux/staff/sauvin)
09:11:04 Furor joins (~colere@about/linux/staff/sauvin)
09:11:09 × Pickchea quits (~private@user/pickchea) (Ping timeout: 276 seconds)
09:13:57 × Colere quits (~colere@about/linux/staff/sauvin) (Ping timeout: 256 seconds)
09:15:49 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
09:15:49 × vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer)
09:16:38 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
09:16:43 vglfr joins (~vglfr@coupling.penchant.volia.net)
09:18:07 × mbuf quits (~Shakthi@223.178.68.216) (Ping timeout: 268 seconds)
09:18:40 mbuf joins (~Shakthi@122.164.9.11)
09:19:56 × vglfr quits (~vglfr@coupling.penchant.volia.net) (Remote host closed the connection)
09:21:09 vglfr joins (~vglfr@coupling.penchant.volia.net)
09:30:51 jtomas joins (~jtomas@141.red-88-17-65.dynamicip.rima-tde.net)
09:31:00 × alexhandy quits (~trace@user/trace) (Read error: Connection reset by peer)
09:31:25 alexhandy joins (~trace@user/trace)
09:31:36 × mbuf quits (~Shakthi@122.164.9.11) (Ping timeout: 248 seconds)
09:34:06 yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net)
09:34:13 Furor is now known as Colere
09:38:10 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
09:47:16 × yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
09:52:34 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
09:55:40 × vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer)
09:56:44 jakalx joins (~jakalx@base.jakalx.net)
09:56:52 vglfr joins (~vglfr@coupling.penchant.volia.net)
09:59:11 × img quits (~img@user/img) (Ping timeout: 255 seconds)
10:01:28 gurkenglas joins (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
10:08:24 × jtomas quits (~jtomas@141.red-88-17-65.dynamicip.rima-tde.net) (Ping timeout: 248 seconds)
10:08:30 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:38a1:df0f:1ea3:e329)
10:08:59 jakalx parts (~jakalx@base.jakalx.net) ()
10:09:00 × vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer)
10:09:13 vglfr joins (~vglfr@coupling.penchant.volia.net)
10:11:27 × vglfr quits (~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer)
10:11:58 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
10:12:22 vglfr joins (~vglfr@coupling.penchant.volia.net)
10:13:10 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:38a1:df0f:1ea3:e329) (Ping timeout: 260 seconds)
10:14:10 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
10:14:41 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
10:16:12 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
10:16:19 Vajb joins (~Vajb@2001:999:485:209:bc32:5580:b7a6:e68b)
10:16:20 <ncf> int-e: fixed misfortune :)
10:18:47 × Schrostfutz quits (~Schrostfu@217.150.146.150) (Quit: Leaving)
10:24:45 × mima quits (~mmh@aftr-62-216-210-244.dynamic.mnet-online.de) (Ping timeout: 246 seconds)
10:32:19 ix joins (~ix@82-71-2-184.dsl.in-addr.zen.co.uk)
10:32:43 nate4 joins (~nate@98.45.169.16)
10:35:36 × ix quits (~ix@82-71-2-184.dsl.in-addr.zen.co.uk) (Client Quit)
10:35:42 adrazalan_ joins (~adrazalan@42.191.189.65)
10:35:50 × Topsi quits (~Topsi@host-88-217-154-179.customer.m-online.net) (Read error: Connection reset by peer)
10:37:21 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds)
10:38:11 ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
10:40:17 coot joins (~coot@213.134.190.95)
10:42:59 × coot quits (~coot@213.134.190.95) (Client Quit)
10:47:24 × pnotequalnp quits (~pnotequal@user/pnotequalnp) (Ping timeout: 252 seconds)
10:49:04 yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net)
10:51:25 img joins (~img@user/img)
10:54:03 × img quits (~img@user/img) (Client Quit)
10:54:12 azimut joins (~azimut@gateway/tor-sasl/azimut)
10:57:05 img joins (~img@user/img)
10:59:04 × frost quits (~frost@user/frost) (Quit: Client closed)
11:01:13 × quarkyalice_ quits (~alice@user/quarkyalice/x-8092822) (Remote host closed the connection)
11:01:31 quarkyalice_ joins (~alice@172.77.17.54)
11:01:31 × quarkyalice_ quits (~alice@172.77.17.54) (Changing host)
11:01:31 quarkyalice_ joins (~alice@user/quarkyalice/x-8092822)
11:04:10 × yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
11:05:33 × Natch quits (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Remote host closed the connection)
11:06:06 × gurkenglas quits (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 264 seconds)
11:13:16 elkcl_ joins (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
11:14:30 × elkcl quits (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 264 seconds)
11:14:30 elkcl_ is now known as elkcl
11:22:57 × img quits (~img@user/img) (Ping timeout: 260 seconds)
11:23:56 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
11:25:50 jpds joins (~jpds@gateway/tor-sasl/jpds)
11:27:39 gurkenglas joins (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
11:30:43 Natch joins (~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se)
11:33:05 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
11:37:04 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:38:06 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.5)
11:38:36 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
11:39:35 img joins (~img@user/img)
11:40:27 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
11:46:43 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.5)
11:55:36 × xff0x quits (~xff0x@2405:6580:b080:900:3133:9bc3:a923:a312) (Ping timeout: 248 seconds)
11:56:15 × gurkenglas quits (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 276 seconds)
11:57:46 xff0x joins (~xff0x@b133147.ppp.asahi-net.or.jp)
12:01:35 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
12:02:03 jpds joins (~jpds@gateway/tor-sasl/jpds)
12:03:45 shapr joins (~user@2600:4040:2d31:7100:fe62:9285:d8a9:96db)
12:07:52 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
12:09:58 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:38a1:df0f:1ea3:e329)
12:13:19 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:14:30 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:38a1:df0f:1ea3:e329) (Ping timeout: 260 seconds)
12:16:20 fockerize joins (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
12:19:44 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
12:36:28 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
12:36:33 yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net)
12:36:51 jpds joins (~jpds@gateway/tor-sasl/jpds)
12:40:40 chomwitt joins (~chomwitt@2a02:587:dc17:ef00:9439:71c2:4609:e889)
12:41:20 Pickchea joins (~private@user/pickchea)
12:41:55 × fockerize quits (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds)
12:42:27 darchitect joins (~darchitec@82-132-215-123.dab.02.net)
12:48:11 coot joins (~coot@213.134.190.95)
12:50:09 <darchitect> hi all, I know that's not the right group to ask, but are there any Plutus (Cardano) devs here that can help me with something ? (or point me to the right group to ask my questions in...)
12:52:13 <Axman6> try asking your question, it's hard for us to know where the right place would be without knowing what you want
12:52:26 × renzhi quits (~xp@2607:fa49:6500:b100::cf) (Ping timeout: 255 seconds)
12:53:30 × arahael quits (~arahael@203.63.7.203) (Ping timeout: 264 seconds)
12:54:08 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
12:54:11 <darchitect> Axman6: I want to know if it's possible to update datum of a script using the EUTXO model
12:54:30 jpds joins (~jpds@gateway/tor-sasl/jpds)
12:55:17 <darchitect> Axman6: my initial reaction is NO, since every UTXO has to be consumed, but was wondering if anyone more experienced can tell me why YES or why NO in more detail. an example scenario is say you have a CounterDatum (with just 1 Integer in it) and every time the validator is run -> the Integer value of the datum changes.
12:55:42 <darchitect> Axman6: is this possible or not ?
12:55:55 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
12:56:46 <Axman6> I personally don't have any experience with Plutus, so I won't be able to help. Is there not a forum or slack/discord that people use for it?
12:58:10 <darchitect> yeah I think there's a discord, but I wanted to see if there are any lively groups here I can use, since Discord doesn't really have a good TUI
12:59:31 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
13:00:57 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
13:01:42 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds)
13:02:37 <Axman6> My experience is with Daml, where to update anyting on the ledger you need to archive it and create a new one, I would be surprised if it weren't too different in plutus, but I know next to nothing about the language
13:03:14 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
13:03:46 BusConscious joins (~martin@ip5f5bded3.dynamic.kabel-deutschland.de)
13:04:35 renzhi joins (~xp@2607:fa49:6500:b100::c32e)
13:04:47 <BusConscious> hello everyone. So I'm trying to build a ghc crosscompiler from a gcc crosscompiler
13:06:02 <BusConscious> and autoconf creates weird errormessages before I even get to configuring for the target
13:06:48 × yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 246 seconds)
13:07:06 × dcoutts__ quits (~duncan@host86-184-242-41.range86-184.btcentralplus.com) (Ping timeout: 276 seconds)
13:07:07 jakalx joins (~jakalx@base.jakalx.net)
13:10:47 <BusConscious> ah nevermind
13:15:26 pleo joins (~pleo@user/pleo)
13:16:07 jpds joins (~jpds@gateway/tor-sasl/jpds)
13:16:22 edinwood joins (~edinwood@109.249.184.205)
13:18:55 <edinwood> Hi, I have been away for a while, are there any new developments in the haskell language?
13:19:08 <edinwood> last time i was here linear types had just been added
13:19:26 <geekosaur> QuickLook maybe
13:19:49 <geekosaur> redesign of the primitive types to support Apple AArch64, but that's mostly not user visible
13:20:37 <geekosaur> (QuickLook is a consistent, lawful implementation of impredicative types, replacing the series of hacks ghc had that was unreliable and apt to change every release)
13:21:48 <edinwood> erp
13:21:54 <edinwood> quicklook sounds complicated
13:22:15 <edinwood> hope the ghc-prim thing might help fix some arch install issues?
13:22:36 <edinwood> i thought ghc does not support impredictive types
13:22:44 <geekosaur> as of QuickLook it does
13:22:51 <edinwood> wait, Apple Arch?
13:22:53 <edinwood> nvm then
13:22:59 <geekosaur> (added in 9.2 although some of the groundwork was in 9.0)
13:23:02 <edinwood> thats like a devil combo
13:23:20 <geekosaur> apple decided to come up with their own incompatible calling conventions on aarch64
13:23:24 <edinwood> hmm, so Quicklook actually sounds like quite a major development
13:23:49 <edinwood> geekosuar: lol, yeah, i guess its a niche
13:23:50 × liz quits (~liz@host86-159-158-175.range86-159.btcentralplus.com) (Quit: Lost terminal)
13:23:55 <BusConscious> Do you guys have any resources on how to add a crosscompile target in ghc? (Not different architecture, just different OS)
13:24:24 <geekosaur> BusConscious, "normal" cross-compilation isn't really a thing yet although there's some work on it
13:25:59 <geekosaur> afaik you need to treat a different OS the same way you'd treat a different architecture, except you'll already have most of the ugly work done for you instead of having to come up with your own native codegen (but see discussion of apple aarch64 above)
13:26:18 × darchitect quits (~darchitec@82-132-215-123.dab.02.net) (Read error: Connection reset by peer)
13:26:24 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
13:26:42 <geekosaur> which means using a custom-built ghc and unregisterised backend to dump C code to build on the target machine. but this is probably a question for #ghc
13:27:02 × malte quits (~malte@mal.tc) (Read error: Connection reset by peer)
13:29:34 malte joins (~malte@mal.tc)
13:34:32 <BusConscious> geekosaur: This is what I'm going of so far: https://gitlab.haskell.org/ghc/ghc/-/wikis/building/using https://gitlab.haskell.org/ghc/ghc/-/wikis/building/cross-compiling https://downloads.haskell.org/~ghc/6.2/docs/html/building/sec-porting-ghc.html I would love to port my unix shell to sortix. They have a POSIX compliant libc and a lot of other stuff like lua and pythons ported so in theory should
13:34:39 <BusConscious> be possible
13:34:52 × coot quits (~coot@213.134.190.95) (Quit: coot)
13:35:03 <BusConscious> But it won't suffice to just crosscompile. I would have to patch some files first to add a new target
13:36:05 <edinwood> isnt this why they made the JVM?
13:37:04 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
13:39:08 <BusConscious> edinwood: Are you talking to me?
13:39:28 <edinwood> geekosaur, i never really understood the impredictive types situation very well, and never really understood exactly when that error appeared, and it only showed up when i was doing really difficult type level stuff that i propably didnt understand all that well anyway
13:40:14 <edinwood> BusConscious: its more of a quip, i think you are mad for doing all this crosscompiling, and that it is unfortunate that you should have to, but the only tech i can think of thats close to a standardised OS is the JVM
13:40:44 <edinwood> i think we were compiling to that with some kind of java outputting backend
13:40:48 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
13:40:55 <edinwood> maybe llvm is somewhat cross platform, idk
13:41:47 <geekosaur> llvm is cross platform but in a different way. you generate portable llvm code, then generate target code from that
13:41:50 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
13:41:56 <geekosaur> ghc supports cross-platform that way too
13:42:40 <edinwood> oh right, so its more of a cross compilation intermediate stage handled under the hood to allow users to cross compile in a more straitforwards way
13:42:52 <edinwood> not sure how that helps the issue mind
13:43:23 <BusConscious> I mean obviously I have to crosscompile, because ghc is not ported to that operating system, but yes "in theory" is doing a lot of work and POSIX has its fair share of ambiguity
13:43:27 <edinwood> isnt there the possiblility of some kind of haskell bytecode machine or something
13:43:28 <geekosaur> think supercomputers, where the original idea was users compiled to llvm ir and each actual machine finished the compilation to its own native arch
13:43:49 <geekosaur> (the effective victory of intel kinda made this unnecessary in the end)
13:43:51 <edinwood> BusConsious: and its less work than trying to cross compile GHC?
13:44:17 <geekosaur> but back when llvm was developed there were still alpha, sparc, ppc, etc. supercomputers around
13:44:24 × raym quits (~raym@user/raym) (Ping timeout: 248 seconds)
13:45:00 <edinwood> geekosaur: i thought a pupercomputer would have homogenous architecture, but maybe in some kind of distributed setting on the cloud like bayowulf or something
13:45:20 <BusConscious> I mean it is possible to compile to C code with ghc right?
13:45:30 <edinwood> again as an intermediate stage
13:45:45 <edinwood> right?
13:45:47 <geekosaur> back in the day you would want some parts of your program to run on a vector processor, another part to run on an alpha with huge array support, another part on intel, etc.
13:45:56 <geekosaur> this could still be useful with gpus
13:46:11 <geekosaur> BusConscious, only with unregisterised mode
13:46:19 <geekosaur> which requires building your own ghc
13:46:28 <edinwood> i guess supercomputers dont rely on OS threading!
13:46:45 <edinwood> my gpu i guess just kicks in occasionally
13:46:57 <edinwood> there was some CUDA stuff and repa, but i never understood
13:46:59 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
13:47:06 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
13:47:31 <edinwood> what was the other thing, like some kind of flag you activate and it starts being all parallel
13:47:44 <edinwood> accelerate
13:47:51 <edinwood> i think it scared users that were used to having to specify the paralelism manually
13:47:59 <geekosaur> ghc doesn't automatically parallelize programs, that's still a very unsolved problem
13:48:15 <edinwood> didnt HAXL have some kind of thing
13:48:16 <edinwood> wait
13:48:18 <BusConscious> geekosaur: I don't understand what you mean by building ghc? Of course I would have to build my own ghc to get a crosscompiler?
13:48:33 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
13:48:41 <edinwood> it like, examined a tree of applicatives or something to see which parts could be disentangled and run in parallel
13:48:57 <geekosaur> BusConscious, -fvia-C in a released ghc will print a warning and use the native codegen
13:49:21 <edinwood> BusConscious
13:49:22 <edinwood> erp
13:49:29 <edinwood> you would need to crosscompile the compiler?
13:49:41 <geekosaur> you need to build a non-release ghc to get a -fvia-C that used unregisterised backend to generate portable C, then use that GHC to compile GHC again into C files for the target
13:49:54 × pleo quits (~pleo@user/pleo) (Ping timeout: 264 seconds)
13:50:02 <geekosaur> then take the C files to the target and compile them there
13:50:16 <edinwood> oof
13:50:17 <BusConscious> edinwood: no but build it on my own in the first place
13:50:30 <edinwood> how are you going to get that?
13:50:31 <BusConscious> geekosaur ah
13:50:38 <BusConscious> I see
13:50:56 <BusConscious> This seems like the easiest way to port haskell software to an OS with no haskell
13:51:16 <geekosaur> alternatively if llvm supports the target you can use -keep-llvm-files and copy those over, but you'd have to ask #ghc what you do with them afterward
13:51:41 <edinwood> couldnt you do it with just object files or something?
13:51:44 × fweht quits (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity)
13:51:49 pleo joins (~pleo@user/pleo)
13:51:57 <edinwood> i think this is how they were doing hotswapping
13:52:01 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
13:52:04 <BusConscious> you use a generic target and then compile to C which you then compile with the OS's gcc crosscompiler and link to its libc
13:52:09 <edinwood> but maybe on a consistent architecture
13:52:20 <BusConscious> not as cool as directly crosscompiling to binary but still
13:52:41 <edinwood> yeah, you want ghc to do the linking
13:52:51 <geekosaur> object files are stamped with theoir architecture and ABI, you have to hope those match (and that the machoines agree as to what an object file is)
13:53:03 <edinwood> the issue with different libc actually is easiliy solved with nix
13:53:21 <edinwood> nix coppy closure should use the host OS libc
13:53:59 × causal quits (~user@50.35.83.177) (Quit: WeeChat 3.5)
13:54:17 <edinwood> but maybe thats more for spinning up to the same OS, and not having to worry about setting it up to have the correct libc
13:55:03 <edinwood> like, where you compile and where you run being different when you have a lightweight requirement of a server, where you dont want a full ghc
13:55:22 <edinwood> i guess in this case nixos is advocated for
13:55:47 <edinwood> but debian is fine. i guess you dont want to *not use the OS your trying to crosscompile to*
13:55:55 <edinwood> but i guessw thats always the easyest fix!
13:56:32 <edinwood> did you say the reason was mostly to use an existing linking infrastructure?
13:56:55 <edinwood> and then at what point does that become redundant to something like letting the nix team fix it
13:57:23 <edinwood> the amount of trouble we have with build tools....
13:59:06 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
13:59:10 coot joins (~coot@213.134.190.95)
14:00:41 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
14:02:21 <edinwood> geekosaur: can you say anything more about this impredictive fix?
14:02:23 jakalx joins (~jakalx@base.jakalx.net)
14:03:00 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
14:03:40 <geekosaur[m]> Not a whole lot, I barely know what impredicative types are
14:11:18 × alp quits (~alp@user/alp) (Ping timeout: 240 seconds)
14:11:27 acidjnk_new joins (~acidjnk@dynamic-046-114-174-017.46.114.pool.telefonica.de)
14:11:46 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:38a1:df0f:1ea3:e329)
14:12:43 × nek0 quits (~nek0@2a01:4f8:222:2b41::12) (Quit: The Lounge - https://thelounge.chat)
14:13:37 jakalx parts (~jakalx@base.jakalx.net) ()
14:13:54 × coot quits (~coot@213.134.190.95) (Quit: coot)
14:14:03 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
14:15:08 jakalx joins (~jakalx@base.jakalx.net)
14:15:36 nek0 joins (~nek0@2a01:4f8:222:2b41::12)
14:15:58 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:38a1:df0f:1ea3:e329) (Ping timeout: 240 seconds)
14:17:23 <edinwood> hmm
14:18:57 <edinwood> i cant even find a link in the realase notes
14:19:01 <edinwood> https://downloads.haskell.org/ghc/9.2.2/docs/html/users_guide/9.2.2-notes.html
14:19:45 <edinwood> i can find old links on quicklook proposals
14:19:46 <edinwood> v
14:19:47 <edinwood> https://gitlab.haskell.org/ghc/ghc/-/issues/18126
14:20:49 <Hecate> edinwood: QL is not done yet
14:21:20 <edinwood> geekosaur said it was in 9.2.2
14:21:35 <Hecate> SPJ says it's not-done
14:21:40 <geekosaur> that was apparently the start of it. I didn't realize there was more work coming
14:21:52 × edinwood quits (~edinwood@109.249.184.205) (Remote host closed the connection)
14:22:00 <Hecate> damn, he couldn't handle the truth
14:22:01 <Hecate> heya geekosaur
14:22:02 <geekosaur> oops?
14:22:05 <geekosaur> hi
14:22:12 edinwood joins (~edinwood@109.249.184.205)
14:22:19 <edinwood> <geekosaur> as of QuickLook it does <geekosaur> (added in 9.2 although some of the groundwork was in 9.0)
14:22:37 <edinwood> i find this https://www.microsoft.com/en-us/research/publication/a-quick-look-at-impredicativity/
14:22:51 <edinwood> but i recall actually watching this talk already and still i have no idea
14:22:59 <edinwood> something to do with foralls
14:23:32 <geekosaur> the short version as I know it (which is probably incomplete) is impredicativity is instantiating a type variable to a forall-ed type
14:23:57 <geekosaur> so b can unify with (a -> a) but not with (forall a. a -> a)
14:24:25 <geekosaur> because the latter is impredicative ("can't be represented as a predicate")
14:24:34 <edinwood> and it was sometihng to do with inference from examing terms or something
14:24:55 <edinwood> a "predicate" ?
14:24:59 <geekosaur> unfortunately that last only makes sense if you visualize the type inference engine as written in Prolog, I think
14:25:10 <edinwood> this seems like it would help with understanding whatim-predicate-ive is
14:25:17 <edinwood> i thought it was im-predict-ive
14:25:56 <edinwood> ah the ol' curry-howerd debacle
14:26:08 alp joins (~alp@user/alp)
14:26:46 <edinwood> so, the issue is not understanding the diffence between (a->a) and forall a. (a->a) as some kind of logic expression
14:27:04 <geekosaur> the forall has to be inside the parens for it to be impredicative
14:27:16 <edinwood> because i can give you (a->a) but not a (forall a. a -> a) ?#
14:27:22 <geekosaur> if it's outside then it can be floated to the left, so there are no problems
14:27:42 × acidjnk_new quits (~acidjnk@dynamic-046-114-174-017.46.114.pool.telefonica.de) (Ping timeout: 276 seconds)
14:27:55 <geekosaur> if you can give me a (forall a. a -> a) at all, it will be monomorphized (that is, it will have its type fixed, losing the forall)
14:27:56 <edinwood> so its some kind of internal variable decleration or something?
14:28:04 arahael joins (~arahael@121-44-28-164.tpgi.com.au)
14:28:22 <edinwood> foralls are called "existential quantifiers" right?
14:28:30 <geekosaur> things get much more complex if you need it to remain usable at any type
14:28:40 <geekosaur> it depends on how they're used
14:28:53 <geekosaur> I'm still a little fuzzy on this though
14:29:07 <edinwood> yeah, tbh i cant understand the difference
14:29:19 <edinwood> sure `a' in (a->a) is already polymorfic
14:29:26 <geekosaur> "any" vs. "all", very roughly
14:29:39 <geekosaur> or "there exists" instead of "for all"
14:29:43 <edinwood> but if i can act on any of them i can act on all of them
14:29:46 <edinwood> er, oh
14:29:47 <geekosaur> the former is the existential
14:29:58 <edinwood> i mean, (a->a) says "all a" right?
14:29:59 <geekosaur> this is more logic than math
14:30:12 <geekosaur> only if a hasn't been fixed otherwse
14:30:28 <geekosaur> you can consider the forall when inside the parentheses as a local variable declaration
14:30:41 <edinwood> hmm, so your saying eg `id` would have its type monomorphised in the expression where its used
14:30:47 <geekosaur> yes
14:31:05 <edinwood> and whats different here?
14:31:49 <edinwood> could i do like: f a b c = (a b,a c)
14:31:57 <geekosaur> without the inner forall, ghc will pick a specific type for `a` based on how it's used
14:31:58 <edinwood> for type of b /= type of c
14:32:17 <geekosaur> so the passed-in `id` will end up only being used for that type
14:32:39 <edinwood> yeah, `a' was id here
14:32:54 × acarrico quits (~acarrico@dhcp-68-142-48-19.greenmountainaccess.net) (Quit: Leaving.)
14:33:42 <geekosaur> so if you declare it in `f` as being forall-ed, it will keep that and work as you expect. if you don't, it's impredicative and ghc will normally reject it
14:33:49 <edinwood> :t \f a b c -> (a b,a c)
14:33:50 <lambdabot> p -> (t -> b) -> t -> t -> (b, b)
14:33:55 <edinwood> so t is the same there
14:34:15 nate4 joins (~nate@98.45.169.16)
14:34:42 <edinwood> % :t \f (a :: forall a. a->a) b c -> (a b,a c)
14:34:42 <yahb2> <interactive>:1:5: error: ; Illegal type signature: ‘forall a. a -> a’ ; Type signatures are only allowed in patterns with ScopedTypeVariables
14:34:55 <edinwood> why yahb is not have this extension on
14:35:11 <edinwood> % :set -XScopedTypeVariables
14:35:11 <yahb2> <no output>
14:35:18 <edinwood> % :t \f (a :: forall a. a->a) b c -> (a b,a c)
14:35:19 <yahb2> \f (a :: forall a. a->a) b c -> (a b,a c) ; :: p -> (forall a1. a1 -> a1) -> a -> b -> (a, b)
14:35:22 <geekosaur> my sister just pinged me, I need to run
14:35:47 <edinwood> ok ill work through this on my own
14:36:20 <edinwood> % (\f (a :: forall a. a->a) b c -> (a b,a c)) id "a" 'a'
14:36:20 <yahb2> <interactive>:74:48: error: ; • Couldn't match expected type ‘a -> a’ with actual type ‘[Char]’ ; • In the second argument of ‘\ f (a :: forall a. a -> a) b c ; ...
14:37:01 <edinwood> % (\ (f :: forall a. a->a) a b -> (f a,f b)) id "a" 'a'
14:37:01 <yahb2> ("a",'a')
14:37:04 <edinwood> wey
14:37:07 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:37:15 <edinwood> % (\f a b c -> (a b,a c)) id "a" 'a'
14:37:15 <yahb2> <interactive>:78:28: error: ; • Couldn't match expected type ‘Char -> b’ ; with actual type ‘[Char]’ ; • In the second argument of ‘\ f a b c -> (a b, a c)’, namely ‘"a"’ ...
14:37:19 <edinwood> woop
14:37:25 <edinwood> so your saying this never used to work?
14:38:03 <edinwood> nah, this works in GHC 8.2 also
14:38:10 <edinwood> i wonder what they changed...
14:38:51 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds)
14:39:05 <edinwood> % (\ f a b -> (f a,f b)) id "a" 'a'
14:39:05 <yahb2> <interactive>:80:31: error: ; • Couldn't match expected type ‘[Char]’ with actual type ‘Char’ ; • In the third argument of ‘\ f a b -> (f a, f b)’, namely ‘'a'’ ; In the expression: (...
14:39:35 <edinwood> thats better (one above had a typo)
14:40:51 <yin> isn't this the monomorphism restriction?
14:41:21 <edinwood> the realease notes mention neither quicklook or impredictive...
14:41:45 <edinwood> yin: that was mentioned before, or at least, something got monomorphized
14:41:55 <edinwood> https://downloads.haskell.org/~ghc/9.2.2/docs/html/users_guide/9.2.2-notes.html
14:42:20 <edinwood> i think this may have been a wild goose chase, i wonder where geekosaur got the idea about quicklook in 9.2.2 from
14:51:16 raym joins (~raym@user/raym)
14:52:05 × xheimlich quits (~xheimlich@179.218.1.150) (Remote host closed the connection)
14:54:57 Topsi joins (~Topsi@37.84.244.102)
14:56:13 <yin> we need to polish some rough edges in haskell imo
14:56:44 <yin> let generalization is not very intuitive in some edge cases
14:56:44 × Topsi quits (~Topsi@37.84.244.102) (Read error: Connection reset by peer)
14:59:25 <yin> the monomorphism restriction is weird and the f a = f a vs f = \a -> f a distinction makes no sense imho
14:59:29 regr joins (~regr@user/regr)
14:59:30 Guest1281 joins (~Gambino@pool-100-34-212-74.phlapa.fios.verizon.net)
14:59:35 × Guest1281 quits (~Gambino@pool-100-34-212-74.phlapa.fios.verizon.net) (Changing host)
14:59:35 Guest1281 joins (~Gambino@user/polo)
14:59:42 Guest1281 is now known as Polo
14:59:59 <yin> *f g a = g a vs f g = \a -> g a
15:00:01 cawfee_ is now known as cawfee
15:02:50 × Polo quits (~Gambino@user/polo) (Read error: Connection reset by peer)
15:03:15 × turlando quits (~turlando@user/turlando) ()
15:03:40 atwm joins (~atwm@81.28.193.19)
15:03:56 turlando joins (~turlando@user/turlando)
15:04:20 Polo joins (~Gambino@pool-100-34-212-74.phlapa.fios.verizon.net)
15:04:55 × Polo quits (~Gambino@pool-100-34-212-74.phlapa.fios.verizon.net) (Changing host)
15:04:55 Polo joins (~Gambino@user/polo)
15:07:51 <geekosaur> I can't stick around but https://downloads.haskell.org/ghc/9.2.1/docs/html/users_guide/exts/impredicative_types.html
15:08:02 Polo is now known as money
15:08:02 × money quits (~Gambino@user/polo) (Client Quit)
15:10:15 paddymahoney joins (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
15:11:02 Topsi joins (~Topsi@host-88-217-154-179.customer.m-online.net)
15:12:05 × alp quits (~alp@user/alp) (Ping timeout: 268 seconds)
15:19:41 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
15:20:45 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:38a1:df0f:1ea3:e329)
15:22:33 gurkenglas joins (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
15:24:08 × pleo quits (~pleo@user/pleo) (Ping timeout: 248 seconds)
15:30:39 jz99[m] joins (~jz99matri@2001:470:69fc:105::1:d5f1)
15:40:54 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:42:50 × regr quits (~regr@user/regr) (Quit: WeeChat 2.8)
15:47:40 zer0bitz joins (~zer0bitz@2001:2003:f748:2000:c429:cbdc:14b0:bcca)
15:48:34 <monochrom> The monomorphism restriction fixed a rough edge.
15:49:28 <edinwood> oh right, so allowing to define a function with a nested forall in the type signature?
15:50:20 <monochrom> That if you wrote a top-level "n = <expression that takes 5 minutes to compute but comes down to 42>", without the monomorphism restriction, it would take 5 minutes every time to use n, despite the syntax suggesting otherwise.
15:53:50 qwym joins (~qwym@pool-96-253-29-94.prvdri.fios.verizon.net)
15:53:50 × Vajb quits (~Vajb@2001:999:485:209:bc32:5580:b7a6:e68b) (Read error: Connection reset by peer)
15:54:01 × Topsi quits (~Topsi@host-88-217-154-179.customer.m-online.net) (Ping timeout: 268 seconds)
15:54:07 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
15:55:37 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
15:57:10 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
16:00:15 <hololeap> anyone really familiar with tasty? I can't figure out how to use this: https://hackage.haskell.org/package/tasty-1.4.2.3/docs/Test-Tasty.html#v:withResource
16:00:21 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
16:01:10 <hololeap> the problem is the third argument, (IO a -> TestTree). if I want to use that 'a', I have to convert an IO action to a TestTree, and I don't see any way to do that
16:01:17 <hololeap> except unsafePerformIO
16:06:04 pleo joins (~pleo@user/pleo)
16:10:20 <int-e> TestTree embeds IO via IsTest, see for example https://hackage.haskell.org/package/tasty-hunit-0.10.0.3/docs/Test-Tasty-HUnit.html#v:testCase (note that Assertion = IO ())
16:12:04 <int-e> (I'm *not* familiar with tasty... I have not checked what other providers it has. And I suppose you could make your own if you wish to do so.)
16:12:05 tzh_ joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:14:50 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 260 seconds)
16:22:41 Haskelytic joins (~Haskelyti@118.179.211.17)
16:24:31 sympt joins (~sympt@user/sympt)
16:30:13 <Haskelytic> how does one even pronounce weird operators like `(<$)`
16:30:24 <dolio> I don't.
16:30:50 <Haskelytic> i just realized that i tend to think in words when I code and in Haskell, my brain just hiccups whenever I reach for these operators
16:30:54 <Haskelytic> dolio: :(
16:31:12 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
16:31:14 <int-e> sequence-taking-left-result
16:31:16 <int-e> :P
16:31:25 econo joins (uid147250@user/econo)
16:31:32 <dolio> That's (<*)
16:31:41 <int-e> :t (<$)
16:31:43 <lambdabot> Functor f => a -> f b -> f a
16:31:51 <int-e> oh. grr.
16:32:01 <int-e> pacman-eating-money
16:32:11 <int-e> (yeah, I mixed those up)
16:32:13 <Haskelytic> int-e: XD
16:32:59 <Haskelytic> shouldn't it be pacman-eating-left-money
16:33:09 <int-e> no, the money is to the right
16:33:18 <Haskelytic> the fuctor?
16:33:24 <Haskelytic> oh lol
16:33:34 <Haskelytic> haha I guess that's a decent mnemonic
16:33:48 <int-e> It wasn't supposed to make sense. But... if you want it to, the right argument is the one whose result gets eaten
16:34:34 <dolio> If I really had to tell someone English words, I'd just say "less than dollar." But I don't pronounce it to myself when reading.
16:34:47 <dolio> I just see it and know what it is.
16:35:04 <int-e> (I don't actually pronounce these things. I do see the < as an arrow pointing to where the result comes from. That works for <* and *> and also for <$ ... hmm. what about $>, do we have that?)
16:35:08 <int-e> :t ($>)
16:35:10 <lambdabot> error:
16:35:10 <lambdabot> • Variable not in scope: $>
16:35:10 <lambdabot> • Perhaps you meant one of these:
16:35:25 × atwm quits (~atwm@81.28.193.19) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:35:48 <int-e> Ah you can flip the two arguments and use <$ instead.
16:37:24 <dolio> English is not good for communicating programs even when the tokens are easy to pronounce.
16:37:44 <int-e> the COBOL fallacy
16:38:04 <dolio> It might not seem that way, but if you ever try to get someone to write a program by telling them what the program is in English, you'll probably find that out.
16:38:42 <int-e> Yeah, don't describe programs. Describe algorithms. Even that is hard.
16:38:43 <Haskelytic> results may vary based on how synced up your jargons are
16:39:06 <Haskelytic> but yeah I see the point
16:39:07 <int-e> (And data structures. Probably more important than the algorithms.)
16:41:55 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:44:25 Guest7119 joins (~Gambino@pool-100-34-212-74.phlapa.fios.verizon.net)
16:49:05 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
16:49:05 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
16:50:11 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
16:50:19 × Guest7119 quits (~Gambino@pool-100-34-212-74.phlapa.fios.verizon.net) (Changing host)
16:50:19 Guest7119 joins (~Gambino@user/polo)
16:50:22 Guest7119 is now known as polo
16:50:45 × polo quits (~Gambino@user/polo) (Quit: Textual IRC Client: www.textualapp.com)
16:51:02 <edinwood> im trying to work on a "scanning language!
16:51:06 <edinwood> can anyone help?
16:51:14 Polo joins (~Gambino@pool-100-34-212-74.phlapa.fios.verizon.net)
16:51:14 × Polo quits (~Gambino@pool-100-34-212-74.phlapa.fios.verizon.net) (Changing host)
16:51:14 Polo joins (~Gambino@user/polo)
16:51:16 <edinwood> im not too good with language design
16:52:14 <edinwood> at the moment im doing type checking at list constructors for adding functions to a growing program
16:52:31 <edinwood> the program is on its side, running the outputs into inputs of graphically composed scanners
16:52:47 <edinwood> if they were linealy composed with the monoidal algebra, i wouldnt need a language
16:53:03 <edinwood> but to define the composition graph im using variable names to represent edges for derreferencing
16:53:17 <edinwood> or substitution of the evaluated terms
16:55:26 × Polo quits (~Gambino@user/polo) (Remote host closed the connection)
17:02:07 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
17:02:57 mima joins (~mmh@aftr-62-216-210-244.dynamic.mnet-online.de)
17:04:39 darchitect joins (~darchitec@2a00:23c6:3584:df01:bc89:6791:4f2d:5d5)
17:04:50 <yin> how do we set cabal to -v0 by default in .cabal/config?
17:04:55 yauhsien joins (~yauhsien@61-231-22-150.dynamic-ip.hinet.net)
17:05:19 <darchitect> from personal experience Haskell seems like the most abstract programming language I've worked with, do you guys think the same ?
17:05:30 <edinwood> abstract?
17:05:40 <edinwood> seems a bit of an abstract thing
17:05:45 <monochrom> Do you see the line "-- verbose: 1" that you can uncomment and change 1 to 0?
17:06:31 <darchitect> yeah I know, a bit clearer of a definition -> smallest code/abstraction ratio
17:06:34 <darchitect> ?
17:06:45 <monochrom> I was also taught Prolog, so I think functional languages are only the 2nd most abstract.
17:06:58 × leah2 quits (~leah@vuxu.org) (Ping timeout: 240 seconds)
17:07:00 <monochrom> Oh hey I was also taught SQL too.
17:07:17 <Haskelytic> darchitect: in the grand scheme of things, everything is abstract :)
17:07:18 <darchitect> monochrom: what's the 1st ?
17:07:28 <darchitect> Haskelytic: hahaha
17:07:31 × pleo quits (~pleo@user/pleo) (Quit: quit)
17:07:32 <monochrom> Like I implied, Prolog and SQL
17:07:32 <Haskelytic> it's a matter of getting used to it
17:07:47 <monochrom> Generally really declarative languages.
17:07:58 <yin> how do you find sql abstract?
17:08:01 <darchitect> is SQL considered programming language ?
17:08:02 <Haskelytic> I would bet my whole life salary that if you started kids on Haskell, they would complain that C was hard to understand :)
17:08:09 <yin> darchitect: yes
17:08:21 <monochrom> You specify "I want a relational join" instead of "let me write my own loop"?
17:08:52 <yin> depends on what you mean by abstract then
17:08:56 <yin> anyways
17:08:59 <yin> how do we set cabal to -v0 by default in .cabal/config?
17:08:59 <int-e> you create an index and a lot of queries will use binary search instead of iterating over the whole table
17:09:03 <Haskelytic> monochrom: one could argue that "write my own loop" is still abstract because you can't see the electrons whizzing about in the CPU
17:09:16 <sclv> yin: monochrom just told you above!
17:09:30 <Haskelytic> I think "abstract" itself is too abstract to be useful
17:09:41 <int-e> (with no change to how you issue those queries)
17:09:46 <yin> sclv: oops got my channels confused :p
17:09:52 × yauhsien quits (~yauhsien@61-231-22-150.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
17:10:06 <monochrom> In the context of this conversation, "clearly" we are speaking comparatively, not absolutelty.
17:10:26 <int-e> sql is that weird breed of declarative where you have to know how the queries get executed anyway if you run into performance issues
17:10:38 <monochrom> Clearly, you people are context-free automata.
17:10:44 <maerwald> int-e: sounds like Haskell
17:10:49 <int-e> maerwald: true :P
17:10:59 <darchitect> now that I think of it, I guess I meant -> the least amount of boilerplate :D
17:11:15 <Haskelytic> int-e: every abstraction leaks :)
17:11:35 <Haskelytic> monochrom: joke's on you I identify as a pen-paper pair
17:11:47 <int-e> Haskelytic: Maybe one day we'll find the right one :P (Nah. I don't believe in silver bullets.)
17:11:49 <monochrom> I'm pretty sure you also run into Prolog performance issues and then you have to know the exact order of the resolutions plus how to use cuts.
17:12:23 <Haskelytic> monochrom: reminds me of the prolog days :)
17:12:32 <Haskelytic> I learned a lot but I would not want to use it agian
17:12:38 <monochrom> In addition to when you want to determinize definitions and/or queries.
17:12:45 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
17:13:14 <int-e> I've found Prolog kind of awful... it *looks* declarative but really all you're doing is controlling backtracking so that your program still completes in reasonable time (or at all)
17:13:53 <int-e> But I've never used it seriously. (Because of that impression.)
17:14:06 <dolio> SQL has the same problem.
17:14:31 <monochrom> At least SQL is a total language >:)
17:14:57 <edinwood> darchitect: you mean expressive, and yes, haskell is one of the most expressive languages
17:14:59 <dolio> It's designed to be declarative, but practically you need to learn exactly what variations of equivalent things cause the query optimizer to produce a good plan.
17:15:50 <dolio> Unless you just don't care how slow your queries are.
17:15:54 <darchitect> is that because it is is purely functional or is just a property of the Haskell language specifically
17:15:56 <Haskelytic> int-e: but but...what about my expert system :)
17:16:44 <Haskelytic> dolio: sounds like pretty much any system out there. isn't that what spawns those "X optimization expert" jobs
17:17:23 <dolio> Yeah.
17:17:37 <edinwood> i guess nobody is going to take me up on my call to arms to help me write a scanner language
17:18:19 <yin> monochrom: verbose: 0 does nothing apparently. i still get the annoying "Up to date" line in front of my output when i cabal run
17:18:23 leah2 joins (~leah@vuxu.org)
17:18:49 <edinwood> data Program (fs :: [Signature]) (i :: Vars) (o :: Vars) where Inputs :: Proxy i -> Program '[] i o Define :: True ~ (os `Contains` a) => (a +-> b) -> Program fs i os -> Program (f:fs) i o Outputs :: True ~ (os `Contains` o) => Proxy o -> Program fs i os -> Program fs i o
17:18:57 <edinwood> thats what iv got so far..
17:19:45 <edinwood> its a strange language in that you have to define the variable names that a function outputs too
17:19:57 <edinwood> i think because its "scanning" it has "linear parametric functions"
17:19:59 <edinwood> one per scanner
17:20:12 <edinwood> so its no difficulty to name the outputs at the function definition
17:20:29 <edinwood> and that enables you to typecheck the program graph, that all the outputs are consmed or returned at the end
17:21:11 <edinwood> i also had a question about if this "linear function" idea could be related to that of "linear types" which im not sure if they just correspond to values
17:21:47 <edinwood> (in this language all values are [Double] and functions are not passed as arguments at all)
17:25:36 <Haskelytic> edinwood: would be easier if you paste snippets https://paste.tomsmeding.com/
17:25:43 × Haskelytic quits (~Haskelyti@118.179.211.17) (Quit: Client closed)
17:25:50 atwm joins (~atwm@81.28.193.19)
17:25:58 <edinwood> sure, but its not done yet
17:25:58 <edinwood> https://paste.tomsmeding.com/XoPeORvW
17:26:27 <edinwood> so forgive any glaring errors
17:28:41 <edinwood> i hope its almost readable?
17:30:21 × edinwood quits (~edinwood@109.249.184.205) (Remote host closed the connection)
17:30:39 edinwood joins (~edinwood@109.249.184.205)
17:30:43 <int-e> 1 space indentation :(
17:30:45 <edinwood> line 30 is wrong, it should have a constraint that typechecks the program, but this version should typecheck automatically by the constraint on the constructor
17:30:57 × alexhandy quits (~trace@user/trace) (Read error: Connection reset by peer)
17:31:01 <edinwood> int-e: its pure haskell idom!
17:31:18 alexhandy joins (~trace@user/trace)
17:32:07 <monochrom> At least it is not 0.3333... spaces indentation :)
17:32:40 <edinwood> i think the point was that there might be "compiling programs" where the criterea for typechecking could not be issued by placing a constraint on the constructor
17:33:05 × qwym quits (~qwym@pool-96-253-29-94.prvdri.fios.verizon.net) (Remote host closed the connection)
17:33:11 <edinwood> such as allowing definitions in any order that make a proper graph, which here its doing by saying you have to supply the functions in the correct order
17:33:32 <edinwood> so that all the inputs needed by a function being added are avilable in scope as outputs from the previous functions, or the overall inputs
17:33:56 <edinwood> beause the scope grows like this, the output layer simply discards the variables in scope that arent meant to be output
17:34:33 <yin> int-e: i'm more concerned about the inconsistent spacing on the language extensions list
17:34:41 <edinwood> argh!
17:34:51 <edinwood> at least people are reading it...
17:35:04 <yin> edinwood: ;)
17:35:24 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.5)
17:35:29 <int-e> yin: I skipped that :P
17:35:53 <edinwood> im not sure how best to ask for help here...
17:36:32 <darchitect> :d
17:37:41 <int-e> edinwood: Line 28... wouldn't `Proxy i -> Program '[] i i` make more sense?
17:38:18 <edinwood> no!
17:38:25 <edinwood> you dont specify the outputs here
17:38:36 <edinwood> only on the close layer
17:38:44 <edinwood> everything is just added to scope until then
17:39:36 <edinwood> until then you want the intermediate steps to have polymorphic output type
17:39:45 <edinwood> i think... unless im being stupid ofc
17:39:54 <int-e> line 29, why is b unconstrained?
17:40:12 <edinwood> your only checking that the inputs are available
17:40:50 <edinwood> hmm, i guess then you *would* want the inputs to be mapped to outputs. thanks
17:42:12 <edinwood> Inputs :: Proxy i -> Program '[] i i
17:42:16 <edinwood> Define :: True ~ (os `Contains` a) => (a +-> b) -> Program fs i os -> Program (f:fs) i (b ++ os)
17:42:50 <edinwood> at least now the scope is initialised and grows as required
17:42:59 <edinwood> sorry i didnt realise there would be so many mistakes
17:45:13 <int-e> I'm not sure what `Signature` should be. Maybe just a pair?
17:45:58 <edinwood> this was the bit i was getting confused over
17:46:19 <int-e> Anyway... I'm making too many guesses about the intent here.
17:46:32 <edinwood> ok, so
17:46:33 <edinwood> Define :: True ~ (os `Contains` a) => (a +-> b) -> Program fs i os -> Program (f:fs) i (b ++ os)
17:46:38 <edinwood> there is no `f' here
17:47:01 <int-e> f could be a better named version of (a,b)
17:47:12 <hololeap> @hoogle ($>)
17:47:13 <lambdabot> Data.Functor ($>) :: Functor f => f a -> b -> f b
17:47:13 <lambdabot> Data.Functor.Compat ($>) :: Functor f => f a -> b -> f b
17:47:13 <lambdabot> Data.Functor.Apply ($>) :: Functor f => f a -> b -> f b
17:47:21 <edinwood> thats why i thought i needed a signature, but maybe i just dont need any extra params, ie to store the "function", other than just its input output names
17:47:22 arjun joins (~arjun@user/arjun)
17:47:31 <int-e> or, if f acts as a name, (f,a,b)
17:47:38 <edinwood> i dont think there is any typechecking on just the name...
17:48:37 <edinwood> oh right, thats why you were suggesting a pair of the input and output names for the signature
17:48:40 <edinwood> fair enough
17:48:41 <int-e> (so the function environment ([Signature]) will act as an associative map from names to the function's type)
17:48:59 <int-e> using "type" loosely
17:49:17 <edinwood> sure, if the names are at all needed at all
17:49:49 <edinwood> i suppose i could do without, since the typechecking stores the names in the running scope, which is all thats required
17:49:51 <edinwood> i guess
17:49:52 <edinwood> ah
17:50:00 <edinwood> if you didnt typecheck at the constructor...
17:50:07 <edinwood> like, to allow functions defined in any order
17:50:20 <edinwood> then you would need to do an opperation on the [Signature] storing the io names
17:50:29 <int-e> I'm not sure this fits together as is, there's enough questions here that I think you should do a bit more planning and then maybe redo the central `Function`, `Signature`, and `Program` types from scratch.
17:51:06 <edinwood> its a design choice i think about if i need to allow "better language" where the functions can be supplied in any ordedr
17:51:10 <int-e> the list helper is probably fine as is, for now
17:51:16 <edinwood> this is what i mean
17:51:37 <edinwood> not sure if theres anything else to do for typechecking...
17:51:48 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:51:51 <edinwood> like, any other reason for the [Signature] to be made
17:52:29 <edinwood> the next step after figuring that out was supposed to be to add 2 extra constructors, for "constant memory values" (not functions) to be added
17:52:36 <edinwood> and for some kind of "spark" variable
17:52:41 <edinwood> to be carried between itterations
17:52:57 <edinwood> there was a weird condition here that these had to be read from before they could be written too
17:53:40 <edinwood> so you cant add a function that has output to the variable unless it was already used as an input to a previously added function
17:53:46 <edinwood> but im not sure if thats the right condition
17:54:25 <edinwood> a scanner above can output to a scanner below, using the spark memory so it can also take this value as *input*, because there is one there from the output on the prev itteration
17:54:40 <edinwood> so adding these "spark" varibles also demands an initial data value
17:55:24 <edinwood> which is different from the "carry" which just pertains to the "state" (eg the basecase to mapAccumL) transfers under the hood - which i have no idea how to do at all!!!
17:55:28 sagax joins (~sagax_nb@user/sagax)
17:55:30 <edinwood> was going to figure that part out
17:55:40 <edinwood> makes sense?#
17:58:39 <edinwood> im not sure how to detatch the state transfer from the output function
17:58:43 <int-e> Hmm, have you sketched this thing without almost-dependent types, so that you have a clear picture of the stuff you want to track in those types?
17:59:05 <edinwood> i tried idris but it was dementing
17:59:27 <edinwood> i think my brain rejected it from being just similar enough to haskell to trick my brain into an erronious sense of security
17:59:30 <int-e> I meant in Haskell with plain data types.
17:59:49 <edinwood> hmm, all the typechecking stuff is done at type level
17:59:53 <edinwood> im not sure what you mean
17:59:59 <edinwood> do it all without any type safety
18:00:08 <edinwood> the whole process is a typelevel one pretty much
18:00:27 <edinwood> and i have enough experience working at typelevel to make that quite straitforwards
18:00:42 <edinwood> i dont think much would be gained elsewise, unless i misunderstood what you meant
18:00:45 <int-e> Okay.
18:01:27 <edinwood> i know its hard to get from the code what this has to do with scanners, except what i just said about sparks
18:01:56 king_gs joins (~Thunderbi@187.201.228.209)
18:02:03 <edinwood> but its basically from (\a b -> (c,b)) factoring into (\a b -> c,\a b -> b)
18:02:04 × king_gs quits (~Thunderbi@187.201.228.209) (Client Quit)
18:02:19 <edinwood> er, i dont know why i wrote those with lambdas, they are just types
18:02:38 <edinwood> (a -> b -> (c,b)) factoring into (a -> b -> c,a -> b -> b)
18:02:51 <edinwood> i can do the "state transfer" and the "observation" seperately
18:02:51 <int-e> Yeah I don't understand it well enough to give concrete advice... (and I guess I'm not really willing to dive into it more deeply)
18:03:03 <edinwood> i assume that
18:03:21 <edinwood> but im just at the crux of what its actually doing...
18:03:45 <edinwood> its supposed to be a program for composing together the observations, while doing the state transfers under the hood
18:03:57 <edinwood> since there is just one of those per scanner and they dont compose together at all
18:04:19 <edinwood> the whole point is to generate these sparks, so you can scan over your own outputs pretty much
18:04:35 <edinwood> idk if i can say anything else...
18:06:19 <edinwood> but yeah, i have to take a bunch of scanners seperated into state transfer and observer functions, and handle these seperately, passing all the observations into this program construction and doing all the state transfers under the hood
18:06:33 <edinwood> at least, having said that you should be able to uderstand what its actually doing
18:06:35 Haskelytic joins (~Haskelyti@118.179.211.17)
18:08:10 <edinwood> some language based extension of SISO scanner compositionality from monoidal on making MIMO scanners, to a graph compositional algebra expressed as a program graph
18:09:02 <edinwood> ok ill be back sometime
18:09:03 × edinwood quits (~edinwood@109.249.184.205) (Remote host closed the connection)
18:09:50 × vglfr quits (~vglfr@coupling.penchant.volia.net) (Ping timeout: 240 seconds)
18:15:51 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
18:16:05 acidjnk joins (~acidjnk@dynamic-046-114-174-017.46.114.pool.telefonica.de)
18:19:40 × sympt quits (~sympt@user/sympt) (Read error: Connection reset by peer)
18:20:52 sympt joins (~sympt@user/sympt)
18:27:37 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
18:29:54 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:30:10 × acidjnk quits (~acidjnk@dynamic-046-114-174-017.46.114.pool.telefonica.de) (Ping timeout: 260 seconds)
18:30:54 × alexhandy quits (~trace@user/trace) (Read error: Connection reset by peer)
18:31:09 alexhandy joins (~trace@user/trace)
18:34:24 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
18:35:47 nate4 joins (~nate@98.45.169.16)
18:40:21 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds)
18:41:15 × kraftwerk28 quits (~kraftwerk@178.62.210.83) (Ping timeout: 260 seconds)
18:42:50 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
18:45:12 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
18:46:42 mc47 joins (~mc47@xmonad/TheMC47)
18:46:54 Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net)
18:51:05 <Haskelytic> when i place a function in backticks like `intercalate` to turn it into infix op, what's the precendence value for it?
18:51:08 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.5)
18:52:05 <dsal> It can be specified.
18:52:47 <dsal> % :i mod
18:52:47 <yahb2> type Integral :: * -> Constraint ; class (Real a, Enum a) => Integral a where ; ... ; mod :: a -> a -> a ; ... ; -- Defined in ‘GHC.Real’ ; infixl 7 `mod`
18:53:04 <dsal> % :i intercalate
18:53:04 <yahb2> <interactive>:1:1: error: Not in scope: ‘intercalate’
18:53:11 <EvanR> by default it is highest precedence
18:53:23 ns joins (~ns@66-90-198-187.dyn.grandenetworks.net)
18:53:41 <EvanR> which is 10 ?
18:53:59 <int-e> 9
18:54:14 <EvanR> doh, off by 1
18:54:33 int-e high-fours EvanR.
18:54:42 <Haskelytic> EvanR: story of my life
19:00:35 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:01:53 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
19:01:54 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 264 seconds)
19:02:26 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
19:03:32 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
19:06:49 <geekosaur> % :i Data.List.intercalate
19:06:50 <yahb2> base-4.14.3.0:Data.OldList.intercalate :: [a] -> [[a]] -> [a] ; -- Defined in ‘base-4.14.3.0:Data.OldList’
19:07:01 <geekosaur> not shown/specified, so infixl 9
19:10:44 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
19:10:48 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 248 seconds)
19:13:05 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
19:13:09 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
19:13:29 Guest1532 joins (~Gambino@user/polo)
19:13:41 × Guest1532 quits (~Gambino@user/polo) (Read error: Connection reset by peer)
19:16:21 notzmv joins (~zmv@user/notzmv)
19:18:08 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
19:18:32 polo joins (~Gambino@user/polo)
19:18:56 × ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 3.5)
19:19:02 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.5)
19:19:18 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
19:20:03 ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
19:20:22 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
19:20:40 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
19:21:46 acidjnk joins (~acidjnk@dynamic-046-114-174-017.46.114.pool.telefonica.de)
19:22:20 × polo quits (~Gambino@user/polo) (Client Quit)
19:23:07 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
19:26:13 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Client Quit)
19:33:06 Polo joins (~Gambino@pool-100-34-212-74.phlapa.fios.verizon.net)
19:33:06 × Polo quits (~Gambino@pool-100-34-212-74.phlapa.fios.verizon.net) (Changing host)
19:33:06 Polo joins (~Gambino@user/polo)
19:34:43 `2jt joins (~jtomas@141.red-88-17-65.dynamicip.rima-tde.net)
19:35:34 Polo is now known as money
19:39:10 michalz joins (~michalz@185.246.204.93)
19:40:29 segfaultfizzbuzz joins (~segfaultf@192-184-223-90.static.sonic.net)
19:41:14 <segfaultfizzbuzz> so there are several layers of cache hierarchy,... registers, l1, l2, l3, ram, disk (let's including only fast pcie ssds here), network
19:41:43 <segfaultfizzbuzz> as a bad programmer, how do i understand how those relate to my code
19:42:07 <segfaultfizzbuzz> i also may be missing some layers there
19:42:50 money is now known as Polo
19:43:09 <geekosaur> you mostly don't care unless you seriously need to eke the very last bit of performance out of your code, and in that case I suspect you're not programming in a higher level language but sticking to C
19:44:09 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
19:44:19 × Polo quits (~Gambino@user/polo) (Read error: Connection reset by peer)
19:45:13 <segfaultfizzbuzz> so like the vm/compiler/etc figures out all/most of the fetching?
19:47:02 <geekosaur> ideally yes, but you run into various other issues because the higher level the language is, the less low level control it gives you to e.g. fit data (much less instructions) into cache lines
19:47:50 <geekosaur> so it's much harder to reason about cache in C++ than in C, never mind Haskell
19:48:15 <segfaultfizzbuzz> i can't reason about C++ at all
19:48:22 <geekosaur> and don't even bother if it's Java, Scala, Python, Javascript, etc. because those run in virtual machines and you have zero access to that level
19:49:11 <segfaultfizzbuzz> cache considerations come down to memory ordering and size of objects?
19:49:17 <geekosaur> yes
19:49:20 <segfaultfizzbuzz> and that's it?
19:49:28 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.5)
19:49:31 <jjhoo> python + numpy?
19:50:03 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
19:50:12 <geekosaur> other things you have to worry about are delayed jump slots and how those affect cache usage, but at that point you're either trusting the compiler or writing hand assembler
19:50:25 <geekosaur> jjhoo, you're at numpy's mercy there
19:50:47 <segfaultfizzbuzz> "delayed jump slot" is fairly equivalent to branch hints?
19:50:54 <geekosaur> likewise with something like repa or accelerate in haskell
19:51:47 <geekosaur> not exacly. it means you get to execute one more instruction before you branch
19:52:34 <geekosaur> which can make it easier to fit into a cache line in the case where you would otherwise have to set a flag, do something, then branch based on the flag
19:52:38 <geekosaur> I think
19:52:50 <geekosaur> this rapidly gets complex and my EE education didn't quite get that far
19:53:01 <geekosaur> also I'm not sure how much of these tricks Intel supports
19:53:04 <segfaultfizzbuzz> are there instructions which say what to do with the cache itself, or is that something the CPU handles...?
19:53:08 <geekosaur> some of it was RISC
19:53:23 edinwood joins (~edinwood@109.249.184.205)
19:53:33 <edinwood> https://paste.tomsmeding.com/DXfHlbOQ
19:53:38 <geekosaur> there are
19:53:39 <edinwood> now i get a strange type error
19:53:39 <segfaultfizzbuzz> can i tag data and say "keep this in L2 cache or L3 cache no matter what you think" for example
19:54:06 <geekosaur> I don't think so since it would mess up how anything else being cached was handled
19:54:23 <Rembane> segfaultfizzbuzz: IIRC that's up to the CPU, this makes it possible for the people doing the hardware to make even more interesting optimziations.
19:54:30 <geekosaur> so you have to just code very carefully to avoid the cache line being evicted to hold something else
19:54:32 × ns quits (~ns@66-90-198-187.dyn.grandenetworks.net) (Ping timeout: 248 seconds)
19:54:37 <segfaultfizzbuzz> so CPU design dictates cache handling
19:54:47 × arjun quits (~arjun@user/arjun) (Remote host closed the connection)
19:54:47 <edinwood> i dont think its scoping the types from the constraint properly
19:55:08 <geekosaur> I think the limit oof your cache control is saying "evict now" which is typically done by using a jump instead of a branch
19:55:15 <segfaultfizzbuzz> "very carefully" means "crap code which will break because an invariant is not made explicit"
19:55:37 <int-e> there's prefetching, and there's hints (e.g. something called non-temporal loads that bypass the cache)
19:55:50 × kjak quits (~kjak@pool-108-31-68-111.washdc.fios.verizon.net) (Ping timeout: 244 seconds)
19:56:17 <Rembane> Also, the cpu will try to reorder the instructions to make the code faster. Not all cpus, not all the time, but still.
19:56:41 <geekosaur> yes. this rapidly gets tricky
19:56:57 <segfaultfizzbuzz> wild
19:57:13 <int-e> and let's not forget that atomic instructions are also in part about cache control
19:57:33 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Remote host closed the connection)
19:57:48 <geekosaur> this kind of thing is also what sank itanium, since that added even more fancies (look up VLIW) and compilers already weren't up to snuff for what already existed, let alone that
19:57:48 <Rembane> int-e: How? Tell me more!
19:57:49 <int-e> CPUs are messy. It's amazing that they work :P
19:58:00 <Rembane> That's why I love CPUs. :D
19:58:01 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
19:58:35 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:58:42 <edinwood> should i add the bool to the first class's params?
19:58:57 <int-e> Rembane: In an SMP system, you need exclusive access to the corresponding address for the duration of the atomic operation.
19:59:12 <edinwood> it can only see things from the rhs of the class => right?
19:59:21 <hololeap> @type \f -> fmap f . sequenceA
19:59:23 <lambdabot> (Traversable t, Applicative f) => (t a -> b) -> t (f a) -> f b
19:59:28 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Client Quit)
19:59:48 <hololeap> @type \f -> sequenceA . fmap f
19:59:49 <lambdabot> (Traversable t, Applicative f) => (a1 -> f a2) -> t a1 -> f (t a2)
19:59:56 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
20:00:07 <hololeap> ok, so the second is traverse. is there a name for the first?
20:00:14 <edinwood> im trying to implement subselection of a type annotated list by a proxy list of types
20:00:47 <Rembane> int-e: Cool, is this connected to some of the atomicity guarantees that GHC can give?
20:00:55 <hololeap> @hoogle (Traversable t, Applicative f) => (t a -> b) -> t (f a) -> f b
20:00:57 <lambdabot> No results found
20:01:07 <edinwood> during tail recursion i ask if the heads type is in the proxy list, but the typechecker complains about this being asked in 2 different locations
20:01:28 <edinwood> saying it cant match them up
20:01:48 <int-e> Rembane: well, lock-free data structures and locks depend on this stuff. So... yes... as an implementation detail.
20:02:33 <Rembane> int-e: Good. There are turtles all the way down.
20:03:03 <int-e> . o O ( I have thought long and hard about this and I've come to the conclusion that modern CPUs cannot work. :-P (Nah, I'm joking. I really haven't thought *too* deeply about this. I am amazed though that we don't have more hardware bugs.) )
20:04:26 <int-e> (And I don't mean stuff like Spectre. That's technically not a bug at all; CPUs don't guarantee constant time execution is all. Too bad it has security implications...)
20:04:57 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:09:52 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
20:10:41 <geekosaur> .oO { f00f bug }
20:11:08 <geekosaur> and I used to work in a department where that was people's biggest nightmare
20:11:14 Vajb joins (~Vajb@2001:999:485:209:bc32:5580:b7a6:e68b)
20:11:28 <segfaultfizzbuzz> i wonder what fraction of software can be implemented as an asic
20:12:11 <Rembane> I would cockily wave my Turing flag around and say all of it, but maybe it wouldn't be useful or a good use of time.
20:12:29 pseigo joins (~pseigo@node-1w7jr9ye7hx4fsjarlsl1lkjw.ipv6.telus.net)
20:14:50 <edinwood> i extracted the code with the bug to make it easier to read
20:14:50 <edinwood> https://paste.tomsmeding.com/W0lmkO1X
20:14:59 pavonia joins (~user@user/siracusa)
20:15:48 <edinwood> i cant figure out where it gets all these xs1 type variables from
20:15:56 <edinwood> everything is specified as far as i can tell
20:16:15 pleo joins (~pleo@user/pleo)
20:18:06 <edinwood> perhaps there is an easyer way to write this...
20:18:26 <edinwood> im never sure exactly how many parameters these kinds of classes should take
20:21:12 jgeerds joins (~jgeerds@55d45f48.access.ecotel.net)
20:25:12 <segfaultfizzbuzz> well thanks for the fun discussion cya l8r
20:25:16 × segfaultfizzbuzz quits (~segfaultf@192-184-223-90.static.sonic.net) (Quit: segfaultfizzbuzz)
20:26:10 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
20:26:13 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:27:28 motherfsck joins (~motherfsc@user/motherfsck)
20:29:22 <monochrom> The conference-of-rats Aesop fable applies. Every programmer agrees that all software can be made ASIC; furthermore, every programmers agrees that if it is to be done, it should be someone else. >:)
20:29:59 <Rembane> monochrom: It's that Spiderman pointing meme. :D
20:31:13 fockerize joins (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
20:33:40 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:37:43 nate4 joins (~nate@98.45.169.16)
20:39:06 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:39:57 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
20:41:16 hpc . o O ( the next circuit editor tool should be called "isual asic" )
20:41:58 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds)
20:42:41 <monochrom> haha that's a great one
20:43:01 <geekosaur> better than "icfb"
20:45:35 mmhat joins (~mmh@p200300f1c70907f9ee086bfffe095315.dip0.t-ipconnect.de)
20:46:44 <monochrom> w00t full-stack devop vs front-to-back electronics engineer!
20:47:00 <edinwood> dejavu
20:50:51 <edinwood> typed list subset anyone?
20:50:57 Polo joins (~Gambino@user/polo)
20:52:38 × leah2 quits (~leah@vuxu.org) (Ping timeout: 240 seconds)
20:53:09 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
20:54:24 × Polo quits (~Gambino@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:56:04 × fockerize quits (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 272 seconds)
20:56:22 ns joins (~ns@66-90-198-187.dyn.grandenetworks.net)
20:56:31 × _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
21:00:23 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:01:01 × quarkyalice_ quits (~alice@user/quarkyalice/x-8092822) (Read error: Connection reset by peer)
21:01:52 quarkyalice_ joins (~alice@user/quarkyalice/x-8092822)
21:02:17 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
21:02:37 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
21:03:01 leah2 joins (~leah@vuxu.org)
21:04:25 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
21:04:58 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
21:05:29 × quarkyalice_ quits (~alice@user/quarkyalice/x-8092822) (Read error: Connection reset by peer)
21:06:03 quarkyalice_ joins (~alice@172.77.17.54)
21:06:03 × quarkyalice_ quits (~alice@172.77.17.54) (Changing host)
21:06:03 quarkyalice_ joins (~alice@user/quarkyalice/x-8092822)
21:06:22 lisk1n joins (~liskin@xmonad/liskin)
21:07:39 × liskin quits (~liskin@xmonad/liskin) (Ping timeout: 244 seconds)
21:09:27 × Haskelytic quits (~Haskelyti@118.179.211.17) (Quit: Client closed)
21:11:10 × ns quits (~ns@66-90-198-187.dyn.grandenetworks.net) (Ping timeout: 240 seconds)
21:13:18 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
21:14:04 ns joins (~ns@66-90-198-187.dyn.grandenetworks.net)
21:19:53 lainon joins (~lainon@c-68-46-201-40.hsd1.al.comcast.net)
21:20:29 causal joins (~user@50.35.83.177)
21:30:37 × acidjnk quits (~acidjnk@dynamic-046-114-174-017.46.114.pool.telefonica.de) (Ping timeout: 256 seconds)
21:32:10 <edinwood> i cant even tell why its throwing that error...
21:32:18 × ns quits (~ns@66-90-198-187.dyn.grandenetworks.net) (Ping timeout: 240 seconds)
21:32:21 <edinwood> https://paste.tomsmeding.com/W0lmkO1X
21:32:45 × leah2 quits (~leah@vuxu.org) (Ping timeout: 260 seconds)
21:33:23 × quarkyalice_ quits (~alice@user/quarkyalice/x-8092822) (Remote host closed the connection)
21:33:57 quarkyalice_ joins (~alice@172.77.17.54)
21:33:57 × quarkyalice_ quits (~alice@172.77.17.54) (Changing host)
21:33:57 quarkyalice_ joins (~alice@user/quarkyalice/x-8092822)
21:36:30 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
21:38:46 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
21:43:12 × `2jt quits (~jtomas@141.red-88-17-65.dynamicip.rima-tde.net) (Ping timeout: 276 seconds)
21:43:51 × quarkyalice_ quits (~alice@user/quarkyalice/x-8092822) (Ping timeout: 276 seconds)
21:44:24 ns joins (~ns@66-90-198-187.dyn.grandenetworks.net)
21:48:59 leah2 joins (~leah@vuxu.org)
21:50:30 × pseigo quits (~pseigo@node-1w7jr9ye7hx4fsjarlsl1lkjw.ipv6.telus.net) (Ping timeout: 264 seconds)
21:56:37 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 268 seconds)
22:00:37 epolanski joins (uid312403@id-312403.helmsley.irccloud.com)
22:01:42 quarkyalice joins (~alice@50-107-9-193.plcd.ca.frontiernet.net)
22:01:42 × quarkyalice quits (~alice@50-107-9-193.plcd.ca.frontiernet.net) (Changing host)
22:01:42 quarkyalice joins (~alice@user/quarkyalice)
22:02:20 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
22:03:04 pseigo joins (~pseigo@node-1w7jr9ye7hx4fsjarlsl1lkjw.ipv6.telus.net)
22:06:35 yax__ joins (~yax__@user/yax/x-9576643)
22:09:05 × yax__ quits (~yax__@user/yax/x-9576643) (Client Quit)
22:10:18 motherfsck joins (~motherfsc@user/motherfsck)
22:11:46 <edinwood> i tried hacking away at it, and have isolated the error...
22:11:46 <edinwood> https://paste.tomsmeding.com/qFTfCwLz
22:12:14 <edinwood> same error, no idea why it rejects the variables, im guessing it somehow fails to do the same calculation twice or something...
22:13:15 × pseigo quits (~pseigo@node-1w7jr9ye7hx4fsjarlsl1lkjw.ipv6.telus.net) (Changing host)
22:13:15 pseigo joins (~pseigo@user/pseigo)
22:15:35 <hololeap> hm, how would I do this (using megaparsec): parse a string using `(++) <$> some (satisfy f) <*> many (satisfy g)` , check if that string satisfies another Parsec , branch depending on if that second Parsec parser succeeds
22:16:35 <hololeap> maybe some trick using lookAhead
22:18:40 yax__ joins (~yax__@user/yax/x-9576643)
22:22:31 <edinwood> i guess i could try to implement it with typelevel filter
22:24:18 <edinwood> hmm, that actually sounds even more complicated
22:24:57 <edinwood> i dont want to have to pass somehow defunctionalised type familes as arguments on how to filter the type list
22:25:55 × lisk1n quits (~liskin@xmonad/liskin) (Quit: lisk1n)
22:26:12 liskin joins (~liskin@xmonad/liskin)
22:27:35 × pleo quits (~pleo@user/pleo) (Quit: quit)
22:30:04 × michalz quits (~michalz@185.246.204.93) (Remote host closed the connection)
22:33:50 <monochrom> hololeap: I am not sure that there is a general solution other than the Turing-tarpit solution.
22:34:03 × atwm quits (~atwm@81.28.193.19) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:39:07 <hololeap> tarpit it is, then
22:40:34 <monochrom> You can always do an inner "case runParser xxx yyy of Left err -> empty; Right a -> continue with a"
22:40:53 × ns quits (~ns@66-90-198-187.dyn.grandenetworks.net) (Ping timeout: 256 seconds)
22:48:17 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
22:48:17 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
22:48:17 × califax quits (~califax@user/califx) (Write error: Connection reset by peer)
22:48:17 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Read error: Connection reset by peer)
22:48:18 × winny quits (~weechat@user/winny) (Read error: Connection reset by peer)
22:48:36 califax joins (~califax@user/califx)
22:48:39 ChaiTRex joins (~ChaiTRex@user/chaitrex)
22:49:00 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
22:49:07 stiell joins (~stiell@gateway/tor-sasl/stiell)
22:49:11 winny joins (~weechat@user/winny)
22:53:15 <hololeap> good thing there's QuickCheck
22:53:30 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
22:54:01 <edinwood> its a "complicated human interface that requires detailed input" ?
22:54:32 × TonyStone quits (~TonyStone@2603-7080-8607-c36a-09e4-c1eb-6da4-2a7c.res6.spectrum.com) (Ping timeout: 255 seconds)
22:57:13 Guest33 joins (~Guest33@2402:e280:3e30:264:d487:a154:9648:25a)
22:57:15 <hololeap> I might as well just show what I'm trying to solve
22:57:27 <yax__> mhm
22:58:28 Guest33 parts (~Guest33@2402:e280:3e30:264:d487:a154:9648:25a) ()
22:59:02 × Tuplanolla quits (~Tuplanoll@91-159-69-97.elisa-laajakaista.fi) (Quit: Leaving.)
22:59:28 <hololeap> trying to write a parser for this: https://projects.gentoo.org/pms/8/pms.html#x1-180003.1.2
22:59:55 <hololeap> "and must not end in a hyphen followed by anything matching the version syntax described in section 3.2."
23:00:13 <hololeap> is the part that is tricky
23:00:23 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
23:01:53 <monochrom> So wait, I can have "_0123" as a package name? :)
23:02:01 <hololeap> yessir
23:02:56 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:38a1:df0f:1ea3:e329) (Remote host closed the connection)
23:02:59 <hololeap> so "cat-name/pkg-7-name-0.1.2" needs to be parsed as (Package (Category "cat-name") (PkgName "pkg-7-name") (Just (Version "0.1.2")))
23:03:25 <hololeap> but "cat-name/pkg-name-7-0.1.2" needs to fail
23:04:30 <hololeap> I tested my more naive parser against all the installed packages on my system, and it passed on every one except "dev-java/log4j-12-api-2.17.2"
23:04:46 <hololeap> so now I'm trying to follow the spec
23:06:05 <hololeap> btw, I'm using a lib that I wrote that builds off of megaparsec, but is supposed to help compose smaller parsers into larger ones
23:07:11 TonyStone joins (~TonyStone@2603-7080-8607-c36a-4c93-2912-ff7c-8bcd.res6.spectrum.com)
23:09:54 <hololeap> here's the lib: https://github.com/hololeap/cabal-portage/blob/main/parsable/src/Data/Parsable.hs
23:10:38 <hololeap> and here's the abomination I'm trying to write: https://github.com/hololeap/cabal-portage/blob/main/portage-hs/src/Distribution/Portage/Types.hs#L81-L123
23:10:59 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
23:11:30 × xdej quits (~xdej@quatramaran.salle-s.org) (Ping timeout: 240 seconds)
23:13:18 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
23:14:50 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:38a1:df0f:1ea3:e329)
23:15:00 ns joins (~ns@66-90-198-187.dyn.grandenetworks.net)
23:15:29 NaturalNumber joins (~monadam@137.229.82.64)
23:15:50 <edinwood> ah, line 35 was wrong
23:15:58 × yax__ quits (~yax__@user/yax/x-9576643) (Quit: Lost terminal)
23:16:10 <ns> hi, I tried the Windows installation commands given on the page shown above. After fixing an error due to the GroupPolicy settings not allowing policy overrides, the command sequence executes but then immediately closes the powershell window (with AFICT no error message). According to the youtube video, its supposed to then allow you to do some
23:16:11 <ns> further steps. (Just to confirm, it wasn't installed on C:). I am running Powershell v 5.1 on Windows 10
23:21:31 × ns quits (~ns@66-90-198-187.dyn.grandenetworks.net) (Quit: Connection closed)
23:24:25 yax__ joins (~yax__@user/yax/x-9576643)
23:26:32 × NaturalNumber quits (~monadam@137.229.82.64) (Quit: Leaving)
23:26:57 NaturalNumber joins (~monadam@137.229.82.64)
23:27:17 texasmynsted joins (~texasmyns@99.96.221.112)
23:28:58 <texasmynsted> does anybody happen to know if stache or any of the other haskell templating modules allow for the ability to change the delimiters?
23:29:11 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds)
23:29:48 <monochrom> hololeap: I'm back. So this is where people are right to find regexes easier to use (they say "powerful" but that's vague as usual) and subsequently design grammars friendly to regexes but unfriendly to LL(k) parsers.
23:29:59 jakalx joins (~jakalx@base.jakalx.net)
23:30:12 <texasmynsted> hmm. looks like stache might allow thos.
23:30:17 <texasmynsted> s/thos/this/
23:30:26 nate4 joins (~nate@98.45.169.16)
23:30:27 <texasmynsted> https://hackage.haskell.org/package/stache-2.3.3/src/specification/delimiters.yml
23:30:35 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
23:32:00 × yax__ quits (~yax__@user/yax/x-9576643) (Quit: Lost terminal)
23:32:13 <monochrom> Take for example this toy regex, (0|1)*11001, which captures the most difficult aspect of your problem. There is a "1st part" (0|1)* which pretends to be unrestricted, and then a "2nd part" 11001 which annoyingly is a subset of the 1st part. There is pretty genuine ambiguity there.
23:32:50 <texasmynsted> sigh so dislike regexps
23:33:25 <monochrom> Someone has to resolve that ambiguity and find out the hard way when the input string is like 110001100011011001 where to split it.
23:34:38 <monochrom> A regex engine solves it by either insane backtracking or insane converting an NFA to a DFA (incurs an exponential blowup).
23:35:33 <monochrom> That either backtracking or an NFA is involves justifies my saying that there is a pretty genuine ambiguity in the regex example.
23:36:41 <monochrom> Now, parsec and megaparsec discourages both backtracking and ambiguity. Although Turing-complete in theory, idiomatic uses are basically LL(1).
23:37:01 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
23:37:51 <monochrom> If you use them, you have to code up by hand the same backtracking and/or lookAhead and/or converting NFA to DFA.
23:37:55 jakalx joins (~jakalx@base.jakalx.net)
23:38:10 <monochrom> At this point I might recommend using a regex library instead.
23:38:12 × tcard quits (~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Ping timeout: 246 seconds)
23:39:18 <monochrom> texasmynsted: This is not dislike of regexes.
23:39:50 <texasmynsted> fair enough
23:39:52 <hololeap> fair, but I spent a lot of time writing that lib, and I'm very reluctant to switch to a different parsing lib just for this one case
23:39:53 <texasmynsted> good luck
23:40:17 <monochrom> This is technical analysis and pursuit of truth.
23:40:54 <hololeap> but, yeah, I had a feeling this would be easier using regexes
23:41:34 <hololeap> luckily, I have a solid test suite set up so I can just hack away until it all passes
23:42:57 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
23:43:08 <edinwood> well i did not expect that would take all day
23:43:11 tcard joins (~tcard@p945242-ipngn9701hodogaya.kanagawa.ocn.ne.jp)
23:43:16 <edinwood> https://paste.tomsmeding.com/OuDgQBe0
23:44:04 jakalx joins (~jakalx@base.jakalx.net)
23:44:09 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
23:44:17 <edinwood> :t scope3 scope3 :: Scope '["hello", "world"]
23:44:18 <lambdabot> error:
23:44:18 <lambdabot> Not in scope: type constructor or class ‘Scope’
23:44:27 <edinwood> oops, sorry lambdabot
23:44:59 <monochrom> My regex example can be shoehorned into parsec by something like: many (zero <|> (one `notFollwedBy` one_zero_zero_one) >> one_one_zero_zero_one. This is a lot of backtracking.
23:45:17 <monochrom> (And also pretty fragile.)
23:46:20 <edinwood> now i can unasign variables! woop! garbage collection enabled
23:47:05 <edinwood> hmm, i hadnt planned on what to do next... netflix time!
23:47:41 <edinwood> im sure some other version of me will try to do whatever it was that i needed this for again at some point, and now it is done...
23:48:19 <edinwood> i thought by this point id be the benefactor of such things previously, but i just have a half a million disorganised .hs files
23:48:30 <edinwood> some of which are not eve .hs files!
23:49:26 <edinwood> speaking of garbage... im sure its worth mining for code snippets, but i dont have that infrastructure
23:49:37 × quarkyalice quits (~alice@user/quarkyalice) (Quit: Leaving)
23:50:07 <edinwood> maybe some genetic algorithm could be trained to produce insane half finished haskell projects
23:50:24 <geekosaur> isn't that microsoft's new thing?
23:50:32 quarkyalice joins (~alice@50-107-9-193.plcd.ca.frontiernet.net)
23:50:32 × quarkyalice quits (~alice@50-107-9-193.plcd.ca.frontiernet.net) (Changing host)
23:50:32 quarkyalice joins (~alice@user/quarkyalice)
23:50:49 <edinwood> yeah, i was just feeling somewhat "our friends electric" for a second there
23:51:35 × jgeerds quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 260 seconds)
23:52:44 <edinwood> im sure microsoft has plenty of new things mind
23:52:55 <hololeap> I knew they would eventually do that when they bought github
23:53:03 <geekosaur> copilot
23:53:10 <hololeap> "look guys, free code!"
23:53:17 <edinwood> where!!?
23:53:30 <Bulby[m]> Where?!?
23:53:31 <Bulby[m]> dang it
23:54:30 <edinwood> over there, next to the free lunch
23:54:37 zebrag joins (~chris@user/zebrag)
23:54:41 <pragma-> if it's free it's probably defective
23:54:45 <edinwood> (i have a half finished algorithm which produces those)
23:55:20 <edinwood> pragma- : this offends my religious sensibilities
23:55:37 hololeap hides the free monads
23:55:41 <edinwood> lol
23:55:55 <edinwood> i only eat burritos!?
23:56:02 pragma- slaps a $10,000 price tag on his code to convince corporations that his code is strong
23:56:35 <edinwood> freegan
23:56:49 <edinwood> its like a big self replicating cyclic machine
23:57:18 <edinwood> scottish people shouting "FREEEDAG!!!"
23:57:55 <edinwood> i dont evern want to know what a freedom is...
23:58:50 Guest7586 joins (~Gambino@user/polo)
23:59:57 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)

All times are in UTC on 2022-07-02.