2023-02-16 00:04:03 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2023-02-16 00:08:01 +0100 | pernzs | (~pernzs@125.7.37.86) |
2023-02-16 00:10:06 +0100 | kurbus | (~kurbus@user/kurbus) (Quit: Ping timeout (120 seconds)) |
2023-02-16 00:12:15 +0100 | elevenkb | (~elevenkb@105.225.107.107) (Ping timeout: 255 seconds) |
2023-02-16 00:12:50 +0100 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2023-02-16 00:22:01 +0100 | Maxdamantus | (~Maxdamant@user/maxdamantus) |
2023-02-16 00:33:31 +0100 | czy | (~user@host-140-27.ilcub310.champaign.il.us.clients.pavlovmedia.net) |
2023-02-16 00:33:57 +0100 | AlexZenon | (~alzenon@178.34.160.79) (Ping timeout: 255 seconds) |
2023-02-16 00:33:57 +0100 | Alex_test | (~al_test@178.34.160.79) (Ping timeout: 255 seconds) |
2023-02-16 00:36:20 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-02-16 00:39:59 +0100 | Alex_test | (~al_test@178.34.160.79) |
2023-02-16 00:40:59 +0100 | AlexZenon | (~alzenon@178.34.160.79) |
2023-02-16 00:41:07 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds) |
2023-02-16 00:47:02 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-02-16 00:47:54 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 00:49:04 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-02-16 00:51:59 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 248 seconds) |
2023-02-16 00:57:31 +0100 | fmlatghor | (~lcoogan@c-73-177-167-149.hsd1.va.comcast.net) (WeeChat 3.5) |
2023-02-16 00:59:40 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-02-16 01:00:08 +0100 | img | (~img@user/img) |
2023-02-16 01:02:03 +0100 | pernzs | (~pernzs@125.7.37.86) (Ping timeout: 260 seconds) |
2023-02-16 01:03:58 +0100 | img | (~img@user/img) (Client Quit) |
2023-02-16 01:06:59 +0100 | img | (~img@user/img) |
2023-02-16 01:12:58 +0100 | acidjnk | (~acidjnk@p54ad56b7.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2023-02-16 01:13:44 +0100 | HandolPark[m] | (~handol-pa@2001:470:69fc:105::3:1994) |
2023-02-16 01:13:57 +0100 | HandolPark[m] | (~handol-pa@2001:470:69fc:105::3:1994) () |
2023-02-16 01:13:59 +0100 | <dibblego> | does there exist a library to diff/merge data types? |
2023-02-16 01:17:41 +0100 | beteigeuze | (~Thunderbi@85.247.81.220) (Quit: beteigeuze) |
2023-02-16 01:18:42 +0100 | ec_ | ec |
2023-02-16 01:20:41 +0100 | <lyxia> | https://hackage.haskell.org/package/tree-diff |
2023-02-16 01:22:05 +0100 | mauke_ | (~mauke@user/mauke) |
2023-02-16 01:23:27 +0100 | mauke | (~mauke@user/mauke) (Ping timeout: 255 seconds) |
2023-02-16 01:23:27 +0100 | mauke_ | mauke |
2023-02-16 01:24:31 +0100 | larrythecow | (~oldfashio@2.120.101.114) |
2023-02-16 01:25:52 +0100 | <jackdk> | dibblego: also https://hackage.haskell.org/package/semialign-extras does it but is potentially inefficient (because it relies on Semialign and Filterable, and knows nothing more about the types); https://hackage.haskell.org/package/patch is from the obsidianverse but doesn't have a diff operation (but see https://github.com/reflex-frp/patch/issues/52 ) |
2023-02-16 01:26:58 +0100 | elevenkb | (~elevenkb@105.225.107.107) |
2023-02-16 01:27:00 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-02-16 01:27:10 +0100 | <jackdk> | also torsors/group actions capture the diff/patch idea; https://hackage.haskell.org/package/acts-0.3.1.0/docs/Data-Act.html seems most promising for that |
2023-02-16 01:31:41 +0100 | <dibblego> | thanks |
2023-02-16 01:32:32 +0100 | <jackdk> | dibblego: what are you trying to do? |
2023-02-16 01:33:52 +0100 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
2023-02-16 01:38:21 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
2023-02-16 01:39:25 +0100 | elevenkb | (~elevenkb@105.225.107.107) (Ping timeout: 252 seconds) |
2023-02-16 01:41:28 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 01:42:19 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-02-16 01:42:19 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-02-16 01:42:19 +0100 | wroathe | (~wroathe@user/wroathe) |
2023-02-16 01:43:03 +0100 | larrythecow | (~oldfashio@2.120.101.114) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-02-16 01:43:03 +0100 | acidjnk | (~acidjnk@p200300d6e715c417a5824373cc2115b7.dip0.t-ipconnect.de) |
2023-02-16 01:44:02 +0100 | dcoutts_ | (~duncan@host86-167-90-212.range86-167.btcentralplus.com) (Ping timeout: 255 seconds) |
2023-02-16 01:45:31 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 246 seconds) |
2023-02-16 01:50:42 +0100 | bramhaag | (~bramhaag@134.195.121.39) |
2023-02-16 01:53:08 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
2023-02-16 01:55:51 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
2023-02-16 01:58:42 +0100 | <bramhaag> | Hi, I'm trying to write a parser for COBOL with megaparsec. For my purposes I don't care about the first 6 characters in every line (they are reserved for punchcard sequence numbers), so I want to skip them. I can of course do this for each of my parsers individually, but is there maybe a more elegant way? |
2023-02-16 01:59:16 +0100 | <segfaultfizzbuzz> | COBOL doesn't need to be shouted |
2023-02-16 01:59:49 +0100 | <hpc> | you can handle it in multiple passes |
2023-02-16 02:00:05 +0100 | <hpc> | one pass that strips the sequence numbers, another that parses the language |
2023-02-16 02:01:15 +0100 | <dibblego> | jackdk: persist values of a data type, preserving history and performance |
2023-02-16 02:06:20 +0100 | <bramhaag> | Good suggestion, thanks hpc! |
2023-02-16 02:07:38 +0100 | <hpc> | bramhaag: protip - the only difference between compilers, interpreters, and parsers is what they output and when they run |
2023-02-16 02:07:49 +0100 | <hpc> | so shamelessly draw from how they are designed when doing this sort of stuff :D |
2023-02-16 02:08:23 +0100 | ddellacosta | (~ddellacos@146.70.165.10) (Quit: WeeChat 3.8) |
2023-02-16 02:09:36 +0100 | ddellacosta | (~ddellacos@146.70.165.10) |
2023-02-16 02:10:54 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2023-02-16 02:11:28 +0100 | <segfaultfizzbuzz> | how do the pros do error messages... tbh they sound like the hardest part of a language |
2023-02-16 02:13:04 +0100 | <hpc> | i don't know about getting up to ghc/rustc level of error messages, so i always just make sure it's phrased as where the computer got surprised, not where the mistake was |
2023-02-16 02:14:01 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-02-16 02:14:31 +0100 | <segfaultfizzbuzz> | it's like you need to accumulate all of the errors somehow and then summarize them sensibly, i don't understand what that structure looks like |
2023-02-16 02:14:55 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-177-034.46.114.pool.telefonica.de) (Ping timeout: 246 seconds) |
2023-02-16 02:17:02 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2023-02-16 02:22:37 +0100 | mncheck | (~mncheck@193.224.205.254) (Ping timeout: 246 seconds) |
2023-02-16 02:22:41 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2023-02-16 02:24:03 +0100 | acidjnk | (~acidjnk@p200300d6e715c417a5824373cc2115b7.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2023-02-16 02:24:22 +0100 | gpncarl | (~gpncarl@210.12.195.6) (Ping timeout: 246 seconds) |
2023-02-16 02:24:27 +0100 | gpncarl_ | (~gpncarl@210.12.195.6) |
2023-02-16 02:27:18 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 02:28:17 +0100 | johnjaye | (~pi@173.209.64.74) (Read error: Connection reset by peer) |
2023-02-16 02:31:22 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 246 seconds) |
2023-02-16 02:32:15 +0100 | kee | (~~kee@user/wizzwizz4) (Read error: Connection reset by peer) |
2023-02-16 02:32:44 +0100 | kee | (~~kee@user/wizzwizz4) |
2023-02-16 02:37:20 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-02-16 02:39:54 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-02-16 02:40:11 +0100 | jargon | (~jargon@184.101.95.90) (Remote host closed the connection) |
2023-02-16 02:42:12 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
2023-02-16 02:44:06 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-02-16 02:44:52 +0100 | xff0x | (~xff0x@2405:6580:b080:900:1159:8d59:b148:53e) (Ping timeout: 252 seconds) |
2023-02-16 02:45:29 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-02-16 02:48:26 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2023-02-16 02:49:36 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 02:54:28 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 246 seconds) |
2023-02-16 02:55:52 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 246 seconds) |
2023-02-16 02:58:58 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 03:01:37 +0100 | notzmv | (~zmv@user/notzmv) |
2023-02-16 03:03:13 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 246 seconds) |
2023-02-16 03:08:54 +0100 | sidy | (~sidy@user/sidy) |
2023-02-16 03:16:12 +0100 | <lyxia> | make a list of errors, and print it? |
2023-02-16 03:16:36 +0100 | finnekit | (~finnekit@fsf/member/finnekit) |
2023-02-16 03:17:16 +0100 | <segfaultfizzbuzz> | wait does ghc just spit out the error immediately? |
2023-02-16 03:23:38 +0100 | gpncarl | (~gpncarl@210.12.195.6) |
2023-02-16 03:25:01 +0100 | gpncarl_ | (~gpncarl@210.12.195.6) (Ping timeout: 252 seconds) |
2023-02-16 03:28:02 +0100 | sayola | (~sayola@ipservice-092-213-087-211.092.213.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
2023-02-16 03:30:09 +0100 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2023-02-16 03:37:59 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds) |
2023-02-16 03:39:27 +0100 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 248 seconds) |
2023-02-16 03:41:31 +0100 | werneta | (~werneta@70.142.214.115) |
2023-02-16 03:43:11 +0100 | mei | (~mei@user/mei) (Remote host closed the connection) |
2023-02-16 03:47:15 +0100 | razetime | (~Thunderbi@117.193.6.245) |
2023-02-16 03:49:56 +0100 | falafel | (~falafel@2607:fb91:143f:e47f:90f2:454a:343e:a7f7) |
2023-02-16 03:51:21 +0100 | mei | (~mei@user/mei) |
2023-02-16 03:53:12 +0100 | sidy | (~sidy@user/sidy) (Ping timeout: 255 seconds) |
2023-02-16 03:57:07 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds) |
2023-02-16 04:00:13 +0100 | perrierjouet | (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.8) |
2023-02-16 04:03:18 +0100 | bilegeek | (~bilegeek@2600:1008:b0a9:5fa5:52dd:62c7:8c13:f894) |
2023-02-16 04:04:12 +0100 | sidy | (~sidy@user/sidy) |
2023-02-16 04:05:27 +0100 | sidy | (~sidy@user/sidy) (Read error: Connection reset by peer) |
2023-02-16 04:06:09 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2023-02-16 04:09:56 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
2023-02-16 04:13:26 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2023-02-16 04:19:42 +0100 | gpncarl | (~gpncarl@210.12.195.6) (Quit: WeeChat 3.8) |
2023-02-16 04:34:37 +0100 | brettgilio | (~brettgili@x-irc.gq) |
2023-02-16 04:35:51 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2023-02-16 04:38:01 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-02-16 04:39:24 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2023-02-16 04:42:55 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds) |
2023-02-16 04:48:39 +0100 | thegeekinside | (~thegeekin@189.180.97.223) (Ping timeout: 255 seconds) |
2023-02-16 04:49:11 +0100 | anatta | (~AdiIRC@h-155-4-132-216.NA.cust.bahnhof.se) (Remote host closed the connection) |
2023-02-16 04:52:25 +0100 | td_ | (~td@i53870935.versanet.de) (Ping timeout: 246 seconds) |
2023-02-16 04:54:34 +0100 | td_ | (~td@i5387092D.versanet.de) |
2023-02-16 04:57:25 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-02-16 04:57:25 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-02-16 04:57:25 +0100 | finn_elija | FinnElija |
2023-02-16 05:01:50 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2023-02-16 05:04:14 +0100 | perrierjouet | (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) |
2023-02-16 05:12:58 +0100 | razetime | (~Thunderbi@117.193.6.245) (Ping timeout: 268 seconds) |
2023-02-16 05:22:24 +0100 | cheater_ | (~Username@user/cheater) |
2023-02-16 05:25:06 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 255 seconds) |
2023-02-16 05:25:09 +0100 | cheater_ | cheater |
2023-02-16 05:37:38 +0100 | Typedfern | (~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) (Ping timeout: 268 seconds) |
2023-02-16 05:38:16 +0100 | Typedfern | (~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) |
2023-02-16 05:41:35 +0100 | typedfern_ | (~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) |
2023-02-16 05:44:40 +0100 | johnw | (~johnw@2600:1700:cf00:db0:c50c:6975:4579:9276) (Quit: ZNC - http://znc.in) |
2023-02-16 05:44:40 +0100 | jwiegley | (~jwiegley@2600:1700:cf00:db0:c50c:6975:4579:9276) (Quit: ZNC - http://znc.in) |
2023-02-16 05:47:25 +0100 | falafel | (~falafel@2607:fb91:143f:e47f:90f2:454a:343e:a7f7) (Ping timeout: 260 seconds) |
2023-02-16 05:52:00 +0100 | ddellacosta | (~ddellacos@146.70.165.10) (Quit: WeeChat 3.8) |
2023-02-16 05:52:08 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2023-02-16 05:53:31 +0100 | Vajb | (~Vajb@2001:999:404:9516:d621:6cbe:c71e:5686) (Read error: Connection reset by peer) |
2023-02-16 05:53:52 +0100 | freeside | (~mengwong@202.161.55.11) |
2023-02-16 05:54:34 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) |
2023-02-16 05:55:55 +0100 | ddellacosta | (~ddellacos@146.70.165.157) |
2023-02-16 05:57:54 +0100 | hounded | (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com) (Remote host closed the connection) |
2023-02-16 05:57:54 +0100 | hounded_woodstoc | (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com) (Remote host closed the connection) |
2023-02-16 06:03:48 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 255 seconds) |
2023-02-16 06:09:11 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
2023-02-16 06:09:43 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Quit: segfaultfizzbuzz) |
2023-02-16 06:12:18 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-02-16 06:16:29 +0100 | Vajb | (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer) |
2023-02-16 06:17:31 +0100 | Vajb | (~Vajb@2001:999:404:9516:d621:6cbe:c71e:5686) |
2023-02-16 06:20:34 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2023-02-16 06:21:28 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-02-16 06:22:01 +0100 | bitmapper | (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-02-16 06:28:40 +0100 | razetime | (~Thunderbi@117.193.6.245) |
2023-02-16 06:43:59 +0100 | falafel | (~falafel@2607:fb91:143f:e47f:622:c482:28d:da7) |
2023-02-16 06:45:56 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2023-02-16 06:55:55 +0100 | bilegeek_ | (~bilegeek@65.sub-174-228-65.myvzw.com) |
2023-02-16 06:58:35 +0100 | bilegeek | (~bilegeek@2600:1008:b0a9:5fa5:52dd:62c7:8c13:f894) (Ping timeout: 255 seconds) |
2023-02-16 07:02:55 +0100 | elevenkb | (~elevenkb@105.225.107.107) |
2023-02-16 07:03:32 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2023-02-16 07:04:06 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 255 seconds) |
2023-02-16 07:04:35 +0100 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2023-02-16 07:07:11 +0100 | mbuf | (~Shakthi@49.204.119.151) |
2023-02-16 07:07:25 +0100 | kenran | (~user@user/kenran) |
2023-02-16 07:08:16 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:7d:f047:35eb:a33f) (Remote host closed the connection) |
2023-02-16 07:08:55 +0100 | elevenkb | (~elevenkb@105.225.107.107) (Ping timeout: 246 seconds) |
2023-02-16 07:09:44 +0100 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2023-02-16 07:13:06 +0100 | motherfsck | (~motherfsc@user/motherfsck) (Ping timeout: 255 seconds) |
2023-02-16 07:13:14 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:7d:f047:35eb:a33f) |
2023-02-16 07:19:42 +0100 | Lycurgus | (~juan@user/Lycurgus) |
2023-02-16 07:27:12 +0100 | johnw | (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
2023-02-16 07:27:43 +0100 | jwiegley | (~jwiegley@2600:1700:cf00:db0:b8eb:e4c3:8b35:7cbb) |
2023-02-16 07:29:25 +0100 | Lycurgus | (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
2023-02-16 07:29:26 +0100 | Square | (~Square4@user/square) |
2023-02-16 07:32:22 +0100 | kee | (~~kee@user/wizzwizz4) (Read error: Connection reset by peer) |
2023-02-16 07:32:48 +0100 | k33 | (~~kee@user/wizzwizz4) |
2023-02-16 07:38:11 +0100 | pwntips | (~user@24-113-98-114.wavecable.com) |
2023-02-16 07:40:52 +0100 | bilegeek_ | (~bilegeek@65.sub-174-228-65.myvzw.com) (Quit: Leaving) |
2023-02-16 07:45:55 +0100 | shapr | (~user@net-5-88-239-92.cust.vodafonedsl.it) |
2023-02-16 07:47:35 +0100 | trev | (~trev@user/trev) |
2023-02-16 07:48:32 +0100 | opticblast | (~Thunderbi@172.58.85.230) (Ping timeout: 255 seconds) |
2023-02-16 07:51:13 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-02-16 07:54:54 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:af0b:4d4f:7a12:c449) |
2023-02-16 07:59:50 +0100 | falafel | (~falafel@2607:fb91:143f:e47f:622:c482:28d:da7) (Ping timeout: 260 seconds) |
2023-02-16 08:01:15 +0100 | michalz | (~michalz@185.246.204.125) |
2023-02-16 08:14:18 +0100 | czy | (~user@host-140-27.ilcub310.champaign.il.us.clients.pavlovmedia.net) (Ping timeout: 255 seconds) |
2023-02-16 08:15:11 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2023-02-16 08:16:01 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-02-16 08:17:52 +0100 | ft | (~ft@p3e9bc443.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2023-02-16 08:26:00 +0100 | pwntips | (~user@24-113-98-114.wavecable.com) () |
2023-02-16 08:26:07 +0100 | mncheck | (~mncheck@193.224.205.254) |
2023-02-16 08:35:34 +0100 | pwntips | (~user@24-113-98-114.wavecable.com) |
2023-02-16 08:39:25 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-02-16 08:40:19 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2023-02-16 08:42:08 +0100 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-02-16 08:42:33 +0100 | king_gs | (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) |
2023-02-16 08:44:28 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds) |
2023-02-16 08:45:52 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
2023-02-16 08:47:23 +0100 | thongpv | (~thongpv87@14.172.80.77) |
2023-02-16 08:54:30 +0100 | kaskal | (~kaskal@089144220250.atnat0029.highway.webapn.at) (Remote host closed the connection) |
2023-02-16 08:59:23 +0100 | kaskal | (~kaskal@089144220250.atnat0029.highway.webapn.at) |
2023-02-16 09:01:58 +0100 | razetime | (~Thunderbi@117.193.6.245) (Ping timeout: 246 seconds) |
2023-02-16 09:04:41 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
2023-02-16 09:07:38 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-02-16 09:07:56 +0100 | akegalj | (~akegalj@93-139-168-105.adsl.net.t-com.hr) |
2023-02-16 09:12:55 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-02-16 09:13:22 +0100 | CiaoSen | (~Jura@p200300c9570460002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2023-02-16 09:13:39 +0100 | phma | (phma@2001:5b0:210d:bd78:7d2a:52e1:c274:2d5) (Read error: Connection reset by peer) |
2023-02-16 09:14:16 +0100 | phma | (~phma@host-67-44-208-11.hnremote.net) |
2023-02-16 09:14:52 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:7d:f047:35eb:a33f) (Remote host closed the connection) |
2023-02-16 09:23:58 +0100 | razetime | (~Thunderbi@117.193.6.245) |
2023-02-16 09:26:20 +0100 | mechap | (~mechap@user/mechap) (Quit: WeeChat 3.8) |
2023-02-16 09:26:42 +0100 | thongpv | (~thongpv87@14.172.80.77) (Remote host closed the connection) |
2023-02-16 09:27:06 +0100 | thongpv | (~thongpv87@14.172.80.77) |
2023-02-16 09:28:28 +0100 | gpncarl | (~gpncarl@210.12.195.6) |
2023-02-16 09:29:40 +0100 | zaquest | (~notzaques@5.130.79.72) |
2023-02-16 09:37:25 +0100 | turlando_ | turlando |
2023-02-16 09:48:00 +0100 | YoungFrog | (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in) |
2023-02-16 09:50:05 +0100 | kuribas | (~user@ptr-17d51eo29egdbr5f18m.18120a2.ip6.access.telenet.be) |
2023-02-16 09:52:29 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-02-16 09:55:33 +0100 | thongpv | (~thongpv87@14.172.80.77) (Ping timeout: 255 seconds) |
2023-02-16 09:57:40 +0100 | thongpv | (~thongpv87@2402:9d80:36e:115e:bd33:9174:2078:fce6) |
2023-02-16 09:58:20 +0100 | Alex_test | (~al_test@178.34.160.79) (Quit: ;-) |
2023-02-16 09:58:53 +0100 | merijn | (~merijn@195.114.232.94) |
2023-02-16 09:58:53 +0100 | AlexZenon | (~alzenon@178.34.160.79) (Quit: ;-) |
2023-02-16 09:59:19 +0100 | AlexNoo | (~AlexNoo@178.34.160.79) (Quit: Leaving) |
2023-02-16 10:00:27 +0100 | YoungFrog | (~youngfrog@2a02:a03f:ca07:f900:98c4:f5a3:bfa9:f8ce) |
2023-02-16 10:01:32 +0100 | shapr | (~user@net-5-88-239-92.cust.vodafonedsl.it) (Read error: Connection reset by peer) |
2023-02-16 10:03:00 +0100 | chele | (~chele@user/chele) |
2023-02-16 10:07:09 +0100 | hal[m] | (~halfosswt@2001:470:69fc:105::2:e0ae) |
2023-02-16 10:07:20 +0100 | instagib[m] | (~instagibm@2001:470:69fc:105::8156) |
2023-02-16 10:15:23 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:7d:f047:35eb:a33f) |
2023-02-16 10:19:41 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:7d:f047:35eb:a33f) (Ping timeout: 252 seconds) |
2023-02-16 10:20:29 +0100 | AlexZenon | (~alzenon@178.34.160.79) |
2023-02-16 10:20:30 +0100 | AlexNoo | (~AlexNoo@178.34.160.79) |
2023-02-16 10:22:35 +0100 | Alex_test | (~al_test@178.34.160.79) |
2023-02-16 10:25:46 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-177-034.46.114.pool.telefonica.de) |
2023-02-16 10:27:59 +0100 | neightchan | (~nate@98.45.169.16) (Read error: Connection reset by peer) |
2023-02-16 10:28:01 +0100 | hgolden | (~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Read error: Connection reset by peer) |
2023-02-16 10:28:10 +0100 | hgolden_ | (~hgolden@cpe-172-251-233-141.socal.res.rr.com) |
2023-02-16 10:28:14 +0100 | n8chan | (~nate@98.45.169.16) |
2023-02-16 10:28:31 +0100 | king_gs | (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) (Ping timeout: 252 seconds) |
2023-02-16 10:28:35 +0100 | johnw | (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in) |
2023-02-16 10:28:35 +0100 | jwiegley | (~jwiegley@2600:1700:cf00:db0:b8eb:e4c3:8b35:7cbb) (Quit: ZNC - http://znc.in) |
2023-02-16 10:28:38 +0100 | king_gs1 | (~Thunderbi@187.201.41.239) |
2023-02-16 10:29:08 +0100 | johnw | (~johnw@2600:1700:cf00:db0:b8eb:e4c3:8b35:7cbb) |
2023-02-16 10:29:39 +0100 | jwiegley | (~jwiegley@2600:1700:cf00:db0:b8eb:e4c3:8b35:7cbb) |
2023-02-16 10:30:33 +0100 | inversed | (~inversed@bcdcac82.skybroadband.com) (Ping timeout: 268 seconds) |
2023-02-16 10:30:55 +0100 | king_gs1 | king_gs |
2023-02-16 10:31:13 +0100 | zeenk | (~zeenk@2a02:2f04:a214:1e00::7fe) |
2023-02-16 10:31:17 +0100 | inversed | (~inversed@bcdcac82.skybroadband.com) |
2023-02-16 10:31:20 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
2023-02-16 10:32:33 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2023-02-16 10:34:59 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-02-16 10:38:46 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Remote host closed the connection) |
2023-02-16 10:39:47 +0100 | gehmehgeh | (~user@user/gehmehgeh) |
2023-02-16 10:40:54 +0100 | mechap | (~mechap@user/mechap) |
2023-02-16 10:47:40 +0100 | king_gs | (~Thunderbi@187.201.41.239) (Read error: Connection reset by peer) |
2023-02-16 10:47:43 +0100 | king_gs1 | (~Thunderbi@187.201.41.239) |
2023-02-16 10:50:01 +0100 | king_gs1 | king_gs |
2023-02-16 10:54:53 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2023-02-16 10:55:25 +0100 | MajorBiscuit | (~MajorBisc@145.94.142.245) |
2023-02-16 10:59:30 +0100 | ubert | (~Thunderbi@2a02:8109:abc0:6434:19e1:c8e:26ce:e0da) |
2023-02-16 11:01:16 +0100 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
2023-02-16 11:02:18 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2023-02-16 11:03:16 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-02-16 11:09:30 +0100 | JimL | (~quassel@89-162-26-217.fiber.signal.no) |
2023-02-16 11:10:42 +0100 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds) |
2023-02-16 11:11:53 +0100 | king_gs | (~Thunderbi@187.201.41.239) (Read error: Connection reset by peer) |
2023-02-16 11:13:02 +0100 | king_gs | (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) |
2023-02-16 11:15:41 +0100 | sefidel | (~sefidel@user/sefidel) (Remote host closed the connection) |
2023-02-16 11:15:58 +0100 | sefidel | (~sefidel@user/sefidel) |
2023-02-16 11:16:30 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:4572:3f0d:6913:5f92) |
2023-02-16 11:20:56 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:4572:3f0d:6913:5f92) (Ping timeout: 255 seconds) |
2023-02-16 11:24:40 +0100 | <JensPetersen[m]> | Does anyone have a 32bit patch for basement to build on ghc-9.2? |
2023-02-16 11:25:54 +0100 | Ram-Z | (Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df) (Ping timeout: 255 seconds) |
2023-02-16 11:27:13 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:af0b:4d4f:7a12:c449) (Quit: WeeChat 2.8) |
2023-02-16 11:27:35 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-02-16 11:27:39 +0100 | <merijn> | I doubt it? :p |
2023-02-16 11:33:35 +0100 | shriekingnoise | (~shrieking@186.137.175.87) (Ping timeout: 256 seconds) |
2023-02-16 11:34:33 +0100 | Ram-Z | (Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df) |
2023-02-16 11:35:37 +0100 | king_gs | (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) (Quit: king_gs) |
2023-02-16 11:35:53 +0100 | king_gs | (~Thunderbi@187.201.41.239) |
2023-02-16 11:39:25 +0100 | <albet70> | f (z f (g x)) ==? |
2023-02-16 11:39:50 +0100 | <albet70> | z . g but f wrapped them |
2023-02-16 11:40:42 +0100 | <int-e> | @pl \f z g x -> f (z f (g x)) |
2023-02-16 11:40:43 +0100 | <lambdabot> | ap ((.) . (.) . (.)) (((.) .) . flip id) |
2023-02-16 11:41:04 +0100 | <int-e> | this is about as helpfule as I expected it to be |
2023-02-16 11:41:07 +0100 | <int-e> | -e |
2023-02-16 11:41:16 +0100 | <opqdonut> | albet70: did you mean f (z (f (g x))) ? |
2023-02-16 11:41:30 +0100 | <opqdonut> | since that's just f.z.f.g |
2023-02-16 11:42:11 +0100 | <mauke> | @pl \f -> f . z . f . g |
2023-02-16 11:42:11 +0100 | <lambdabot> | ap (.) ((z .) . (. g)) |
2023-02-16 11:42:15 +0100 | <int-e> | what happened to the x ;-) |
2023-02-16 11:42:49 +0100 | <opqdonut> | if that's a common pattern for you you could do something like `withf = (f.)` and then use `withf z . withf g` |
2023-02-16 11:45:36 +0100 | <albet70> | fmap f (z .g)? |
2023-02-16 11:46:27 +0100 | <opqdonut> | that's just f.z.g |
2023-02-16 11:46:28 +0100 | CiaoSen | (~Jura@p200300c9570460002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2023-02-16 11:46:42 +0100 | freeside | (~mengwong@202.161.55.11) (Ping timeout: 255 seconds) |
2023-02-16 11:48:24 +0100 | __monty__ | (~toonn@user/toonn) |
2023-02-16 11:49:19 +0100 | razetime | (~Thunderbi@117.193.6.245) (Remote host closed the connection) |
2023-02-16 11:59:04 +0100 | gpncarl | (~gpncarl@210.12.195.6) (Ping timeout: 246 seconds) |
2023-02-16 12:15:59 +0100 | mmhat | (~mmh@p200300f1c70e928aee086bfffe095315.dip0.t-ipconnect.de) |
2023-02-16 12:17:10 +0100 | xff0x | (~xff0x@2405:6580:b080:900:9a0c:738d:f5ce:fcbe) |
2023-02-16 12:17:36 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2023-02-16 12:18:05 +0100 | mbuf | (~Shakthi@49.204.119.151) (Ping timeout: 255 seconds) |
2023-02-16 12:18:22 +0100 | <tomsmeding> | int-e: that ((.) . (.) . (.)) is just beautiful though |
2023-02-16 12:18:34 +0100 | <tomsmeding> | the entire expression is great |
2023-02-16 12:19:52 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 12:20:12 +0100 | king_gs | (~Thunderbi@187.201.41.239) (Read error: Connection reset by peer) |
2023-02-16 12:20:54 +0100 | king_gs | (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) |
2023-02-16 12:26:41 +0100 | mbuf | (~Shakthi@49.205.81.42) |
2023-02-16 12:27:13 +0100 | gpncarl | (~gpncarl@210.12.195.6) |
2023-02-16 12:41:16 +0100 | <albet70> | what if there are more? f (a (f b (z f (g x)) |
2023-02-16 12:43:08 +0100 | michalz | (~michalz@185.246.204.125) (Ping timeout: 268 seconds) |
2023-02-16 12:45:16 +0100 | michalz | (~michalz@185.246.207.203) |
2023-02-16 12:46:30 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2023-02-16 12:53:27 +0100 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-02-16 12:54:32 +0100 | <tomsmeding> | albet70: did you mean this? f (a (f (b (z (f (g x)))))) |
2023-02-16 12:54:39 +0100 | <tomsmeding> | not the same thing |
2023-02-16 12:55:37 +0100 | <tomsmeding> | if you do, and all of f,a,b,z,g are of type A -> A for some A, then foldr (.) id (map (f .) [a, b, z, g]) |
2023-02-16 12:57:01 +0100 | <tomsmeding> | or: foldr ($) x (map (f .) [a, b, z, g]) |
2023-02-16 13:00:30 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 255 seconds) |
2023-02-16 13:00:47 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 13:02:00 +0100 | <albet70> | no, I mean f apply on every function when it's applied |
2023-02-16 13:02:37 +0100 | <albet70> | f(g x); f (z( f (g x)); |
2023-02-16 13:03:05 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-02-16 13:03:29 +0100 | <albet70> | f (b( f( z(f (g x))))) |
2023-02-16 13:03:59 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
2023-02-16 13:21:39 +0100 | <tomsmeding> | albet70: is that not literally what I wrote |
2023-02-16 13:25:59 +0100 | cassaundra | (~cassaundr@user/cassaundra) (Ping timeout: 264 seconds) |
2023-02-16 13:32:55 +0100 | urdh | (~urdh@user/urdh) (Ping timeout: 252 seconds) |
2023-02-16 13:35:08 +0100 | <albet70> | f (a (f (b (z (f (g x)))))) between b and z you miss one f |
2023-02-16 13:40:36 +0100 | malte | (~malte@152.89.107.66) (Remote host closed the connection) |
2023-02-16 13:42:07 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
2023-02-16 13:42:08 +0100 | urdh | (~urdh@user/urdh) |
2023-02-16 13:42:40 +0100 | king_gs | (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) (Ping timeout: 246 seconds) |
2023-02-16 13:43:33 +0100 | king_gs | (~Thunderbi@187.201.41.239) |
2023-02-16 13:45:53 +0100 | <tomsmeding> | albet70: oh right |
2023-02-16 13:46:07 +0100 | <tomsmeding> | but you missed it too ;) |
2023-02-16 13:46:20 +0100 | <tomsmeding> | but the foldr expressions have the f in between as well |
2023-02-16 13:48:06 +0100 | king_gs | (~Thunderbi@187.201.41.239) (Ping timeout: 255 seconds) |
2023-02-16 13:52:40 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-02-16 14:02:36 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-177-034.46.114.pool.telefonica.de) (Ping timeout: 255 seconds) |
2023-02-16 14:03:36 +0100 | king_gs | (~Thunderbi@187.201.41.239) |
2023-02-16 14:04:24 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 255 seconds) |
2023-02-16 14:06:39 +0100 | MajorBiscuit | (~MajorBisc@145.94.142.245) (Ping timeout: 255 seconds) |
2023-02-16 14:08:58 +0100 | <Inst> | this is sad, could i beg for some help getting monomer to install on Windows / 9.4.4? |
2023-02-16 14:09:03 +0100 | <Inst> | monomer is being updated |
2023-02-16 14:10:52 +0100 | <Inst> | nanovg is C + python, but I still can't figure out how to get it to install via my current version of cabal |
2023-02-16 14:15:49 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-16 14:16:05 +0100 | Alex_test | (~al_test@178.34.160.79) (Read error: Connection reset by peer) |
2023-02-16 14:16:05 +0100 | AlexNoo | (~AlexNoo@178.34.160.79) (Remote host closed the connection) |
2023-02-16 14:16:07 +0100 | AlexZenon | (~alzenon@178.34.160.79) (Quit: ;-) |
2023-02-16 14:16:56 +0100 | <Inst> | installing freetype2 first now |
2023-02-16 14:17:40 +0100 | mmhat | (~mmh@p200300f1c70e928aee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8) |
2023-02-16 14:17:52 +0100 | <segfaultfizzbuzz> | is there such a thing as "approximately" being of some type? that is, is there any fairly well accepted method for reasoning about approximately having a certain type? |
2023-02-16 14:18:09 +0100 | MajorBiscuit | (~MajorBisc@145.94.142.245) |
2023-02-16 14:19:15 +0100 | Cale | (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) (Ping timeout: 255 seconds) |
2023-02-16 14:22:16 +0100 | Cale | (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) |
2023-02-16 14:22:24 +0100 | akegalj | (~akegalj@93-139-168-105.adsl.net.t-com.hr) (Quit: leaving) |
2023-02-16 14:23:12 +0100 | <geekosaur> | depends on what you mean by approximately. "isomorphic to" is certainly a thing |
2023-02-16 14:23:12 +0100 | king_gs | (~Thunderbi@187.201.41.239) (Read error: Connection reset by peer) |
2023-02-16 14:24:44 +0100 | king_gs | (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) |
2023-02-16 14:24:46 +0100 | <segfaultfizzbuzz> | well i was reflecting on how "binary" a lot of programming is |
2023-02-16 14:25:18 +0100 | <segfaultfizzbuzz> | so something either is a tree or it is not, but perhaps something can "approximately" be a tree |
2023-02-16 14:25:33 +0100 | <segfaultfizzbuzz> | and a related concept might be that you can project something which is not a tree onto a tree |
2023-02-16 14:25:41 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 14:25:41 +0100 | lyle | (~lyle@104.246.145.237) |
2023-02-16 14:27:59 +0100 | <merijn> | segfaultfizzbuzz: sounds like you want fuzzy logic |
2023-02-16 14:28:28 +0100 | AlexZenon | (~alzenon@178.34.160.79) |
2023-02-16 14:28:36 +0100 | AlexNoo | (~AlexNoo@178.34.160.79) |
2023-02-16 14:28:48 +0100 | <geekosaur> | isomorphism may cover that. if two types can represent the same values, they are isomorphic. the exact representation may differ (you may have () vs. Bool, for example, depending on what they're contained in) |
2023-02-16 14:28:49 +0100 | <segfaultfizzbuzz> | well that doesn't integrate with the type system, i dont think? |
2023-02-16 14:29:10 +0100 | <geekosaur> | fuzzy logic may be another approach, again depending on what you're looking for |
2023-02-16 14:29:24 +0100 | <geekosaur> | not with Haskell's, but Haskell's is not the only type system in existence |
2023-02-16 14:30:02 +0100 | <segfaultfizzbuzz> | put another way, is there a differentiable type system? |
2023-02-16 14:30:23 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 255 seconds) |
2023-02-16 14:31:15 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2023-02-16 14:31:15 +0100 | <geekosaur> | I am not well enough versed in type theory to answer that, sorry |
2023-02-16 14:32:14 +0100 | <segfaultfizzbuzz> | another question this raises is: if i am checking that X has type T, then X must have some kind of structure prior to being checked against T |
2023-02-16 14:32:36 +0100 | <segfaultfizzbuzz> | let's call that structure S (before X is known to be T), what is S? |
2023-02-16 14:32:42 +0100 | <segfaultfizzbuzz> | is S a graph? |
2023-02-16 14:33:01 +0100 | CiaoSen | (~Jura@p200300c9570460002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
2023-02-16 14:33:43 +0100 | Alex_test | (~al_test@178.34.160.79) |
2023-02-16 14:34:25 +0100 | <geekosaur> | depends on the type system. In Haskell, the structure determines the type; this is why we have and require constructors for most types, because constructors define the structure. (Under the hood, even numbers and characters have constructors.) |
2023-02-16 14:35:00 +0100 | <geekosaur> | but it's not really a graph in the case of Haskell because the outer constructor is what determines the type |
2023-02-16 14:35:07 +0100 | <geekosaur> | s/outer/&most/ |
2023-02-16 14:35:27 +0100 | MajorBiscuit | (~MajorBisc@145.94.142.245) (Ping timeout: 255 seconds) |
2023-02-16 14:36:05 +0100 | <segfaultfizzbuzz> | so it's something like all constructors constitute valid types by definition so you don't need to check anything? |
2023-02-16 14:36:08 +0100 | MajorBiscuit | (~MajorBisc@145.94.142.245) |
2023-02-16 14:36:18 +0100 | <segfaultfizzbuzz> | err perhaps i should say "by construction" |
2023-02-16 14:37:36 +0100 | cfricke | (~cfricke@user/cfricke) |
2023-02-16 14:38:21 +0100 | <geekosaur> | every data constructor is associated with a type via `data` or `newtype`, so yes, by construction every literal value has a well defined type |
2023-02-16 14:39:02 +0100 | <geekosaur> | this does have some teeth hidden in it, though: a literal number is special-cased by the compiler to be `fromInteger (integer_representation_of_value)` |
2023-02-16 14:39:17 +0100 | <geekosaur> | (and similar for strings if OverloadedStrings is enabled) |
2023-02-16 14:39:35 +0100 | <geekosaur> | this goes through a typeclass, so a literal number (resp. string) is actually a function |
2023-02-16 14:40:09 +0100 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
2023-02-16 14:41:58 +0100 | kmein | (~weechat@user/kmein) |
2023-02-16 14:42:16 +0100 | <segfaultfizzbuzz> | hm ok |
2023-02-16 14:42:53 +0100 | <geekosaur> | on the other hand, a literal Char is mapped by the compiler to the C# internal constructor applied to a primitive type (Word32#, here representing a Unicode codepoint) |
2023-02-16 14:45:08 +0100 | <geekosaur> | primitive types work a little differently, but are simpler because you can't be polymorphic over them (polymorphism typically requires you to be manipulating pointers to values which will be the same size, not values themselves which may differ). so their types can be determined by the constructors used on them |
2023-02-16 14:46:18 +0100 | <geekosaur> | (`C#` is only special because it's supplied by the compiler; it is possible but not particularly recommended for user code to work with primitive types directly, following the same rules as the compiler-supplied constructors so the compiler knows what primitive types are involved) |
2023-02-16 14:46:50 +0100 | <geekosaur> | @src Int |
2023-02-16 14:46:50 +0100 | <lambdabot> | data Int = I# Int# |
2023-02-16 14:46:55 +0100 | <geekosaur> | @src Integer |
2023-02-16 14:46:55 +0100 | <lambdabot> | data Integer = S# Int# |
2023-02-16 14:46:55 +0100 | <lambdabot> | | J# Int# ByteArray# |
2023-02-16 14:47:03 +0100 | <geekosaur> | @src Double |
2023-02-16 14:47:03 +0100 | <lambdabot> | data Double = D# Double# |
2023-02-16 14:47:41 +0100 | <geekosaur> | iirc the Integer one is out of date and there are separate constructors for positive and negative bigints these days |
2023-02-16 14:50:00 +0100 | Xeroine_ | (~Xeroine@user/xeroine) (Read error: Connection reset by peer) |
2023-02-16 14:50:10 +0100 | <albet70> | tomsmeding , what if that f is >>=, so that >>= chain could be foldr ...? |
2023-02-16 14:51:14 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:d08:65bc:8e79:dbb5) |
2023-02-16 14:51:55 +0100 | oldfashionedcow | (~Rahul_San@user/oldfashionedcow) (Quit: WeeChat 3.8) |
2023-02-16 14:52:35 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
2023-02-16 14:55:18 +0100 | k33 | kee |
2023-02-16 14:59:25 +0100 | Cale | (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) (Ping timeout: 268 seconds) |
2023-02-16 15:00:49 +0100 | kmein | (~weechat@user/kmein) (Quit: ciao kakao) |
2023-02-16 15:02:16 +0100 | Cale | (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) |
2023-02-16 15:02:56 +0100 | kmein | (~weechat@user/kmein) |
2023-02-16 15:03:07 +0100 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-02-16 15:03:17 +0100 | king_gs | (~Thunderbi@2806:103e:29:1779:19a5:ca6b:2f79:45e7) (Read error: Connection reset by peer) |
2023-02-16 15:03:30 +0100 | king_gs | (~Thunderbi@187.201.41.239) |
2023-02-16 15:03:56 +0100 | gensyst | (gensyst@user/gensyst) |
2023-02-16 15:04:24 +0100 | <gensyst> | foo :: IO a, how can I access a at the type level (i believe i found a case where i need to access a at the type level) |
2023-02-16 15:04:44 +0100 | <gensyst> | i'm sure i could come up with something using unsafePerformIO myself, but any standard way to do it? |
2023-02-16 15:05:06 +0100 | <Hecate> | gensyst: "access" meaning…? |
2023-02-16 15:06:31 +0100 | <gensyst> | Hecate, GADT stuff, check this out (merijin's example from yesterday): https://dpaste.com/HDH7H3L6D I presume (correct me if wrong) both those "case" are occurring at the type level. |
2023-02-16 15:07:03 +0100 | <gensyst> | So now I have a (different) situation where I have foo :: IO a but want to do case a of ... |
2023-02-16 15:07:19 +0100 | <gensyst> | i might be wholly wrong |
2023-02-16 15:07:29 +0100 | <Hecate> | let me load that in the playground |
2023-02-16 15:08:00 +0100 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 248 seconds) |
2023-02-16 15:08:12 +0100 | <int-e> | hmm, type family ArgOf a; type instance ArgOf (f a) = a |
2023-02-16 15:08:34 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 15:09:28 +0100 | waleee | (~waleee@176.10.137.138) |
2023-02-16 15:10:43 +0100 | <int-e> | I think the cases don't happen at the type level unless the function gets specialized to State A or State B. Though there's enough propagation of type information that the compiler will know that the inner matches are complete. |
2023-02-16 15:11:38 +0100 | <int-e> | And even then there *still* will be a pattern match do deconstruct the respective data constructor, AState or BState. |
2023-02-16 15:12:12 +0100 | <int-e> | (respectively SettingsA and SettingsB) |
2023-02-16 15:12:32 +0100 | <Hecate> | https://play-haskell.tomsmeding.com/saved/vIq1JbGm |
2023-02-16 15:12:37 +0100 | <Hecate> | if people want to toy |
2023-02-16 15:12:58 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 246 seconds) |
2023-02-16 15:13:15 +0100 | <albet70> | (a >>= b) >>= c == foldl1 (>>=) [a, b, c] |
2023-02-16 15:15:30 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 15:15:38 +0100 | <int-e> | gensyst: I don't understand what you mean by "access" either, in the context of that code. It made sense to me when the type was "IO a". |
2023-02-16 15:15:56 +0100 | <gensyst> | one sec i'll try to come up with an example |
2023-02-16 15:16:03 +0100 | <int-e> | (And type families can extract the "a" from "IO a".) |
2023-02-16 15:17:38 +0100 | kuribas | (~user@ptr-17d51eo29egdbr5f18m.18120a2.ip6.access.telenet.be) (ERC (IRC client for Emacs 27.1)) |
2023-02-16 15:18:13 +0100 | king_gs | (~Thunderbi@187.201.41.239) (Ping timeout: 246 seconds) |
2023-02-16 15:19:33 +0100 | MajorBiscuit | (~MajorBisc@145.94.142.245) (Ping timeout: 255 seconds) |
2023-02-16 15:19:48 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-02-16 15:20:14 +0100 | jimmy2shoots | (~Jimmy_Bam@user/jimmy2shoots) |
2023-02-16 15:20:23 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 268 seconds) |
2023-02-16 15:22:57 +0100 | thegeekinside | (~thegeekin@189.180.97.223) |
2023-02-16 15:24:42 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
2023-02-16 15:28:26 +0100 | oldfashionedcow | (~Rahul_San@user/oldfashionedcow) |
2023-02-16 15:29:59 +0100 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
2023-02-16 15:32:07 +0100 | <gensyst> | int-e, this is what i mean: https://play-haskell.tomsmeding.com/saved/1xZrWXFG |
2023-02-16 15:32:20 +0100 | <gensyst> | it compiles, but fails at undefined (the extraction) |
2023-02-16 15:32:38 +0100 | <gensyst> | i was hoping the case is at compile-time, but it appears you're right. it evaluates the undefined at run-time |
2023-02-16 15:34:25 +0100 | <Hecate> | (I don't see an `undefined` in the playground you shared. Are you sure you saved?) |
2023-02-16 15:35:30 +0100 | ystael | (~ystael@user/ystael) |
2023-02-16 15:35:50 +0100 | <gensyst> | Here's the saved one, sorry: https://play-haskell.tomsmeding.com/saved/ukTfC3nd |
2023-02-16 15:37:02 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 268 seconds) |
2023-02-16 15:39:32 +0100 | <Hecate> | heavens |
2023-02-16 15:39:36 +0100 | <Hecate> | ok I see better what you mean |
2023-02-16 15:40:06 +0100 | <int-e> | yeah, it goes back to the idea that those pattern matches are compile time checks... they really are not |
2023-02-16 15:40:19 +0100 | <Hecate> | gensyst: it may sound like shifting the goalposts but are you sure that's how you want to handle your configuration? Would you mind telling us a bit more about your situation? |
2023-02-16 15:40:31 +0100 | razetime | (~Thunderbi@117.193.6.245) |
2023-02-16 15:41:39 +0100 | <gensyst> | Hecate, the original design goal was in the original link: https://dpaste.com/HDH7H3L6D -- to keep the two separate types Settings and State in sync at compile-time and the current problem arose out of that eventually. |
2023-02-16 15:41:45 +0100 | <merijn> | gensyst: Ah, yeah that example is exactly the kinda thing I said was hard to do :) |
2023-02-16 15:41:46 +0100 | <gensyst> | I'm starting to understand how type-safety starts infecting things :) |
2023-02-16 15:41:57 +0100 | <gensyst> | oh damn lol |
2023-02-16 15:42:21 +0100 | <int-e> | gensyst: GADTs are *data*, and your particular GADT has two constructors. Pattern matching is basically the same as for the usual ADTs, except that some cases may be proven impossible statically. |
2023-02-16 15:42:30 +0100 | <merijn> | gensyst: You can tackle that using an existential, but unless you can restrict the existential to the edges it becomes painful |
2023-02-16 15:43:03 +0100 | <tomsmeding> | gensyst: am I correct in saying that you want to get what amounts to a boolean here from the type level? (i.e. whether mode is A or B) |
2023-02-16 15:43:07 +0100 | <tomsmeding> | and use that on the term level |
2023-02-16 15:43:34 +0100 | <tomsmeding> | types are erased at runtime in Haskell, so to do this you need to have some value-level witness of that boolean |
2023-02-16 15:43:40 +0100 | <int-e> | The usual mechanism to "branch on types" is type classes, but the switch often still happens at runtime in the form of producing a suitable dictionary for the type class when the actual type is known. |
2023-02-16 15:43:47 +0100 | elbear | (~lucian@109.101.137.234) |
2023-02-16 15:43:59 +0100 | <tomsmeding> | and indeed, a typeclass dictionary is a runtime _value_ |
2023-02-16 15:44:09 +0100 | <Hecate> | (and aggressively specialising the functions that take the tc I imagine) |
2023-02-16 15:44:15 +0100 | MajorBiscuit | (~MajorBisc@145.94.142.245) |
2023-02-16 15:45:40 +0100 | <gensyst> | tomsmeding, so the issue here is I have no arguments dependent on mode and only a IO? |
2023-02-16 15:45:59 +0100 | <tomsmeding> | gensyst: no, the issue is that makeSettings does not have any inputs that witness whether mode is A or B |
2023-02-16 15:46:38 +0100 | <tomsmeding> | gensyst: https://play-haskell.tomsmeding.com/saved/VD03NhwL |
2023-02-16 15:46:39 +0100 | <merijn> | gensyst: basically, the branch of the case has to depend on the result type (instead of any function input) |
2023-02-16 15:46:51 +0100 | <merijn> | gensyst: but you can't branch on types |
2023-02-16 15:46:52 +0100 | <tomsmeding> | here I added an argument to makeSettings (the typeclass dictionary of KnownMode) that witnesses the choice |
2023-02-16 15:46:55 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2023-02-16 15:47:06 +0100 | <gensyst> | good grief lol |
2023-02-16 15:47:12 +0100 | <tomsmeding> | you can branch on types at compile time |
2023-02-16 15:47:14 +0100 | <tomsmeding> | not at runtime |
2023-02-16 15:47:28 +0100 | <gensyst> | what have a gotten myself into :S |
2023-02-16 15:47:36 +0100 | <gensyst> | i've been plunged into type-level programming |
2023-02-16 15:47:38 +0100 | <tomsmeding> | gensyst: possible cop-out: just pass in a Settings value filled with undefineds |
2023-02-16 15:47:41 +0100 | <tomsmeding> | and pattern-match on that |
2023-02-16 15:47:55 +0100 | <merijn> | gensyst: There is an easier solution, though |
2023-02-16 15:48:13 +0100 | <merijn> | gensyst: I'm assuming the problem is that "State m" is a small part of a larger datatype? |
2023-02-16 15:48:41 +0100 | <tomsmeding> | gensyst: https://play-haskell.tomsmeding.com/saved/F3BP50uW |
2023-02-16 15:48:45 +0100 | <gensyst> | gensyst, yeah |
2023-02-16 15:48:52 +0100 | <tomsmeding> | gensyst: mentioning yourself |
2023-02-16 15:49:25 +0100 | <gensyst> | tomsmeding, that's a much simpler solution |
2023-02-16 15:49:39 +0100 | <tomsmeding> | it's not as elegant maybe, but it does work :p |
2023-02-16 15:49:40 +0100 | <gensyst> | i'll do that for now |
2023-02-16 15:50:08 +0100 | <tomsmeding> | gensyst: slightly cleaned up version of that would be to define a second GADT, just like Settings, but without all the fields |
2023-02-16 15:50:14 +0100 | <tomsmeding> | and pass that in as a template |
2023-02-16 15:50:18 +0100 | <[Leary]> | gensyst: Or `data SMode :: Mode -> Type where { SA :: SMode A; SB :: SMode B }; makeSettings :: SMode mode -> IO (Settings mode)` |
2023-02-16 15:50:22 +0100 | <merijn> | gensyst: You could split it so that you have "data GenericSettings (m :: Mode) = GSettings { modeSettings :: Settings m, ...other fields here... }" and then write "makeSettings :: Settings m -> GenericSettings m" |
2023-02-16 15:50:29 +0100 | <tomsmeding> | i.e. [Leary]'s SMode |
2023-02-16 15:52:11 +0100 | <Inst> | kill me |
2023-02-16 15:52:18 +0100 | <Inst> | i can't get nanovg-hs to install |
2023-02-16 15:52:20 +0100 | <Inst> | on Windows |
2023-02-16 15:52:45 +0100 | <tomsmeding> | gensyst: one perspective on this is that it's _not_ type-level programming; it's normal value-level programming. The only things that the types are doing is informing GHC of some assumptions that don't follow directly from the values themselves, so that GHC can tell you something about the coherence/consistency of your code |
2023-02-16 15:53:37 +0100 | <tomsmeding> | even my knownMode thing really only was a boolean: Left () or Right (). No other data. The only thing that the type-level stuff did was let GHC know that pattern matching on this knownMode thing tells you something about what the result type of makeSettings should be |
2023-02-16 15:53:45 +0100 | <tomsmeding> | Inst: what's the error |
2023-02-16 15:53:49 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 15:53:58 +0100 | <Inst> | thanks for being helpful, tomsmeding |
2023-02-16 15:54:52 +0100 | tomsmeding | rarely uses windows so is not sure if I can be helpful |
2023-02-16 15:55:23 +0100 | <Inst> | https://cdn.discordapp.com/attachments/505370075402862594/1075766776085876777/image.png |
2023-02-16 15:55:43 +0100 | <tomsmeding> | oh pkg-config |
2023-02-16 15:55:44 +0100 | <Inst> | probably this is an issue with freetype / std_truetype not being visible in mingw? |
2023-02-16 15:55:53 +0100 | <tomsmeding> | does mingw have pkg-config in the first place |
2023-02-16 15:56:16 +0100 | <tomsmeding> | does typing 'pkg-config' in your prompt give anything |
2023-02-16 15:56:22 +0100 | <Inst> | well, i have an etc, a home, a wingw64 |
2023-02-16 15:56:30 +0100 | <tomsmeding> | pkg-config is a program |
2023-02-16 15:56:48 +0100 | <Inst> | please specify at least one package in the command line |
2023-02-16 15:56:57 +0100 | <tomsmeding> | oh that's good |
2023-02-16 15:56:57 +0100 | <geekosaur> | mingw doesn't have pkgconfig as installed |
2023-02-16 15:57:01 +0100 | <Inst> | but i'm trying to figure out what's gone wrong with pacman, because pacman in mingw can't seem to see jack |
2023-02-16 15:57:04 +0100 | <geekosaur> | but you can install it |
2023-02-16 15:57:23 +0100 | <gensyst> | merijn, that sounds like just mere trickery to get an argument into the function? |
2023-02-16 15:57:25 +0100 | <Inst> | pkg-config freetype, no response |
2023-02-16 15:57:27 +0100 | <tomsmeding> | Inst: try 'cabal install monomer -f stb_truetype' |
2023-02-16 15:57:31 +0100 | <gensyst> | merijn, (which i can case on) |
2023-02-16 15:58:42 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 255 seconds) |
2023-02-16 15:58:47 +0100 | <Inst> | same error |
2023-02-16 15:58:53 +0100 | <Inst> | i'd rather do freetype, it's sort of embarrassing |
2023-02-16 15:58:57 +0100 | <Inst> | monomer just got updated last month |
2023-02-16 15:59:03 +0100 | <Inst> | nanovg is failing builds, though, strange |
2023-02-16 15:59:08 +0100 | <int-e> | it really shouldn't be the same error though |
2023-02-16 15:59:17 +0100 | <merijn> | gensyst: Well, the thing that makes live difficult are "runtime dispatch on the type" (i.e. what to return based on 'A or B'), you can do it via existentials, but that's a bit painful usually i.e. "data SomeSettings = forall m . SomeSettings (Settings m)" or something like that |
2023-02-16 15:59:20 +0100 | <int-e> | unless the -f must go first? |
2023-02-16 15:59:29 +0100 | <tomsmeding> | Inst: yeah, screenshot of error with the -f? |
2023-02-16 15:59:46 +0100 | <merijn> | gensyst: So what you want is to never return a value depending on what the Mode is |
2023-02-16 15:59:51 +0100 | <Inst> | https://media.discordapp.net/attachments/968989726633779215/1075793613830762516/image.png |
2023-02-16 16:00:10 +0100 | <tomsmeding> | wut |
2023-02-16 16:00:22 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 16:00:33 +0100 | <tomsmeding> | Inst: you're also missing glew |
2023-02-16 16:00:39 +0100 | <tomsmeding> | in the pkg-config database, at least |
2023-02-16 16:00:40 +0100 | <Inst> | glew? |
2023-02-16 16:00:55 +0100 | <tomsmeding> | it's an OpenGL support library |
2023-02-16 16:01:01 +0100 | int-e | would try `cabal install -f stb_truetype monomer` instead |
2023-02-16 16:01:15 +0100 | <Inst> | it seems to be an issue with mingw, unfortunately |
2023-02-16 16:01:15 +0100 | <int-e> | (but I'm not sure whether this actually makes a difference to cabal-install) |
2023-02-16 16:01:22 +0100 | <Inst> | i can't get pacman to install anything in the mingw console ;_; |
2023-02-16 16:01:26 +0100 | <tomsmeding> | Inst: what does 'pkg-config --list-all' give |
2023-02-16 16:01:43 +0100 | <tomsmeding> | does mingw use pacman these days? I thought it had its own GUI |
2023-02-16 16:01:59 +0100 | <int-e> | have you actually installed the C libraries needed here? glew and freetype2 (if that's what you want to use)? |
2023-02-16 16:02:00 +0100 | <Inst> | https://media.discordapp.net/attachments/968989726633779215/1075794149070082129/image.png |
2023-02-16 16:02:09 +0100 | <Inst> | should I be using something other than pacman in mingw? |
2023-02-16 16:02:15 +0100 | <Inst> | i can't actualyl install either right now |
2023-02-16 16:02:44 +0100 | <Inst> | this is fun |
2023-02-16 16:02:51 +0100 | <Inst> | apt-get not installed, mingw-get not installed |
2023-02-16 16:03:04 +0100 | <tomsmeding> | oh apparently it's pacman these days "if you installed MinGW through MSYS2" |
2023-02-16 16:03:05 +0100 | <Inst> | probably the mingw is configured as a complete slave to cabal |
2023-02-16 16:03:11 +0100 | <tomsmeding> | hardly |
2023-02-16 16:03:11 +0100 | <int-e> | That looks like a no... well, assuming mingw actually packages the .pc files with those libraries. No clue whether it does. |
2023-02-16 16:03:29 +0100 | <int-e> | cabal-install can't do that. |
2023-02-16 16:03:34 +0100 | <Inst> | pacman -S get should work, right? |
2023-02-16 16:03:46 +0100 | <Inst> | as in, it'd try to update the get binary in linux? |
2023-02-16 16:03:59 +0100 | <tomsmeding> | Inst: what's the package name for freetype2 in pacman? What does pacman -Ql <thatpackagename> give? |
2023-02-16 16:04:43 +0100 | <Inst> | package not found |
2023-02-16 16:04:56 +0100 | <tomsmeding> | then -S it first lol |
2023-02-16 16:05:09 +0100 | <Inst> | not found |
2023-02-16 16:05:15 +0100 | <tomsmeding> | pacman -Ss freetype2 |
2023-02-16 16:05:24 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 268 seconds) |
2023-02-16 16:05:27 +0100 | <tomsmeding> | it's probably got a longer name |
2023-02-16 16:05:34 +0100 | <tomsmeding> | mingw/...freetype... |
2023-02-16 16:05:39 +0100 | <Inst> | gives no return, then gives package not found on -S |
2023-02-16 16:06:07 +0100 | <tomsmeding> | Inst: pacman -Ss freetype |
2023-02-16 16:06:09 +0100 | <Inst> | zing, thanks |
2023-02-16 16:06:10 +0100 | <Inst> | working |
2023-02-16 16:06:14 +0100 | <Inst> | https://www.google.com/search?q=mingw+freetype2&ei=fUXuY9_lMeSTwt0Px_6p6A0&ved=0ahUKEwifmOzep5r9Ah… |
2023-02-16 16:06:14 +0100 | <Inst> | =gws-wiz-serp |
2023-02-16 16:06:19 +0100 | <int-e> | huh |
2023-02-16 16:06:36 +0100 | tomsmeding | . o O ( google.com/search?q=mingw+freetype2 ) |
2023-02-16 16:06:57 +0100 | <tomsmeding> | Inst: so you _didn't_ install freetype, did you? |
2023-02-16 16:07:01 +0100 | <tomsmeding> | you got "not found" |
2023-02-16 16:07:05 +0100 | <int-e> | (yeah what even is all that extra crap in that URL) |
2023-02-16 16:07:05 +0100 | <tomsmeding> | you lied ;) |
2023-02-16 16:07:11 +0100 | <tomsmeding> | int-e: tracking |
2023-02-16 16:07:27 +0100 | <tomsmeding> | well, not only, but also |
2023-02-16 16:07:43 +0100 | <Inst> | i don't know how to install freetype |
2023-02-16 16:08:02 +0100 | <tomsmeding> | Inst: pacman -Ss freetype |
2023-02-16 16:08:05 +0100 | <tomsmeding> | what does that give |
2023-02-16 16:08:06 +0100 | <geekosaur> | if you're on a newer ghc then you also have to worry about the clang-based mingw having a distinct set of packages from the gcc-based one |
2023-02-16 16:08:20 +0100 | <tomsmeding> | omg mingw is a mess |
2023-02-16 16:08:23 +0100 | elbear | (~lucian@109.101.137.234) (Quit: leaving) |
2023-02-16 16:08:26 +0100 | <Inst> | it gives nothing |
2023-02-16 16:08:28 +0100 | <tomsmeding> | it's slowly coming back to me |
2023-02-16 16:08:29 +0100 | <geekosaur> | https://repo.msys2.org/mingw/clang64/ |
2023-02-16 16:08:38 +0100 | <Inst> | and yeah, Windows development is pretty mouse operator, as interpreted by Kowainik |
2023-02-16 16:08:43 +0100 | <tomsmeding> | Inst: if you 'pacman -Syu' first? |
2023-02-16 16:09:07 +0100 | <tomsmeding> | I dealt with cygwin and mingw like 6 years ago and I still have bad memories |
2023-02-16 16:09:13 +0100 | <Inst> | https://kowainik.github.io/posts/2019-02-06-style-guide#naming |
2023-02-16 16:09:16 +0100 | <int-e> | LOL. https://int-e.eu/~bf3/tmp/gws.png |
2023-02-16 16:09:32 +0100 | <tomsmeding> | lol |
2023-02-16 16:09:58 +0100 | <Inst> | reinstalled |
2023-02-16 16:10:01 +0100 | <Inst> | going to try with cabal again |
2023-02-16 16:10:04 +0100 | <Inst> | *installed |
2023-02-16 16:10:09 +0100 | <tomsmeding> | Inst: what package did you install precisely |
2023-02-16 16:10:14 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2023-02-16 16:11:25 +0100 | MajorBiscuit | (~MajorBisc@145.94.142.245) (Ping timeout: 246 seconds) |
2023-02-16 16:11:43 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-16 16:12:12 +0100 | <Inst> | crap, still not working, pkgconfig shows freetype in mingw64 |
2023-02-16 16:12:17 +0100 | <Inst> | maybe i have to try again for mingw-32 |
2023-02-16 16:12:30 +0100 | <tomsmeding> | unlikely, but you could try |
2023-02-16 16:12:40 +0100 | <tomsmeding> | Inst: what does cabal complain about, still freetype? |
2023-02-16 16:12:44 +0100 | <Inst> | pacman -S mingw-w64-x86_64-freetype |
2023-02-16 16:12:55 +0100 | <Inst> | pacman -S mingw-w64-x86_64-glew |
2023-02-16 16:13:07 +0100 | <Inst> | not found in pkg-config db |
2023-02-16 16:13:15 +0100 | <tomsmeding> | Inst: _what_ is not found in pkg-config db |
2023-02-16 16:13:24 +0100 | <Inst> | pkg-config list-all shows it |
2023-02-16 16:13:31 +0100 | <tomsmeding> | Inst: are those the only hits when you 'pacman -Ss' freetype and glew? |
2023-02-16 16:13:35 +0100 | <Inst> | [__0] rejecting: monomer-1.5.1.0 (conflict: pkg-config package glew-any, not |
2023-02-16 16:13:35 +0100 | <Inst> | found in the pkg-config database) |
2023-02-16 16:13:44 +0100 | <Inst> | well, i googled it, and it seemed to have worked |
2023-02-16 16:13:51 +0100 | <Inst> | and it's currently listed on the mingw-w64 pkgdb |
2023-02-16 16:14:33 +0100 | <tomsmeding> | Inst: what does 'pkg-config --libs glew' give? And 'pkg-config --libs glew-any'? |
2023-02-16 16:15:40 +0100 | <Inst> | $ pkg-config --libs glew |
2023-02-16 16:15:40 +0100 | <Inst> | -lglew32 |
2023-02-16 16:15:53 +0100 | <Inst> | $ pkg-config --libs glew-any |
2023-02-16 16:15:54 +0100 | <Inst> | Package glew-any was not found in the pkg-config search path. |
2023-02-16 16:15:54 +0100 | <Inst> | Perhaps you should add the directory containing `glew-any.pc' |
2023-02-16 16:15:54 +0100 | <Inst> | to the PKG_CONFIG_PATH environment variable |
2023-02-16 16:15:54 +0100 | <Inst> | Package 'glew-any', required by 'virtual:world', not found |
2023-02-16 16:16:00 +0100 | <Inst> | sorry |
2023-02-16 16:16:02 +0100 | tomsmeding | wonders where that glew-any is coming from |
2023-02-16 16:16:29 +0100 | <int-e> | the pkg-config name should be 'glew' |
2023-02-16 16:16:33 +0100 | <tomsmeding> | yeah |
2023-02-16 16:16:47 +0100 | <tomsmeding> | and the nanovg cabal file has pkgconfig-depends: glew |
2023-02-16 16:16:52 +0100 | <tomsmeding> | where does the -any come from |
2023-02-16 16:17:02 +0100 | <int-e> | the -any is from cabal, because there's no version range given for the library |
2023-02-16 16:17:09 +0100 | <geekosaur> | ^ |
2023-02-16 16:17:17 +0100 | <tomsmeding> | int-e: that's bonkers |
2023-02-16 16:17:20 +0100 | <tomsmeding> | that's not pkg-config syntax |
2023-02-16 16:17:21 +0100 | <geekosaur> | normally a pkgconfig name is <name>-<version> |
2023-02-16 16:17:29 +0100 | <tomsmeding> | sounds like a cabal bug |
2023-02-16 16:17:33 +0100 | <tomsmeding> | do not modify the name |
2023-02-16 16:17:37 +0100 | <Inst> | report in #cabal? |
2023-02-16 16:17:46 +0100 | <Inst> | i just need to get it to work at this point, to play around with monomer |
2023-02-16 16:17:52 +0100 | <int-e> | tomsmeding: I'd assume that it's only using that name in reporting the error |
2023-02-16 16:17:54 +0100 | <tomsmeding> | version constraints go after a space after the package name, and "-any" is not even a version constraint |
2023-02-16 16:17:57 +0100 | <tomsmeding> | ah |
2023-02-16 16:18:06 +0100 | <Inst> | possibly display bug |
2023-02-16 16:18:16 +0100 | <tomsmeding> | Inst: a note, monomer is a library, don't 'cabal install' libraries |
2023-02-16 16:18:20 +0100 | <int-e> | it's not even a bug, though it may be confusing as a feature |
2023-02-16 16:18:21 +0100 | <tomsmeding> | put them as dependencies in your cabal project |
2023-02-16 16:18:46 +0100 | <Inst> | yeah, second respected /decent haskeller who told me that |
2023-02-16 16:18:55 +0100 | <Inst> | i'm just being lazy and abusing :set -package in ghci and ghc -package |
2023-02-16 16:19:07 +0100 | <Inst> | hey, I used to --lib ;) |
2023-02-16 16:19:16 +0100 | <Inst> | and repeatedly nuke my ghcup install |
2023-02-16 16:19:24 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2023-02-16 16:19:29 +0100 | <geekosaur> | dont need to do that, just the environment file |
2023-02-16 16:19:45 +0100 | waleee | (~waleee@176.10.137.138) (Ping timeout: 252 seconds) |
2023-02-16 16:19:46 +0100 | <geekosaur> | which you can push into a specific directory so it only affects stuff in that directory |
2023-02-16 16:19:53 +0100 | <tomsmeding> | Inst: cabal install monomer -f stb_truetype -v 2>&1 | Tee-Object log.txt |
2023-02-16 16:19:57 +0100 | <geekosaur> | (xmonad does this when using cabal instead of stack) |
2023-02-16 16:20:30 +0100 | czy | (~user@50.30.140.22) |
2023-02-16 16:20:38 +0100 | <gensyst> | merijn, "gensyst: So what you want is to never return a value depending on what the Mode is", but... that's what we've been successfully doing right? |
2023-02-16 16:20:53 +0100 | <gensyst> | with your solution and with tomsmeding / [Leary] solutions |
2023-02-16 16:20:58 +0100 | <Inst> | https://paste.tomsmeding.com/i1qgKi3p |
2023-02-16 16:21:26 +0100 | zaquest | (~notzaques@5.130.79.72) (Quit: Leaving) |
2023-02-16 16:21:30 +0100 | <Inst> | wait, wtf |
2023-02-16 16:21:32 +0100 | <int-e> | "Cannot find pkg-config program" |
2023-02-16 16:21:34 +0100 | <Inst> | cannot find pkg-config? |
2023-02-16 16:21:35 +0100 | <int-e> | fun. |
2023-02-16 16:21:48 +0100 | <merijn> | gensyst: No, in my initial example you're not depending on the type of Mode, you're depending on the constructor of Settings |
2023-02-16 16:22:10 +0100 | <Inst> | adding this to my path now |
2023-02-16 16:22:13 +0100 | <Inst> | C:\ghcup\msys64\mingw64\bin |
2023-02-16 16:22:35 +0100 | <tomsmeding> | int-e: indeed cabal seems to add that -any, that's confusing |
2023-02-16 16:22:40 +0100 | <merijn> | gensyst: You're basically using the Mode to let GHC figure out that you will only have matching pairs of Settings/State constructors |
2023-02-16 16:23:38 +0100 | <merijn> | gensyst: You're depending on the value of SettingsA, it's just that GHC can determine that SettingsA gives mode A and only AState can match the mode A |
2023-02-16 16:23:45 +0100 | <Inst> | stuffing in path doesn't seem to help :( |
2023-02-16 16:24:16 +0100 | <merijn> | gensyst: So you're using Mode to relate the Settings and State constructors to each other, but you don't actually decide anything based on Mode, you decide based on SettingsA/SettingsB and AState/BState |
2023-02-16 16:24:41 +0100 | <Inst> | very nice |
2023-02-16 16:24:57 +0100 | <merijn> | gensyst: but your example of "makeSettings :: Settings m" <- this is problematic, because there's no input value to relate 'm' too, so now you *are* depending on the type of 'm' |
2023-02-16 16:24:58 +0100 | <Inst> | it's begging for sdl2 now, can easily find it via google and then pacman the mingw variant into existence |
2023-02-16 16:25:01 +0100 | <Inst> | thanks for the help! |
2023-02-16 16:25:15 +0100 | <tomsmeding> | Inst: cabal finds pkg-config now? |
2023-02-16 16:25:28 +0100 | <tomsmeding> | Inst: pacman -Ss sdl2 |
2023-02-16 16:25:51 +0100 | Guest|37 | (~Guest|37@45.138.211.81) |
2023-02-16 16:26:29 +0100 | <Inst> | doesn't work, needs mingw variant, found it already via google and isntalling |
2023-02-16 16:26:41 +0100 | <tomsmeding> | Inst: -Ss /= -S |
2023-02-16 16:26:45 +0100 | <tomsmeding> | Ss is search, S is install |
2023-02-16 16:27:03 +0100 | <Inst> | oh nice, it's working now |
2023-02-16 16:27:08 +0100 | <Inst> | last time i had it running, it gave me nothing |
2023-02-16 16:27:24 +0100 | <Inst> | rpobably a bad pacman -Syu |
2023-02-16 16:27:26 +0100 | <tomsmeding> | Inst: maybe because you were searching for freetype2 whereas the package was called .....freetype ? |
2023-02-16 16:27:31 +0100 | <int-e> | Huh this suggests reinstalling cabal-install if it was installed before pkg-config: https://github.com/haskell-gi/haskell-gi/issues/291#issuecomment-625155277 |
2023-02-16 16:27:31 +0100 | <tomsmeding> | or that |
2023-02-16 16:27:43 +0100 | <tomsmeding> | int-e: they have things working |
2023-02-16 16:27:45 +0100 | <int-e> | Not sure whether this is applicable here, but it's an idea. |
2023-02-16 16:27:47 +0100 | <int-e> | Ah |
2023-02-16 16:27:55 +0100 | <tomsmeding> | or at least, pkg-config |
2023-02-16 16:28:09 +0100 | <Inst> | monomer not being obnoxious anymore! cool! |
2023-02-16 16:28:30 +0100 | <int-e> | tbf I was only 30 seconds late this time, this is rather good for me ;) |
2023-02-16 16:28:45 +0100 | <tomsmeding> | Inst: a way to get your global-package feel without the pitfalls of cabal-installing a library: cabal repl -b monomer |
2023-02-16 16:28:49 +0100 | <tomsmeding> | int-e: lol |
2023-02-16 16:29:18 +0100 | <tomsmeding> | your nicks are annoying, I need to type 3 (!) characters of your nick to get tab-completion to give the right name |
2023-02-16 16:29:39 +0100 | <gensyst> | merijn, ok now things are clearer, thanks |
2023-02-16 16:29:51 +0100 | <sm> | 5 characters here (element) :) |
2023-02-16 16:30:09 +0100 | <gensyst> | merijn, tomsmeding, [Leary] and everyone, you gave me a lot to think about today. have to sleep on this. thanks! |
2023-02-16 16:30:15 +0100 | <Inst> | thanks so much for putting up with my windows newbie bs |
2023-02-16 16:30:24 +0100 | <tomsmeding> | gensyst, Inst: cheers :) |
2023-02-16 16:30:35 +0100 | <tomsmeding> | Inst: I'm as much a windows newbie as you are though |
2023-02-16 16:30:53 +0100 | <Inst> | i'm reasonably competent, i tried arch-linux but arch-linux was a really bad idea |
2023-02-16 16:31:01 +0100 | Cale | (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) (Ping timeout: 246 seconds) |
2023-02-16 16:31:03 +0100 | <tomsmeding> | I've just used pacman before because, y'know, it's arch's package manager and I use arch daily :p |
2023-02-16 16:31:09 +0100 | <geekosaur> | arch is okay, just avoid its haskell ecosystem |
2023-02-16 16:31:11 +0100 | gensyst | (gensyst@user/gensyst) (Quit: Leaving) |
2023-02-16 16:31:14 +0100 | <Inst> | arch-linux was roughly at the range of what i could get working, but not complicated |
2023-02-16 16:31:24 +0100 | <Inst> | afaik there's a war between arch-linux haskell ecosystem and mainstream haskell, no? |
2023-02-16 16:31:26 +0100 | <geekosaur> | use ghcup to install a hackell environment |
2023-02-16 16:31:33 +0100 | <tomsmeding> | yeah |
2023-02-16 16:31:37 +0100 | <tomsmeding> | hackell |
2023-02-16 16:31:39 +0100 | <geekosaur> | *haskell |
2023-02-16 16:31:48 +0100 | <dminuoso_> | Inst: "war" is one way to put it. |
2023-02-16 16:31:53 +0100 | <geekosaur> | just noticed that, yes. amusing typo |
2023-02-16 16:31:55 +0100 | <tomsmeding> | quiet war |
2023-02-16 16:32:00 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 255 seconds) |
2023-02-16 16:32:06 +0100 | <Inst> | like cabal vs stack war |
2023-02-16 16:32:08 +0100 | <tomsmeding> | war of sighs |
2023-02-16 16:32:10 +0100 | <sm> | detente |
2023-02-16 16:32:11 +0100 | <Inst> | stack was great, just poorly implemented |
2023-02-16 16:32:37 +0100 | <Inst> | i did not enjoy the idea of installing a different version of GHC everytime I wanted to compile |
2023-02-16 16:32:38 +0100 | <sm> | Inst: nonsense |
2023-02-16 16:32:41 +0100 | <dminuoso_> | The super strange thing about archlinux is, that its all dynamically linked haskell packages for what is probably the poorest reason and perhaps a good reason why to stay clear of ArchLinux. |
2023-02-16 16:32:53 +0100 | <sm> | sorry, didn't mean to be rude |
2023-02-16 16:32:56 +0100 | <Inst> | it's correct in the sense of reproducible builds in a language that aggressively breaks stuff |
2023-02-16 16:33:06 +0100 | <Inst> | i get trolled really heavily elsewhere, so I don't mind |
2023-02-16 16:33:13 +0100 | <Inst> | it's just annoying |
2023-02-16 16:33:15 +0100 | <dminuoso_> | The core reason is that archlinux haskell packages are uploaded from the singular maintainers personal computer, and because he has incredibly poor internet speed, he judged that dynamic linking would improve this problem. |
2023-02-16 16:33:22 +0100 | <dminuoso_> | (you cant make this up. |
2023-02-16 16:33:29 +0100 | <geekosaur> | you can typically force a resolver for something which will constrain the ghc it uses among other things |
2023-02-16 16:33:48 +0100 | <geekosaur> | (stack) |
2023-02-16 16:33:54 +0100 | <Inst> | incidentally someone wants me to rewrite warp as an exercise |
2023-02-16 16:34:45 +0100 | <Inst> | for some reason people think Michael Snoyman defected to Rust |
2023-02-16 16:34:52 +0100 | <Inst> | but warp / wai could use some love, and he's maintaining it these days |
2023-02-16 16:36:03 +0100 | Guest|37 | (~Guest|37@45.138.211.81) (Ping timeout: 255 seconds) |
2023-02-16 16:37:35 +0100 | <sm> | dminuoso_: really ? arch has a singular maintainer ? |
2023-02-16 16:37:49 +0100 | <dminuoso_> | sm: no but their haskell packages had at least at the point this decision was from |
2023-02-16 16:38:14 +0100 | <sm> | ah |
2023-02-16 16:41:49 +0100 | <dminuoso_> | https://www.reddit.com/r/linux/comments/9emwtu/comment/e5qssdz/ |
2023-02-16 16:42:15 +0100 | <dminuoso_> | For what its worth, many of the reasons are somewhat valid - but only if you have sufficient tooling around it. |
2023-02-16 16:42:20 +0100 | <dminuoso_> | It works great on NixOS. |
2023-02-16 16:42:42 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-16 16:47:05 +0100 | <Inst> | sorry to ask for help again, but |
2023-02-16 16:47:06 +0100 | <Inst> | https://paste.tomsmeding.com/IzcNwSAj |
2023-02-16 16:48:52 +0100 | jimmy2shoots | (~Jimmy_Bam@user/jimmy2shoots) (Ping timeout: 246 seconds) |
2023-02-16 16:50:43 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 16:52:35 +0100 | CiaoSen | (~Jura@p200300c9570460002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2023-02-16 16:52:42 +0100 | andrewboltachev | (~andrey@178.141.125.176) (Quit: Leaving.) |
2023-02-16 16:53:49 +0100 | MajorBiscuit | (~MajorBisc@185.214.88.34) |
2023-02-16 16:54:05 +0100 | <tomsmeding> | Inst: perhaps try this: cabal install monomer -f stb_truetype --ghc-option=-lssp |
2023-02-16 16:54:55 +0100 | <Inst> | yup, it's SDL2 that's blowing up |
2023-02-16 16:56:13 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 246 seconds) |
2023-02-16 16:57:17 +0100 | <Inst> | still same problem, it's sdl2, but w/e, maybe i'll try again later |
2023-02-16 16:58:15 +0100 | <tomsmeding> | Inst: same error? |
2023-02-16 16:58:23 +0100 | <tomsmeding> | I mean, I'm not sure that ghc option is going to the right place |
2023-02-16 16:58:33 +0100 | <Inst> | what is lssp supposed to do? |
2023-02-16 16:58:47 +0100 | <tomsmeding> | I'd be surer it's being passed on correctly if you start a _project_ ( ;) ) and have a cabal.project file you can put ghc-options: -lssp in |
2023-02-16 16:58:51 +0100 | <tomsmeding> | Inst: https://stackoverflow.com/questions/4492799/undefined-reference-to-stack-chk-fail |
2023-02-16 16:59:42 +0100 | Cale | (~cale@2605:8d80:6a1:37cd:8990:eb4c:24b5:bae4) |
2023-02-16 17:03:41 +0100 | Cale | (~cale@2605:8d80:6a1:37cd:8990:eb4c:24b5:bae4) (Read error: Connection reset by peer) |
2023-02-16 17:04:19 +0100 | enoq | (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
2023-02-16 17:04:55 +0100 | <Inst> | retrying with dummy |
2023-02-16 17:08:48 +0100 | <Inst> | this still builds up |
2023-02-16 17:08:50 +0100 | <Inst> | *blows up |
2023-02-16 17:08:51 +0100 | <Inst> | cabal build --ghc-options=-lssp |
2023-02-16 17:09:41 +0100 | mcglk | (~mcglk@131.191.49.120) (Ping timeout: 255 seconds) |
2023-02-16 17:12:46 +0100 | Sinbad | (~Sinbad@user/sinbad) |
2023-02-16 17:13:10 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-02-16 17:13:16 +0100 | mcglk | (~mcglk@131.191.49.120) |
2023-02-16 17:13:16 +0100 | <geekosaur> | won't that only apply to the current package unless cabal.project has it inside a `package *` stanza? |
2023-02-16 17:13:44 +0100 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2023-02-16 17:15:59 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 255 seconds) |
2023-02-16 17:19:24 +0100 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-02-16 17:19:38 +0100 | <geekosaur> | also I think these days there's a magic package you can depend on for C++ foo (https://downloads.haskell.org/ghc/9.4.1/docs/users_guide/9.4.1-notes.html#packaging), but not sure it does what you want here |
2023-02-16 17:19:58 +0100 | Cale | (~cale@2605:8d80:6a0:b4f6:a139:9a62:b1d5:76a4) |
2023-02-16 17:22:00 +0100 | mbuf | (~Shakthi@49.205.81.42) (Quit: Leaving) |
2023-02-16 17:22:25 +0100 | <geekosaur> | come to think of it you'd have to inject it into the SDL2 build which won't help |
2023-02-16 17:22:47 +0100 | <geekosaur> | rather, isn't really doable without vendoring SDL2 |
2023-02-16 17:26:11 +0100 | thegeekinside | (~thegeekin@189.180.97.223) (Ping timeout: 268 seconds) |
2023-02-16 17:30:23 +0100 | shriekingnoise | (~shrieking@186.137.175.87) |
2023-02-16 17:32:58 +0100 | Cale | (~cale@2605:8d80:6a0:b4f6:a139:9a62:b1d5:76a4) (Read error: Connection reset by peer) |
2023-02-16 17:33:21 +0100 | <geekosaur> | mm, actually I wonder if you can inject an extra `build-depends:` via cabal.package the way you can inject e.g. `ghc-options:` |
2023-02-16 17:33:27 +0100 | ddellacosta | (~ddellacos@146.70.165.157) (Ping timeout: 252 seconds) |
2023-02-16 17:34:29 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 17:34:50 +0100 | <sclv> | don't think so |
2023-02-16 17:36:40 +0100 | <geekosaur> | might need to consider it just for that link-with-c++ package |
2023-02-16 17:37:10 +0100 | <geekosaur> | except it'd be somewhere between pain and horror to maintain 😞 |
2023-02-16 17:38:18 +0100 | <geekosaur> | need a better solution to that problem… somehow |
2023-02-16 17:38:55 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 246 seconds) |
2023-02-16 17:39:15 +0100 | <geekosaur> | without having to hack up cabal to support umpteen different languages (it may start with C++ but watch out for rust in the rear view mirror…) |
2023-02-16 17:40:06 +0100 | <geekosaur> | or go, etc. |
2023-02-16 17:40:48 +0100 | andrew47 | (~andrew@156.229-30-62.static.virginmediabusiness.co.uk) |
2023-02-16 17:41:42 +0100 | <andrew47> | I'm using the Capability library and I've got a `Coercible a b` and a `HasState tag a m` and I would like to use a `HasState tag b m` how can I achieve that? |
2023-02-16 17:42:16 +0100 | <andrew47> | I get the obvious "no instace for `hasState tag b m` from context `HasState tag a m`" |
2023-02-16 17:43:24 +0100 | <dminuoso_> | andrew47: these are constraints, what are some of the values involved here? |
2023-02-16 17:43:58 +0100 | <dminuoso_> | At any rate |
2023-02-16 17:44:03 +0100 | <dminuoso_> | You can use `constraints` to forcibly do this |
2023-02-16 17:44:15 +0100 | <andrew47> | what is `constraints`? |
2023-02-16 17:44:38 +0100 | <dminuoso_> | https://hackage.haskell.org/package/constraints-0.13.4/docs/Data-Constraint.html |
2023-02-16 17:45:16 +0100 | <dminuoso_> | Or mmm you dont even need that |
2023-02-16 17:45:27 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-16 17:45:36 +0100 | <andrew47> | Can you give me an example? I don't see how that helps |
2023-02-16 17:45:41 +0100 | <geekosaur> | shouldn't it work to just have both constraints? |
2023-02-16 17:45:55 +0100 | <geekosaur> | unless something else weird is going on |
2023-02-16 17:46:16 +0100 | <dminuoso_> | geekosaur: Only if `(HasState tag a, Coercible a b) => HasState tag b` existed |
2023-02-16 17:46:22 +0100 | <dminuoso_> | But you could conjure that one up of course. |
2023-02-16 17:46:30 +0100 | <andrew47> | basically I have `newtype State = State { v1 :: MyState, ...}` with a bunch of deriving via things for capabilities. |
2023-02-16 17:46:54 +0100 | zeenk | (~zeenk@2a02:2f04:a214:1e00::7fe) (Quit: Konversation terminated!) |
2023-02-16 17:47:08 +0100 | <andrew47> | Somewhere else I have `newtype OtherState = OtherState MyState` |
2023-02-16 17:47:32 +0100 | <andrew47> | and I'm exposing the interface `HasState "st" OtherState m` but I would like to use `HasState "st" MyState m` |
2023-02-16 17:47:43 +0100 | <dminuoso_> | andrew47: unpack and inject with `state :: forall tag s m a. HasState tag s m => (s -> (a, s)) -> m a ` |
2023-02-16 17:47:52 +0100 | <dminuoso_> | Thats the most convenient way I think. |
2023-02-16 17:48:26 +0100 | <dminuoso_> | Heck you should even be able to `coerce` it directly |
2023-02-16 17:48:32 +0100 | <dminuoso_> | i.e. `coerce yourOtherState` |
2023-02-16 17:48:52 +0100 | <andrew47> | I was usng `coerce` directly before and that worked. But I was wondering if i could make the `deriving via` machinery do it for me |
2023-02-16 17:48:53 +0100 | <dminuoso_> | Depending on whether or not you have representational equality |
2023-02-16 17:48:59 +0100 | <dminuoso_> | andrew47: oh, no. |
2023-02-16 17:49:04 +0100 | <dminuoso_> | andrew47: You could: |
2023-02-16 17:49:23 +0100 | <dminuoso_> | Discard that. |
2023-02-16 17:49:32 +0100 | <andrew47> | kk |
2023-02-16 17:49:35 +0100 | <andrew47> | thanks for the help! |
2023-02-16 17:49:51 +0100 | <dminuoso_> | I mean its kind of the point of our type system |
2023-02-16 17:49:54 +0100 | <dminuoso_> | For newtypes |
2023-02-16 17:50:10 +0100 | <dminuoso_> | To make this magically work, use `type` rather than `newtype` |
2023-02-16 17:50:13 +0100 | <geekosaur> | but it's kinda the point of coerce to get around it 🙂 |
2023-02-16 17:52:03 +0100 | <andrew47> | yeah it's a little bit fiddly because I got some type families in the mix too so I need the `newtype` |
2023-02-16 17:52:49 +0100 | <andrew47> | Capability's been great so far |
2023-02-16 17:54:33 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2023-02-16 17:56:56 +0100 | merijn | (~merijn@195.114.232.94) (Ping timeout: 255 seconds) |
2023-02-16 17:58:14 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:d08:65bc:8e79:dbb5) (Quit: WeeChat 2.8) |
2023-02-16 17:59:37 +0100 | werneta | (~werneta@70.142.214.115) (Remote host closed the connection) |
2023-02-16 18:00:24 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 18:00:35 +0100 | thegeekinside | (~thegeekin@189.180.66.126) |
2023-02-16 18:00:58 +0100 | stackdroid18 | (14094@de1.hashbang.sh) |
2023-02-16 18:01:54 +0100 | dtman34 | (~dtman34@2601:447:d000:93c9:45e0:f7b0:cefa:26ff) (Ping timeout: 255 seconds) |
2023-02-16 18:03:49 +0100 | <juri_> | what is the operation that converts a list of lists from [[a1, a2],[b1, b2]] to [[a1, b1],[a2,b2]] ? |
2023-02-16 18:05:02 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 255 seconds) |
2023-02-16 18:05:13 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
2023-02-16 18:07:06 +0100 | <geekosaur> | > transpose [[a1, a2],[b1, b2]] |
2023-02-16 18:07:08 +0100 | <lambdabot> | error: |
2023-02-16 18:07:08 +0100 | <lambdabot> | • Variable not in scope: a1 |
2023-02-16 18:07:08 +0100 | <lambdabot> | • Perhaps you meant one of these: |
2023-02-16 18:07:23 +0100 | <geekosaur> | > transpose [[a, b],[c, d]] |
2023-02-16 18:07:24 +0100 | <lambdabot> | [[a,c],[b,d]] |
2023-02-16 18:07:34 +0100 | MajorBiscuit | (~MajorBisc@185.214.88.34) (Quit: WeeChat 3.6) |
2023-02-16 18:07:35 +0100 | codaraxis___ | (~codaraxis@user/codaraxis) (Ping timeout: 246 seconds) |
2023-02-16 18:07:38 +0100 | <geekosaur> | simple-reflect goes only so far… |
2023-02-16 18:07:59 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2023-02-16 18:13:06 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2023-02-16 18:20:14 +0100 | motherfsck | (~motherfsc@user/motherfsck) |
2023-02-16 18:21:35 +0100 | razetime | (~Thunderbi@117.193.6.245) (Remote host closed the connection) |
2023-02-16 18:22:08 +0100 | andrew47 | (~andrew@156.229-30-62.static.virginmediabusiness.co.uk) (Ping timeout: 260 seconds) |
2023-02-16 18:23:01 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 18:23:08 +0100 | nihonium | (~nihonium@46.148.105.76) |
2023-02-16 18:23:28 +0100 | tromp | (~textual@92.110.219.57) |
2023-02-16 18:24:01 +0100 | zer0bitz | (~zer0bitz@2001:2003:f443:d600:8417:935c:cb32:ee43) |
2023-02-16 18:25:50 +0100 | <juri_> | thanks. :) |
2023-02-16 18:27:06 +0100 | econo | (uid147250@user/econo) |
2023-02-16 18:28:33 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 255 seconds) |
2023-02-16 18:30:03 +0100 | mikoto-chan | (~mikoto-ch@2001:999:780:2a0:3c7:b79d:d9fc:8260) |
2023-02-16 18:35:24 +0100 | dtman34 | (~dtman34@76.156.89.180) |
2023-02-16 18:37:33 +0100 | <segfaultfizzbuzz> | so my program state is distributed across ram, disk drive ram, L3 thru L1 cache, is that right? |
2023-02-16 18:37:43 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2023-02-16 18:37:45 +0100 | <segfaultfizzbuzz> | uh plus whatever is stored on disk |
2023-02-16 18:37:55 +0100 | tromp | (~textual@92.110.219.57) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-02-16 18:38:21 +0100 | <segfaultfizzbuzz> | oh and i guess whatever devices it speaks to, like ram on a NIC and ram on a video card etc |
2023-02-16 18:39:52 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-02-16 18:42:40 +0100 | desantra | (~skykanin@user/skykanin) |
2023-02-16 18:43:20 +0100 | desantra | (~skykanin@user/skykanin) (Client Quit) |
2023-02-16 18:43:35 +0100 | desantra | (~skykanin@user/skykanin) |
2023-02-16 18:44:54 +0100 | ft | (~ft@p3e9bc443.dip0.t-ipconnect.de) |
2023-02-16 18:46:38 +0100 | ubert | (~Thunderbi@2a02:8109:abc0:6434:19e1:c8e:26ce:e0da) (Remote host closed the connection) |
2023-02-16 18:49:24 +0100 | <desantra> | Having issues with my cabal setup. `cabal build myopia:exe:myopia` reports "Internal error when trying to build the library from the package myopia-0.1.0.0. The package,component pair is not in the set of available targets for the project plan, which would suggest an inconsistency between readTargetSelectors and resolveTargets." All relevant files: https://bpa.st/QAX2M |
2023-02-16 18:52:06 +0100 | rettahcay | (~kaushikv@c-24-20-37-193.hsd1.or.comcast.net) |
2023-02-16 18:53:20 +0100 | rettahcay | (~kaushikv@c-24-20-37-193.hsd1.or.comcast.net) () |
2023-02-16 18:54:50 +0100 | kurbus | (~kurbus@user/kurbus) |
2023-02-16 18:55:21 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 18:59:59 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 248 seconds) |
2023-02-16 19:10:27 +0100 | kurbus | (~kurbus@user/kurbus) (Quit: Client closed) |
2023-02-16 19:12:00 +0100 | ravamrt | (~ravamrt@112.134.193.152) |
2023-02-16 19:20:26 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-02-16 19:20:35 +0100 | <Inst> | hmmm |
2023-02-16 19:20:44 +0100 | <Inst> | is there anyone else who uses windows here? |
2023-02-16 19:22:14 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2023-02-16 19:24:24 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2023-02-16 19:26:18 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2023-02-16 19:26:37 +0100 | rlj | (~rlj@94.234.101.197) |
2023-02-16 19:28:07 +0100 | Cale | (~cale@2605:8d80:6a2:4f70:9e38:23aa:4526:c65f) |
2023-02-16 19:29:08 +0100 | <Inst> | hmmm |
2023-02-16 19:29:35 +0100 | <Inst> | can you hijack SDL2 not building by getting it access to SDL2 via a precompiled .dll binary? |
2023-02-16 19:32:19 +0100 | notzmv | (~zmv@user/notzmv) (Ping timeout: 246 seconds) |
2023-02-16 19:33:01 +0100 | Cale | (~cale@2605:8d80:6a2:4f70:9e38:23aa:4526:c65f) (Read error: Connection reset by peer) |
2023-02-16 19:33:34 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2023-02-16 19:36:22 +0100 | ravamrt1 | (~ravamrt@112.134.195.104) |
2023-02-16 19:37:40 +0100 | <sm> | Inst: you might find some SDL2 on windows experts in #haskell-game:matrix.org |
2023-02-16 19:38:16 +0100 | mikoto-chan | (~mikoto-ch@2001:999:780:2a0:3c7:b79d:d9fc:8260) (Ping timeout: 246 seconds) |
2023-02-16 19:38:46 +0100 | ravamrt | (~ravamrt@112.134.193.152) (Ping timeout: 268 seconds) |
2023-02-16 19:39:36 +0100 | <Inst> | thanks |
2023-02-16 19:40:26 +0100 | <sm> | and of course you're following any sdl2 install docs I imagine. Additional clues might be findable on /r/haskell, there have been occasional threads |
2023-02-16 19:48:04 +0100 | <jade[m]> | I have some issues with vector-sized |
2023-02-16 19:48:10 +0100 | <jade[m]> | specifically trying to use fromTuple |
2023-02-16 19:48:27 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-02-16 19:49:32 +0100 | opticblast | (~Thunderbi@172.58.82.191) |
2023-02-16 19:50:15 +0100 | <jade[m]> | nvm I think I'm just stupid |
2023-02-16 19:50:44 +0100 | trev | (~trev@user/trev) (Remote host closed the connection) |
2023-02-16 19:51:46 +0100 | Cale | (~cale@2605:8d80:6a1:7608:a139:9a62:b1d5:76a4) |
2023-02-16 19:55:55 +0100 | codaraxis | (~codaraxis@user/codaraxis) |
2023-02-16 19:56:08 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2023-02-16 19:57:20 +0100 | phma_ | (~phma@2001:5b0:211c:dd68:d177:f289:9796:1bf1) |
2023-02-16 19:58:30 +0100 | phma | (~phma@host-67-44-208-11.hnremote.net) (Read error: Connection reset by peer) |
2023-02-16 19:59:00 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 255 seconds) |
2023-02-16 20:04:03 +0100 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.8) |
2023-02-16 20:04:17 +0100 | remedan | (~remedan@ip-94-112-0-18.bb.vodafone.cz) (Ping timeout: 265 seconds) |
2023-02-16 20:06:50 +0100 | <sclv> | desantra: the cabal file for the sublib has the same package name as the cabal file for the main executable. package names should be unique. |
2023-02-16 20:07:22 +0100 | <sclv> | alternately you can structure your project to have a single package which has both a library and executable stanza |
2023-02-16 20:10:53 +0100 | remedan | (~remedan@ip-94-112-0-18.bb.vodafone.cz) |
2023-02-16 20:11:49 +0100 | cheater_ | (~Username@user/cheater) |
2023-02-16 20:13:35 +0100 | sefidel | (~sefidel@user/sefidel) (Remote host closed the connection) |
2023-02-16 20:13:58 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 246 seconds) |
2023-02-16 20:14:04 +0100 | cheater_ | cheater |
2023-02-16 20:14:56 +0100 | falafel | (~falafel@2607:fb91:143f:e47f:120b:3c15:bd64:3713) |
2023-02-16 20:15:39 +0100 | sefidel | (~sefidel@user/sefidel) |
2023-02-16 20:16:16 +0100 | <desantra> | sclv: ah right, changing it to `graphics` helped. However now it's complaining about not being able to resolve deps. https://bpa.st/ZLUSY/raw |
2023-02-16 20:16:48 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-16 20:17:10 +0100 | <desantra> | oh, I had to remove the explicit naming of the library component in `graphics.cabal` |
2023-02-16 20:21:57 +0100 | rlj | (~rlj@94.234.101.197) (Quit: Client closed) |
2023-02-16 20:22:00 +0100 | <desantra> | exit |
2023-02-16 20:22:08 +0100 | desantra | (~skykanin@user/skykanin) (Quit: WeeChat 3.8) |
2023-02-16 20:23:40 +0100 | sefidel | (~sefidel@user/sefidel) (Remote host closed the connection) |
2023-02-16 20:24:04 +0100 | oldfashionedcow | (~Rahul_San@user/oldfashionedcow) (Quit: WeeChat 3.8) |
2023-02-16 20:25:36 +0100 | sefidel | (~sefidel@user/sefidel) |
2023-02-16 20:28:21 +0100 | sefidel | (~sefidel@user/sefidel) (Remote host closed the connection) |
2023-02-16 20:30:40 +0100 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-02-16 20:34:04 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-02-16 20:35:08 +0100 | thongpv | (~thongpv87@2402:9d80:36e:115e:bd33:9174:2078:fce6) (Read error: Connection reset by peer) |
2023-02-16 20:36:05 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-02-16 20:38:36 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 255 seconds) |
2023-02-16 20:39:13 +0100 | sefidel | (~sefidel@user/sefidel) |
2023-02-16 20:39:16 +0100 | lyle | (~lyle@104.246.145.237) (Quit: WeeChat 3.8) |
2023-02-16 20:40:24 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
2023-02-16 20:40:29 +0100 | andrewboltachev | (~andrey@178.141.125.176) |
2023-02-16 20:44:05 +0100 | mechap | (~mechap@user/mechap) (Quit: WeeChat 3.8) |
2023-02-16 20:49:17 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-02-16 20:50:31 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-02-16 20:52:31 +0100 | sefidel | (~sefidel@user/sefidel) (Remote host closed the connection) |
2023-02-16 20:52:33 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2023-02-16 20:52:33 +0100 | Square | (~Square4@user/square) (Ping timeout: 255 seconds) |
2023-02-16 20:53:20 +0100 | <azure_vermilion> | why does Data.Map.fromListWith have type (a -> a -> a) -> [(k,a)] -> Map k a and not (a -> b -> b) -> a -> [(k,b)] in the vein of foldr |
2023-02-16 20:54:09 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) |
2023-02-16 20:54:32 +0100 | sefidel | (~sefidel@user/sefidel) |
2023-02-16 20:55:43 +0100 | <mauke> | where are you going to get a 'b' from? |
2023-02-16 20:56:14 +0100 | <sclv> | the 'b' factory |
2023-02-16 20:56:45 +0100 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
2023-02-16 20:56:58 +0100 | <mauke> | oh, it's a partial signature |
2023-02-16 20:57:57 +0100 | <mauke> | azure_vermilion: how are you going to combine two 'b's into one if the combining function only takes one 'b'? |
2023-02-16 20:59:18 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
2023-02-16 21:01:05 +0100 | <azure_vermilion> | I messed that type signature up badly |
2023-02-16 21:01:08 +0100 | ravamrt1 | (~ravamrt@112.134.195.104) (Quit: Leaving.) |
2023-02-16 21:01:24 +0100 | zer0bitz | (~zer0bitz@2001:2003:f443:d600:8417:935c:cb32:ee43) (Read error: Connection reset by peer) |
2023-02-16 21:01:52 +0100 | <azure_vermilion> | why does Data.Map.fromListWith have type (a -> a -> a) -> [(k,a)] -> Map k a and not (a -> b -> b) -> a -> [(k,a)] -> Map k b in the vein of foldr |
2023-02-16 21:02:04 +0100 | <azure_vermilion> | does that make more sense? |
2023-02-16 21:02:41 +0100 | <mauke> | no, that's back to my first question |
2023-02-16 21:02:44 +0100 | <azure_vermilion> | no it doesn't |
2023-02-16 21:02:46 +0100 | <mauke> | where are you going to get a 'b' from? |
2023-02-16 21:03:09 +0100 | <azure_vermilion> | why does Data.Map.fromListWith have type (a -> a -> a) -> [(k,a)] -> Map k a and not (a -> b -> b) -> b -> [(k,a)] -> Map k b in the vein of foldr |
2023-02-16 21:03:13 +0100 | <azure_vermilion> | i think that's it |
2023-02-16 21:07:17 +0100 | <mauke> | I can't think of a way to express one in terms of the other |
2023-02-16 21:08:18 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-16 21:09:39 +0100 | <cpli> | mauke as long as you assume some b |
2023-02-16 21:10:08 +0100 | <mauke> | that's the trouble |
2023-02-16 21:11:15 +0100 | <cpli> | well, i also just don't get why you would want to include some third type |
2023-02-16 21:12:15 +0100 | <cpli> | you're generating a map from k to a |
2023-02-16 21:12:48 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 255 seconds) |
2023-02-16 21:13:34 +0100 | <azure_vermilion> | because if you're building up a list of values of duplicate keys like fromListWith is meant for it would be nice to use (:) as a combining function but it has type a -> [a] -> [a] |
2023-02-16 21:14:06 +0100 | <azure_vermilion> | so you have to put all your values in lists and then use (++) |
2023-02-16 21:17:02 +0100 | kupper | (~kupper@2a02:ab88:7609:4700:31a8:9d0c:ebbe:24d9) |
2023-02-16 21:17:22 +0100 | <kupper> | hi, I would like to learn to read the core language, where could I do that? I can't find it in the latest GHC User's guide |
2023-02-16 21:18:43 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2023-02-16 21:19:58 +0100 | <kupper> | nvm, someone sent me this https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/compiler/core-syn-type |
2023-02-16 21:20:27 +0100 | <azure_vermilion> | Duh, I just noticed Map has an actual foldr function in the Folds section with the type I gave ha ha |
2023-02-16 21:21:21 +0100 | <azure_vermilion> | oh no it doesn't |
2023-02-16 21:21:27 +0100 | <azure_vermilion> | I can't get anything right today |
2023-02-16 21:25:16 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2023-02-16 21:26:01 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2023-02-16 21:29:03 +0100 | oldfashionedcow | (~Rahul_San@user/oldfashionedcow) |
2023-02-16 21:32:56 +0100 | Feuermagier_ | (~Feuermagi@user/feuermagier) |
2023-02-16 21:32:58 +0100 | Cale | (~cale@2605:8d80:6a1:7608:a139:9a62:b1d5:76a4) (Read error: Connection reset by peer) |
2023-02-16 21:33:43 +0100 | mizlan | (~mizlan@2607:f010:2a7:1005:d198:988f:e4be:1762) |
2023-02-16 21:35:38 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) (Ping timeout: 255 seconds) |
2023-02-16 21:35:43 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) (Remote host closed the connection) |
2023-02-16 21:37:14 +0100 | polyphem | (~rod@2a02:810d:840:8754:224e:f6ff:fe5e:bc17) |
2023-02-16 21:37:39 +0100 | Feuermagier_ | (~Feuermagi@user/feuermagier) (Ping timeout: 252 seconds) |
2023-02-16 21:40:00 +0100 | codaraxis | (~codaraxis@user/codaraxis) (Ping timeout: 248 seconds) |
2023-02-16 21:40:21 +0100 | notzmv | (~zmv@user/notzmv) |
2023-02-16 21:41:22 +0100 | pavonia | (~user@user/siracusa) |
2023-02-16 21:49:40 +0100 | biberu | (~biberu@user/biberu) (Read error: Connection reset by peer) |
2023-02-16 21:50:33 +0100 | beteigeuze | (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) |
2023-02-16 21:51:02 +0100 | Cale | (~cale@2605:8d80:6a0:d61b:a139:9a62:b1d5:76a4) |
2023-02-16 21:54:58 +0100 | biberu | (~biberu@user/biberu) |
2023-02-16 21:56:43 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 252 seconds) |
2023-02-16 21:57:42 +0100 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2023-02-16 22:00:16 +0100 | <monochrom> | It has both foldr (which access only values) and foldrWithKey. |
2023-02-16 22:02:06 +0100 | mizlan | (~mizlan@2607:f010:2a7:1005:d198:988f:e4be:1762) (Quit: mizlan) |
2023-02-16 22:07:22 +0100 | dcoutts_ | (~duncan@host86-167-90-212.range86-167.btcentralplus.com) |
2023-02-16 22:10:07 +0100 | npmania1 | (~Thunderbi@121.128.226.31) |
2023-02-16 22:10:24 +0100 | npmania | (~Thunderbi@45.8.223.218) (Ping timeout: 255 seconds) |
2023-02-16 22:10:25 +0100 | npmania1 | npmania |
2023-02-16 22:11:00 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-02-16 22:12:18 +0100 | malte | (~malte@mal.tc) |
2023-02-16 22:13:51 +0100 | npmania1 | (~Thunderbi@45.8.223.248) |
2023-02-16 22:14:39 +0100 | npmania | (~Thunderbi@121.128.226.31) (Ping timeout: 248 seconds) |
2023-02-16 22:14:40 +0100 | npmania1 | npmania |
2023-02-16 22:21:19 +0100 | <Inst> | ummm, can i have a bit of help with cabal? |
2023-02-16 22:21:37 +0100 | <Inst> | I got monomer installed, but unfortunately cabal seems to have installed it as a binary, instead of as a library |
2023-02-16 22:22:13 +0100 | <Inst> | ack, --libed it |
2023-02-16 22:22:27 +0100 | <geekosaur> | that's what it does. use `cabal install --lib` for an environment file you can get at with ghci, or use `cabal repl -b monomer` for a better behaved version thereof |
2023-02-16 22:27:56 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
2023-02-16 22:29:25 +0100 | npmania | (~Thunderbi@45.8.223.248) (Ping timeout: 246 seconds) |
2023-02-16 22:29:39 +0100 | npmania | (~Thunderbi@138.199.21.246) |
2023-02-16 22:32:30 +0100 | npmania1 | (~Thunderbi@217.138.252.249) |
2023-02-16 22:33:19 +0100 | Cale | (~cale@2605:8d80:6a0:d61b:a139:9a62:b1d5:76a4) (Read error: Connection reset by peer) |
2023-02-16 22:33:58 +0100 | npmania | (~Thunderbi@138.199.21.246) (Ping timeout: 246 seconds) |
2023-02-16 22:33:58 +0100 | npmania1 | npmania |
2023-02-16 22:34:50 +0100 | jespada | (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: Textual IRC Client: www.textualapp.com) |
2023-02-16 22:35:04 +0100 | JimL | (~quassel@89-162-26-217.fiber.signal.no) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2023-02-16 22:35:26 +0100 | JimL | (~quassel@89-162-26-217.fiber.signal.no) |
2023-02-16 22:36:14 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-02-16 22:36:34 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-02-16 22:40:53 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 255 seconds) |
2023-02-16 22:41:21 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
2023-02-16 22:41:56 +0100 | <Inst> | what does cabal repl -b monomer do? |
2023-02-16 22:42:26 +0100 | gmg | (~user@user/gehmehgeh) |
2023-02-16 22:42:39 +0100 | <geekosaur> | starts a ghci using one or more packages from cabal's store, in this case monomer |
2023-02-16 22:42:59 +0100 | <geekosaur> | so you don't have to install it "globally" and potentially make a mess later |
2023-02-16 22:44:54 +0100 | <geekosaur> | there are very good reasons why cabal doesn't install libraries globally any more, and only fakes it with --lib. look up "cabal hell" in a search engine for examples |
2023-02-16 22:45:48 +0100 | yoneda | (~mike@193.206.102.122) (Quit: leaving) |
2023-02-16 22:49:43 +0100 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
2023-02-16 22:50:14 +0100 | Cale | (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) |
2023-02-16 22:51:30 +0100 | codaraxis | (~codaraxis@user/codaraxis) |
2023-02-16 22:54:57 +0100 | nihonium | (~nihonium@46.148.105.76) (Ping timeout: 255 seconds) |
2023-02-16 22:55:50 +0100 | falafel | (~falafel@2607:fb91:143f:e47f:120b:3c15:bd64:3713) (Ping timeout: 260 seconds) |
2023-02-16 22:55:50 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-16 22:57:31 +0100 | jespada | (~jespada@77.98.179.16) |
2023-02-16 22:59:20 +0100 | jinsun | (~jinsun@user/jinsun) (Ping timeout: 260 seconds) |
2023-02-16 23:02:38 +0100 | andrewboltachev | (~andrey@178.141.125.176) (Quit: Leaving.) |
2023-02-16 23:04:36 +0100 | jinsun | (~jinsun@user/jinsun) |
2023-02-16 23:05:41 +0100 | <Inst> | i've heard of it |
2023-02-16 23:13:38 +0100 | michalz | (~michalz@185.246.207.203) (Remote host closed the connection) |
2023-02-16 23:14:19 +0100 | <AWizzArd> | Inside a `nix-shell -p cabal-install ghc` I try to run `cabal init foo`. I answer the questions, and then I get: fd:13: hGetContents: invalid argument (invalid byte sequence) Can this somehow be connected to my locale settings (which are de_DE.UTF8)? |
2023-02-16 23:15:10 +0100 | <sclv> | i suspect, yes |
2023-02-16 23:15:29 +0100 | <sclv> | i wonder if we can patch cabal in some way to fix this |
2023-02-16 23:17:19 +0100 | <AWizzArd> | sclv: when you run `locale` then what is your LC_ALL setting? |
2023-02-16 23:17:37 +0100 | <sm> | I think so (I have been meaning to try similar for ever). More ideally it would patched (to show a useful error message) somewhere lower (in base or the RTS) |
2023-02-16 23:18:15 +0100 | <jackdk> | almost certainly; https://hackage.haskell.org/package/with-utf8 is designed for this but might not be usable within cabal-install for bootstrapping reasons |
2023-02-16 23:18:45 +0100 | <sm> | AWizzArd: that locale would normally prevent this error, but nix sets locale in a different way |
2023-02-16 23:18:51 +0100 | <sm> | are you sure you're setting it the nix way |
2023-02-16 23:19:36 +0100 | <AWizzArd> | sm: what would be the nix way? |
2023-02-16 23:19:55 +0100 | <sm> | https://github.com/simonmichael/hledger/issues/1033#issuecomment-1062506027 > 2 |
2023-02-16 23:21:24 +0100 | <sm> | $LOCALE_ARCHIVE |
2023-02-16 23:22:03 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2023-02-16 23:22:51 +0100 | <AWizzArd> | sm: I see |
2023-02-16 23:29:26 +0100 | <AWizzArd> | sm: yes, I had to export this LOCAL_ARCHIVE var. This works in the nix shell. |
2023-02-16 23:29:34 +0100 | <AWizzArd> | Thanks for the pointer. |
2023-02-16 23:29:54 +0100 | <sm> | np |
2023-02-16 23:30:06 +0100 | <sm> | ideally this would be in the Haskell FAQ |
2023-02-16 23:32:33 +0100 | <Inst> | ugh, this is bad, monomer is bugging out, guess i should switch to windows subsystem for linux |
2023-02-16 23:32:38 +0100 | <Inst> | but tbh it sucks when you don't know FRP |
2023-02-16 23:37:57 +0100 | beteigeuze | (~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Quit: beteigeuze) |
2023-02-16 23:41:21 +0100 | <sm> | congrats on getting it installed. I wonder which FRP system you're using |
2023-02-16 23:41:43 +0100 | falafel | (~falafel@2607:fb91:143f:e47f:1ba3:5839:e59a:9486) |
2023-02-16 23:44:12 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.) |
2023-02-16 23:52:29 +0100 | Everything | (~Everythin@46.185.124.65) |
2023-02-16 23:55:41 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
2023-02-16 23:58:05 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |