Logs on 2024-12-03 (liberachat/#haskell)
| 00:00:33 | × | acidjnk_new3 quits (~acidjnk@p200300d6e7283f25b46ec29f1d31fbc6.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 00:01:14 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 260 seconds) |
| 00:04:21 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:09:00 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 00:15:01 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 00:19:44 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:20:33 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 248 seconds) |
| 00:21:41 | × | j1n37 quits (~j1n37@user/j1n37) (Ping timeout: 248 seconds) |
| 00:22:39 | → | j1n37 joins (~j1n37@user/j1n37) |
| 00:24:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 00:26:10 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 00:31:19 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 272 seconds) |
| 00:32:34 | × | j1n37 quits (~j1n37@user/j1n37) (Ping timeout: 272 seconds) |
| 00:34:08 | × | philopsos quits (~caecilius@user/philopsos) (Quit: Lost terminal) |
| 00:35:32 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:35:42 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:38:22 | → | j1n37 joins (~j1n37@user/j1n37) |
| 00:40:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 00:40:29 | <sprotte24> | hellwolf, thanks for combi. But it does not run as expected. your solution should be: [[],['a'],['b'],['c'],['d'],['a','b'], ... ... |
| 00:41:04 | <sprotte24> | let us discuss it tomorrow. |
| 00:43:34 | <sprotte24> | And haskell should generate the complete list (virtuelly) and print with take n [first n list elements] |
| 00:43:47 | <sprotte24> | bye |
| 00:43:59 | × | sprotte24 quits (~sprotte24@p200300d16f395d001484d78db1444af0.dip0.t-ipconnect.de) (Quit: Leaving) |
| 00:48:17 | × | malte quits (~malte@mal.tc) (Remote host closed the connection) |
| 00:49:51 | → | malte joins (~malte@mal.tc) |
| 00:51:18 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:56:20 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 01:00:57 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Quit: leaving) |
| 01:05:08 | <Axman6> | > iterate (liftA2 (:) "abc") "" |
| 01:05:10 | <lambdabot> | error: |
| 01:05:10 | <lambdabot> | • Couldn't match type ‘Char’ with ‘[Char]’ |
| 01:05:10 | <lambdabot> | Expected type: [[Char]] |
| 01:06:51 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:07:31 | <Axman6> | > take 50 $ concat $ iterate (liftA2 (:) "abc") [""] |
| 01:07:33 | <lambdabot> | ["","a","b","c","aa","ab","ac","ba","bb","bc","ca","cb","cc","aaa","aab","aa... |
| 01:08:02 | <c_wraith> | that's ordered sequences, not combinations |
| 01:08:25 | <Axman6> | Ah I wasn't following the convo closely enough |
| 01:11:30 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 01:11:41 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 01:17:05 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 255 seconds) |
| 01:17:37 | <Axman6> | I wish Data.List had something like select :: [a] -> [([a],a,[a])] (or even [a] -> [([a] -> [a], a, [a])] for that O(1) list construction goodness) |
| 01:18:52 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 01:19:01 | <c_wraith> | hellwolf: fwiw, you can use tails to simplify that a lot: https://play.haskell.org/saved/sPfG6hLU |
| 01:19:26 | <c_wraith> | (It's the same behavior as your code, but with a lot less indexing) |
| 01:22:22 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:29:30 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 01:30:10 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 01:39:25 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 260 seconds) |
| 01:39:48 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 01:40:26 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:45:31 | × | Everything quits (~Everythin@46.211.80.247) (Quit: leaving) |
| 01:45:43 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 01:48:07 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 244 seconds) |
| 01:50:31 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 01:56:12 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:00:27 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 252 seconds) |
| 02:01:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 02:12:03 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:16:39 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 02:25:29 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 255 seconds) |
| 02:27:47 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:33:05 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 02:43:34 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:43:57 | × | OftenFaded quits (~OftenFade@user/tisktisk) (Quit: Client closed) |
| 02:47:59 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 265 seconds) |
| 02:48:28 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 02:49:48 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 02:49:58 | → | philopsos joins (~caecilius@user/philopsos) |
| 02:52:41 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 02:58:23 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 244 seconds) |
| 02:59:18 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:06:39 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 03:08:24 | × | td_ quits (~td@i5387091A.versanet.de) (Ping timeout: 252 seconds) |
| 03:10:17 | → | td_ joins (~td@i5387091F.versanet.de) |
| 03:12:10 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 03:16:43 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 252 seconds) |
| 03:17:20 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:19:09 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 03:22:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 03:26:09 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 248 seconds) |
| 03:26:17 | × | philopsos quits (~caecilius@user/philopsos) (Quit: Lost terminal) |
| 03:28:00 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 03:33:07 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:34:02 | × | nek0 quits (~nek0@user/nek0) (Ping timeout: 244 seconds) |
| 03:34:36 | × | rncwnd quits (~quassel@2a01:4f8:221:27c6::1) (Ping timeout: 276 seconds) |
| 03:34:56 | × | auri quits (~auri@fsf/member/auri) (Ping timeout: 264 seconds) |
| 03:36:38 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 03:38:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 03:41:38 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 03:42:55 | → | billchenchina joins (~billchenc@2a0d:2580:ff0c:201:47cf:ca1:a674:8042) |
| 03:43:19 | → | auri joins (~auri@fsf/member/auri) |
| 03:43:23 | → | rncwnd joins (~quassel@2a01:4f8:221:27c6::1) |
| 03:45:37 | <iqubic> | Axman, I also want a select function |
| 03:47:23 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 255 seconds) |
| 03:48:35 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 03:48:40 | → | philopsos joins (~caecilius@user/philopsos) |
| 03:48:51 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:52:12 | <iqubic> | What's going on with merijn here? |
| 03:53:14 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 255 seconds) |
| 03:53:43 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 03:55:03 | → | nek0 joins (~nek0@user/nek0) |
| 04:02:19 | × | nadja quits (~dequbed@banana-new.kilobyte22.de) (Ping timeout: 252 seconds) |
| 04:04:35 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:09:40 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 04:12:28 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 04:17:34 | → | nadja joins (~dequbed@banana-new.kilobyte22.de) |
| 04:18:14 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 04:18:40 | → | aforemny joins (~aforemny@2001:9e8:6ce3:fa00:8581:f920:fe47:eb38) |
| 04:19:54 | × | aforemny_ quits (~aforemny@2001:9e8:6cc2:7300:b057:b2c0:d48e:e441) (Ping timeout: 252 seconds) |
| 04:20:21 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:20:21 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 04:24:51 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 04:26:16 | × | weary-traveler quits (~user@user/user363627) (Quit: Konversation terminated!) |
| 04:30:59 | → | weary-traveler joins (~user@user/user363627) |
| 04:31:48 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 276 seconds) |
| 04:32:09 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Quit: leaving) |
| 04:32:11 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 04:35:51 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:42:32 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 04:49:00 | → | budabudabee joins (~budabudab@136.38.236.196) |
| 04:52:19 | → | meritamen joins (~user@user/meritamen) |
| 04:53:08 | × | meritamen quits (~user@user/meritamen) (Client Quit) |
| 04:53:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:58:58 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 05:08:23 | × | myxos quits (~myxos@syn-065-028-251-121.res.spectrum.com) (Ping timeout: 255 seconds) |
| 05:09:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:10:43 | → | myxos joins (~myxos@syn-065-028-251-121.res.spectrum.com) |
| 05:14:55 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 05:23:43 | × | budabudabee quits (~budabudab@136.38.236.196) (Quit: Quit) |
| 05:25:29 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:29:59 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 05:33:37 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 05:34:15 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:39:07 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 05:49:38 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:53:33 | × | philopsos quits (~caecilius@user/philopsos) (Quit: Lost terminal) |
| 05:54:13 | <ski> | int-e : "TBH the fact that (a . b .) is invalid annoys me a little bit. It's associative after all..." -- yea .. which (amongst reading some papers on operator parsing) was what prompted me to wanting `(2 + 3 *)' ("section sequence") to mean `\x -> 2 + 3 * x' |
| 05:54:20 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 05:55:19 | × | euleritian quits (~euleritia@77.22.252.159) (Ping timeout: 260 seconds) |
| 05:55:27 | → | alp joins (~alp@2001:861:8ca0:4940:fcfb:c018:c718:ffe) |
| 05:56:37 | → | euleritian joins (~euleritia@dynamic-176-000-179-000.176.0.pool.telefonica.de) |
| 05:57:20 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 252 seconds) |
| 05:58:01 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 06:00:48 | × | euleritian quits (~euleritia@dynamic-176-000-179-000.176.0.pool.telefonica.de) (Ping timeout: 245 seconds) |
| 06:03:58 | → | euleritian joins (~euleritia@dynamic-176-004-226-029.176.4.pool.telefonica.de) |
| 06:05:00 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:06:39 | × | hammond quits (proscan@user/hammond2) (Ping timeout: 246 seconds) |
| 06:09:33 | × | bairyn quits (~bairyn@50.250.232.19) (Remote host closed the connection) |
| 06:10:43 | × | ft quits (~ft@p508db9c7.dip0.t-ipconnect.de) (Quit: leaving) |
| 06:10:53 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 06:12:29 | → | michalz joins (~michalz@185.246.207.221) |
| 06:14:09 | × | euleritian quits (~euleritia@dynamic-176-004-226-029.176.4.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 06:16:30 | → | euleritian joins (~euleritia@dynamic-176-000-012-169.176.0.pool.telefonica.de) |
| 06:17:30 | → | hammond joins (proscan@gateway04.insomnia247.nl) |
| 06:18:00 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:18:12 | × | euleritian quits (~euleritia@dynamic-176-000-012-169.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
| 06:18:40 | → | euleritian joins (~euleritia@dynamic-176-000-012-169.176.0.pool.telefonica.de) |
| 06:19:08 | × | euleritian quits (~euleritia@dynamic-176-000-012-169.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
| 06:20:16 | → | euleritian joins (~euleritia@dynamic-176-000-012-169.176.0.pool.telefonica.de) |
| 06:21:44 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:24:31 | × | euleritian quits (~euleritia@dynamic-176-000-012-169.176.0.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 06:24:51 | → | ByronJohnson joins (~bairyn@50.250.232.19) |
| 06:28:28 | → | euleritian joins (~euleritia@dynamic-176-003-040-158.176.3.pool.telefonica.de) |
| 06:28:37 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 06:30:00 | × | euleritian quits (~euleritia@dynamic-176-003-040-158.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 06:30:33 | → | arahael joins (~arahael@user/arahael) |
| 06:30:37 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 06:30:41 | → | euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
| 06:34:52 | × | euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 244 seconds) |
| 06:35:53 | → | euleritian joins (~euleritia@dynamic-176-003-040-158.176.3.pool.telefonica.de) |
| 06:39:19 | <iqubic> | What does Megaparsec's `runParser` function do if the given parser doesn't fully consume the given input? Does it just run the parser as much as it can and then just throw away the unparsed bit? |
| 06:39:47 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:40:50 | <c_wraith> | iqubic: well, that's what testing suggests it does |
| 06:42:42 | <c_wraith> | runParser' uses and returns a parser state value that includes an unparsed suffix of the input |
| 06:44:39 | <iqubic> | Cool. I don't actually need to keep the unparsed suffix, but it's good that I can get that if needed. |
| 06:44:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 06:45:56 | → | briandaed joins (~root@user/briandaed) |
| 06:48:17 | <mauke> | preflex: tell mauke hi |
| 06:48:17 | <preflex> | what |
| 06:48:23 | <mauke> | dang |
| 06:49:34 | <ski> | preflex: xseen mmorrow |
| 06:49:34 | <preflex> | Sorry, I haven't seen mmorrow |
| 06:49:55 | <mauke> | "new state; who dis?" |
| 06:50:03 | <ski> | ayup |
| 06:50:53 | <mauke> | preflex: tell mauke_ hi |
| 06:50:53 | <preflex> | Consider it noted. |
| 06:51:00 | mauke | is now known as mauke_ |
| 06:51:10 | <mauke_> | a |
| 06:51:10 | <ski> | ACTION ? |
| 06:51:10 | <preflex> | mauke_: you have 1 new message. '/msg preflex messages' to read it. |
| 06:51:39 | mauke_ | is now known as mauke |
| 06:52:13 | <ski> | perhaps it tell publicly (immediately ?), if the original message was sent publicly ? |
| 06:53:26 | <mauke> | preflex: tell merijn your connection is flapping. you've been connecting (for 5-6 minutes) and disconnecting (for 10-11 minutes) repeatedly for the past days, possibly weeks |
| 06:53:26 | <preflex> | Consider it noted. |
| 06:53:38 | <mauke> | ski: yes |
| 06:54:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:57:27 | <ski> | s/it tell/it could tell/ |
| 06:57:51 | <ski> | (i mean, it didn't tell the message above, just that there was a message? |
| 06:57:53 | <ski> | ) |
| 06:58:45 | <iqubic> | What is preflex? |
| 06:59:23 | × | andreas303 quits (andreas303@is.drunk.and.ready-to.party) (Quit: fBNC - https://bnc4free.com) |
| 06:59:40 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 06:59:51 | <mauke> | ah, like that |
| 07:00:12 | <mauke> | iqubic: my old bot |
| 07:00:22 | <iqubic> | That's cool. |
| 07:01:12 | <mauke> | ski: could be "public" in a different channel, though |
| 07:01:27 | <mauke> | and there could be multiple messages waiting |
| 07:02:48 | <ski> | yes, probably would be localized to the channel it was sent on (not sent publicly to any other channel) |
| 07:03:07 | × | ByronJohnson quits (~bairyn@50.250.232.19) (Remote host closed the connection) |
| 07:03:27 | <ski> | .. i guess if it sees activity elsewhere, one could send a private message about having a message on #channel |
| 07:03:37 | ski | can't recall how sorbet handled this thing |
| 07:03:57 | <ski> | (and yea, some throttling for multiple messages, i guess) |
| 07:10:17 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:14:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 07:15:10 | → | ByronJohnson joins (~bairyn@50.250.232.19) |
| 07:20:05 | × | billchenchina quits (~billchenc@2a0d:2580:ff0c:201:47cf:ca1:a674:8042) (Ping timeout: 260 seconds) |
| 07:26:04 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:30:57 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 07:31:53 | → | fp1 joins (~Thunderbi@130.233.70.205) |
| 07:36:55 | → | andreas303 joins (andreas303@is.drunk.and.ready-to.party) |
| 07:38:31 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
| 07:39:34 | → | billchenchina joins (~billchenc@103.152.35.21) |
| 07:41:52 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:45:26 | × | fp1 quits (~Thunderbi@130.233.70.205) (Quit: fp1) |
| 07:45:49 | → | fp1 joins (~Thunderbi@2001:708:20:1406::1370) |
| 07:46:36 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 07:50:05 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 07:50:50 | → | Guest2 joins (~Guest2@185.234.115.65) |
| 07:52:27 | × | Guest2 quits (~Guest2@185.234.115.65) (Client Quit) |
| 07:57:48 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 08:00:00 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 08:00:31 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 08:00:37 | → | caconym joins (~caconym@user/caconym) |
| 08:01:51 | <fp1> | How do you add a package with ghc? I'm building with =ghc -dynamic -package regex-posix-0.96.0.1 foo.hs=, but the Text.Regex module isn't present. I'm able to solve this in ghci with =:mod +Text.Regex.Posix=, but the same doesn't work in a source file. |
| 08:01:53 | <haskellbridge> | <hellwolf> c_wraith: oh, right. and list comprehension. I think your implementation misses the case where y is not in the combination for n selection. But it's an easy fix and still a good use of list comprehension. |
| 08:02:30 | <fp1> | Note that I would use cabal, but this is meant to be a hacky little 20 line exercise, not a full-blown project |
| 08:04:11 | <c_wraith> | hellwolf: no, it's using tails. That means that at some point in the comprehension, y is every element of the list. |
| 08:04:32 | <Axman6> | fp1: honestly using cabal will be simpler, you can just do cabal init and then add the package. I'm not sure if you have to specify a package location these days? |
| 08:05:23 | <haskellbridge> | <hellwolf> c_wraith: but there is case that y is dropped but still taking n elements? I will be back to keyboard and double check. |
| 08:05:27 | → | hsw_ joins (~hsw@112-104-8-145.adsl.dynamic.seed.net.tw) |
| 08:06:04 | × | hsw quits (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Remote host closed the connection) |
| 08:06:06 | <fp1> | Ah that's annoying. I'm doing advent of code, so it's 25 executables. I can change the source target ofc, just annoying |
| 08:06:44 | <c_wraith> | hellwolf: It breaks down the work differently than that. It's broken down as "take each element as the head, then draw all possible combinations of (n-1) elements from the tail of that element" |
| 08:07:10 | <c_wraith> | (with an implicit failure case when there are fewer than n-1 elements in the tail) |
| 08:09:09 | <briandaed> | fp1: what prevents you from doing it in one executable, just different actions/functions? a lot of code will be shared, i.e reading input / parsing |
| 08:09:33 | × | RedNifre quits (~RedNifre@dslb-002-203-026-114.002.203.pools.vodafone-ip.de) (Ping timeout: 276 seconds) |
| 08:09:39 | <fp1> | Maybe I could do it that way, yeah |
| 08:14:04 | × | itaipu quits (~itaipu@168.121.99.42) (Ping timeout: 244 seconds) |
| 08:15:36 | <haskellbridge> | <hellwolf> have you considered cabal scrip? |
| 08:22:50 | <jackdk> | What can I spend it on? |
| 08:31:05 | → | Guest99099 joins (~Guest9909@80-186-163-16.elisa-mobile.fi) |
| 08:33:03 | → | chele joins (~chele@user/chele) |
| 08:33:27 | → | gmg joins (~user@user/gehmehgeh) |
| 08:35:48 | <Axman6> | either one binary which has all your answers or define multiple programs in the cabal file. you can keep everything in the library to maximise sharing and then just call out to the appropriate main |
| 08:46:04 | → | CiaoSen joins (~Jura@2a05:5800:210:3f00:ca4b:d6ff:fec1:99da) |
| 08:47:18 | × | olivial quits (~benjaminl@user/benjaminl) (Ping timeout: 246 seconds) |
| 08:47:41 | <probie> | You can also be really lazy like me, and run all days challenges whenever you run the program |
| 08:48:59 | <c_wraith> | that requires you to not use algorithms that brute force in the 10 minute area. :P |
| 08:49:09 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 245 seconds) |
| 08:51:07 | <fp1> | So I found [this](https://stackoverflow.com/a/5591628) explanation of how to get groups out of a regex, but I'm not understanding in what context I should be putting =type MatchText ...= or =RegexContext ...=, and in the latter case, I don't even understand what that is (it looks like a type, but it's not in a type place). I'm also getting nasty errors using this, so I'm doing something very wrong |
| 08:52:49 | → | merijn joins (~merijn@77.242.116.146) |
| 08:54:06 | → | sprotte24 joins (~sprotte24@p200300d16f4231005949a0b38fd8c80a.dip0.t-ipconnect.de) |
| 08:54:23 | → | olivial joins (~benjaminl@user/benjaminl) |
| 08:56:47 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 08:57:42 | → | cyphase joins (~cyphase@user/cyphase) |
| 08:58:25 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 248 seconds) |
| 08:58:49 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 09:03:24 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 246 seconds) |
| 09:03:34 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 09:03:59 | <haskellbridge> | <hellwolf> c_wraith: aha, now I get it. It's the "tails", not "tail" I had not known of it. |
| 09:04:11 | <haskellbridge> | <hellwolf> it seems there are many treasures in the Data.List |
| 09:04:33 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 09:05:03 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 09:05:36 | <haskellbridge> | <hellwolf> > tails "haskell" |
| 09:05:47 | <hellwolf> | > tails "haskell" |
| 09:05:48 | <lambdabot> | ["haskell","askell","skell","kell","ell","ll","l",""] |
| 09:06:26 | <c_wraith> | yeah, it's surprisingly useful |
| 09:07:00 | <c_wraith> | especially with that list comprehension idiom |
| 09:07:36 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 246 seconds) |
| 09:07:52 | haskellbridge | hellwolf learned something new everyday |
| 09:09:12 | <haskellbridge> | <hellwolf> Btw, this is my ~/Templates/cabalscript.hs |
| 09:09:12 | <haskellbridge> | https://play.haskell.org/saved/aetDTZiA |
| 09:09:27 | <haskellbridge> | <hellwolf> I would never write a cabal project if it's small enough for me to just create a script of it. |
| 09:10:18 | <haskellbridge> | <hellwolf> The only downside is that it litters ~/.cabal/script-builds/ |
| 09:10:18 | <haskellbridge> | Unlike stack script, which can run things in interpreting mode, which is probably sufficient for most of thsoe cases. |
| 09:10:42 | <haskellbridge> | <hellwolf> There is some surprising missing-optimization when using interpreting mode, but otherwise you are fine. |
| 09:13:05 | × | remedan quits (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
| 09:13:15 | × | fp1 quits (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 260 seconds) |
| 09:14:09 | → | merijn joins (~merijn@77.242.116.146) |
| 09:19:23 | → | Square joins (~Square@user/square) |
| 09:20:12 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 09:21:44 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 09:24:33 | → | reidrac joins (~reidrac@user/reidrac) |
| 09:25:12 | → | remedan joins (~remedan@ip-62-245-108-153.bb.vodafone.cz) |
| 09:27:20 | → | acidjnk_new3 joins (~acidjnk@p200300d6e7283f756566d9820eaa5300.dip0.t-ipconnect.de) |
| 09:32:56 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 252 seconds) |
| 09:36:41 | × | remedan quits (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!) |
| 09:36:58 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
| 09:45:23 | × | Guest99099 quits (~Guest9909@80-186-163-16.elisa-mobile.fi) (Quit: Guest99099) |
| 09:46:09 | <kuribas> | > inits "haskell" |
| 09:46:10 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 09:46:10 | <lambdabot> | ["","h","ha","has","hask","haske","haskel","haskell"] |
| 09:46:27 | <kuribas> | Interestingly inits uses quadratic space, but tails linear. |
| 09:46:51 | <kuribas> | I wonder if there are language that or not just lazy, but allow you to match on terms. |
| 09:46:58 | → | remedan joins (~remedan@ip-62-245-108-153.bb.vodafone.cz) |
| 09:47:03 | → | Guest5643 joins (~adlon17@129.94.128.31) |
| 09:47:50 | <kuribas> | Then you can specify reverse (reverse l) = l |
| 09:48:20 | <kuribas> | Or maybe better, a dependently typed language where you can write rewrite rules with proofs. |
| 09:49:14 | → | merijn joins (~merijn@77.242.116.146) |
| 09:50:17 | × | Guest5643 quits (~adlon17@129.94.128.31) (Quit: Lost terminal) |
| 09:51:45 | <jackdk> | That's more due to how cons lists work than anything else |
| 09:52:02 | <jackdk> | Common lisp has `destructuring-bind`; `fennel` has pattern-matching; I'm sure there are others |
| 09:52:32 | <kuribas> | Maybe inits should return a snoc list. |
| 09:53:25 | <kuribas> | [Snoc "", Snoc "l", Snoc "ll", Snoc "lle", Snoc "llek", ...] |
| 09:54:40 | <int-e> | > scanl (flip (:)) [] "haskell" |
| 09:54:41 | <lambdabot> | ["","h","ah","sah","ksah","eksah","leksah","lleksah"] |
| 09:58:33 | <kuribas> | :t Tsil |
| 09:58:34 | <lambdabot> | error: Data constructor not in scope: Tsil |
| 09:58:36 | <kuribas> | :t Snoc |
| 09:58:37 | <lambdabot> | error: |
| 09:58:37 | <lambdabot> | • Data constructor not in scope: Snoc |
| 09:58:37 | <lambdabot> | • Perhaps you meant one of these: |
| 09:59:27 | <int-e> | > Dual "abc" <> Dual "def" |
| 09:59:28 | <lambdabot> | Dual {getDual = "defabc"} |
| 10:02:22 | <int-e> | > ($ []) . appEndo . getDual . mconcat . map (Dual . Endo . (:)) $ "haskell" |
| 10:02:23 | <lambdabot> | "lleksah" |
| 10:07:32 | → | fp1 joins (~Thunderbi@2001:708:20:1406::1370) |
| 10:08:28 | <fp1> | I got these two lines of code off of stack overflow to extract groups out of regex matches, but I don't understand where I'm supposed to use them, or even what the first line does. Could someone help me understand? (Sorry if this was already answered; I went to lunch and my machine disconnected from the chat) |
| 10:08:28 | <fp1> | RegexContext a b (AllTextMatches (Array Int) (MatchText b)) |
| 10:08:28 | <fp1> | type MyMatchText source = Array Int (source, (MatchOffset, MatchLength)) |
| 10:11:23 | × | turlando quits (~turlando@user/turlando) (Quit: No Ping reply in 180 seconds.) |
| 10:12:40 | → | turlando joins (~turlando@user/turlando) |
| 10:13:57 | → | mari-estel joins (~mari-este@user/mari-estel) |
| 10:16:49 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 10:25:24 | × | iqubic quits (~sophia@2601:602:9201:9440:a79c:888c:bcf5:a830) (Ping timeout: 260 seconds) |
| 10:31:06 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 10:46:37 | <merijn> | fp1: The first line is not syntactically correct unless you left of a part before it |
| 10:46:37 | <preflex> | merijn: you have 1 new message. '/msg preflex messages' to read it. |
| 10:47:04 | <fp1> | This is what they shared https://stackoverflow.com/a/5591628 |
| 10:47:37 | <jackdk> | RegexContext is this multi-parameter type class: https://hackage.haskell.org/package/regex-base-0.94.0.2/docs/Text-Regex-Base-RegexLike.html#t:RegexContext |
| 10:49:02 | <merijn> | fp1: tbh, depending on what you're doing there's a decent chance the best advice is "don't bother with regex libraries in Haskell" |
| 10:49:32 | <merijn> | Like, the only real usecase for regular expressions (in Haskell) imo is "when you're accepting user input in the form of regular expressions" |
| 10:49:47 | <fp1> | Well, I nearly have what I'm looking for |
| 10:49:55 | <sm> | which is a pretty common use case |
| 10:49:57 | <fp1> | But if I may, why avoid regexes? |
| 10:50:00 | <merijn> | In all other cases it's generally *easier* and more maintainable to use a parser library |
| 10:50:19 | <merijn> | fp1: The main reason people use regexes in other languages is that "writing a proper parser sucks in most languages" |
| 10:50:47 | <jackdk> | The first parameter, `regex`, is used by marker types defined by each regex implementation package (like `regex-posix`, `regex-tdfa`, etc). This disambiguates the instances from each package by giving them a "namespace". The second parameter, `source`, is the name of the source type, which is usually a type like `String` or `Text`. The third parameter, `target`, is the type it's going to use to give you a result, of which there are many. |
| 10:50:47 | <merijn> | fp1: Haskell's parser libraries are MUCH easier and nicer to use, meaning that just using those is generally simpler than using regexes |
| 10:51:00 | <sm> | fp1 you will probably find a different regex lib like https://hackage.haskell.org/package/regex easier |
| 10:51:28 | <jackdk> | I wonder how much of that folklore is due to `regex-base` etc being comparatively wild in its design for something so many newbies want to use? |
| 10:51:40 | <sm> | 90%, I think |
| 10:52:00 | <merijn> | jackdk: Which folklore? |
| 10:52:16 | × | Yumemi_ quits (~Yumemi@chamoin.net) (Quit: .) |
| 10:52:22 | <sm> | "regex bad, always write a parser" |
| 10:52:32 | <merijn> | I'm not even talking about the PITA that regex-base is, just the fact that regular expressions themselves are stupidly unmaintainable |
| 10:52:42 | × | turlando quits (~turlando@user/turlando) () |
| 10:52:50 | <merijn> | Hard to document, impossible to format nicely, terrible error reporting |
| 10:52:55 | <sm> | will have to disagree; sometimes they are the most maintainable |
| 10:53:07 | <jackdk> | merijn: the one you just said, "don't bother with regex libraries in Haskell". While parser libraries are excellent, the fact that it's *yet another* "don't do it this way, do it this better haskelly way" on a newbie's road to productivity is regrettable. |
| 10:53:18 | → | turlando joins (~turlando@user/turlando) |
| 10:53:33 | <merijn> | jackdk: *shrug* |
| 10:53:57 | <mari-estel> | *shrug* |
| 10:54:14 | <fp1> | Felt like the right choice for an advent of code problem. Also been going through this 48h Scheme tutorial for a while, but it's been very hard for me to get my head around Megaparsec for that, so I wanted to try out the not parsing parts of Haskell for a change |
| 10:54:18 | <sm> | jackdk++ |
| 10:54:35 | <merijn> | jackdk: On the one hand yes, on the other hand learning things that will serve you for life is also good :) |
| 10:54:43 | <merijn> | fp1: I figured it'd be AoC :) |
| 10:54:53 | <jackdk> | At least we can lay out learning paths for newbies that visit parsers before they trip over regex-base. Because yeah, composable parsers are pretty excellent |
| 10:55:00 | <merijn> | fp1: FWIW, I have a repo with (old, I didn't get around to this year yet) AoC examples using megaparsec |
| 10:55:20 | <merijn> | fp1: https://github.com/merijn/AdventOfCode/tree/master |
| 10:55:33 | → | Yumemi joins (~Yumemi@chamoin.net) |
| 10:55:58 | <merijn> | fp1: I spent extra effort trying to have them all as "correct" (as in handle all potential errors, no unsafe stuff, etc.) as possible and as clean for beginners as I could |
| 10:56:16 | <fp1> | What does "unsafe" mean in the Haskell context? |
| 10:56:17 | <merijn> | fp1: So maybe you'll find some useful stuff there |
| 10:56:25 | <fp1> | Thanks, I'll take a look |
| 10:56:29 | <merijn> | fp1: as in no partial (potentially) crashing functions |
| 10:56:43 | <jackdk> | Avoiding functions like `head :: [a] -> a` whose type makes an impossible promise and can crash at runtime |
| 10:56:43 | <fp1> | would =tail []= be an example? |
| 10:56:45 | <jackdk> | ... yeah that one |
| 10:56:48 | <merijn> | fp1: For example, yes |
| 10:57:37 | <jackdk> | merijn: OTOH, parser combinators can lead devs to write backtracking-heavy parsers that get very confused and provide very confusing error messages. These days, I tend to use them to build lexers and build a recursive descent parser for the grammar or whatever. `*shrug*` |
| 10:58:06 | <merijn> | jackdk: Sure, but the kinda stuff you'd write regexes for is simple enough to write with parser combinators :) |
| 10:58:20 | <jackdk> | Oh yeah they're absolutely great for it don't get me wrong `:-)` |
| 10:58:44 | <jackdk> | And you don't get stuff like `Mail::RFC822::Address` `;-)` |
| 10:59:43 | <mari-estel> | i get refgex are good for newcomers, but hey libaries grow with volunteers |
| 11:00:32 | → | turlando_ joins (~turlando@user/turlando) |
| 11:00:43 | <fp1> | Would it be ok if I shared my solution to the problem I've done to see how to make it better/more idiomatic (despite regexes) |
| 11:00:59 | × | turlando quits (~turlando@user/turlando) (Ping timeout: 265 seconds) |
| 11:01:42 | <sm> | many people coming to Haskell know regular expressions and use them easily in their favourite languages, on the command line, in apps all the time. This should be straightforward in Haskell as well. We shouldn't force them all to learn a new, complex, error prone, much more verbose way. |
| 11:01:50 | <mari-estel> | you can show it in a pull request fp1 |
| 11:03:14 | → | ubert joins (~Thunderbi@2a02:8109:ab8a:5a00:ac82:32e9:69de:2e6f) |
| 11:03:45 | × | CiaoSen quits (~Jura@2a05:5800:210:3f00:ca4b:d6ff:fec1:99da) (Ping timeout: 248 seconds) |
| 11:05:55 | <sm> | so fp1 if you use regexps again, maybe try the regex lib and let us know how that one goes |
| 11:06:17 | <fp1> | As in Text.RE? Sure thing |
| 11:06:45 | <sm> | https://hackage.haskell.org/package/regex, yes |
| 11:07:38 | <fp1> | Text.Regex wasn't bad, jut a bit confusing since a lot of functionality doesn't come from the API, but from the type system. If that were clearer in the docs, it'd have been a better time |
| 11:08:49 | <sm> | yes it's famously confusing and hard to get started with |
| 11:09:18 | <sm> | and often missing important features |
| 11:10:13 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 248 seconds) |
| 11:12:24 | <fp1> | mari-estel: Here's a pull request :) https://github.com/fpdotmonkey/advent-of-code/pull/1 |
| 11:12:53 | <jackdk> | sm: I disagree with "error-prone" for parser combinators, especially when compared to regexen |
| 11:13:39 | <mari-estel> | lost fp1, thought you were about the regex prob |
| 11:13:41 | turlando_ | is now known as turlando |
| 11:13:45 | <sm> | jackdk, haven't you seen people in here struggling with backtracking ? haven't you had trouble yourself ? |
| 11:14:00 | <fp1> | hm? Yeah the regex problem was me |
| 11:14:20 | <mari-estel> | and were you complaining about a lib? |
| 11:14:31 | <sm> | no, that was me :) |
| 11:14:35 | × | pabs3 quits (~pabs3@user/pabs3) (Ping timeout: 260 seconds) |
| 11:14:46 | <mari-estel> | oh, apologies then |
| 11:14:48 | <c_wraith> | sm: that's not a problem with parser combinators, it's a problem with parsec-likes making bad design decisions |
| 11:15:35 | <jackdk> | sm: Not really, no. I have had very little trouble with them as a developer of parsers and occasional frustrations as a user of certain parsers in particular. |
| 11:16:25 | <sm> | c_wraith: one way or another, pointing newcomers at parser combinators is dropping them into a world of trouble |
| 11:16:47 | <sm> | there's a significant learning curve in practice |
| 11:17:23 | <mari-estel> | well, trouble and challenges than, it can get engaging |
| 11:17:29 | <sm> | y'all may have different experiences, this is just my 2c having worked a long time with both |
| 11:19:41 | <fp1> | I'll say from my own experience that any of parser combinators, functional programming, or wacky operators alone make the learning curve steep, but all of them together makes it extra challenging. It hasn't stopped me, though I've taken some extended breaks in this 48h Scheme tutorial. On the other hand, I got the basics of Rust in a weekend. |
| 11:20:37 | <fp1> | 48h Scheme meaning learning haskell by making a Scheme in nominally 48h |
| 11:21:31 | <mari-estel> | xcept you just learn scheme-making haskell |
| 11:22:19 | → | merijn joins (~merijn@77.242.116.146) |
| 11:23:26 | <sm> | to be clear, the regex-base ecosystem is perhaps a worse world of trouble. I wouldn't point a newcomer at that either |
| 11:26:55 | <jackdk> | My default recommendation for newbies is to write a text-mode game like a dungeon crawler. The parsers I suggest, at least initially, are things like pattern-matching the result of `unwords` |
| 11:26:58 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
| 11:27:48 | <jackdk> | correction, the result of `words` |
| 11:30:18 | → | SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky) |
| 11:30:28 | <mari-estel> | yea but text-based game developing is feels frustrating to most |
| 11:32:37 | → | pabs3 joins (~pabs3@user/pabs3) |
| 11:33:54 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
| 11:34:20 | <jackdk> | I understand that it's not the coolest thing going around but it does scale much more smoothly from repl to "something running" to fairly some fairly complex gameplay. And these days you can emit emoji (if you must) and coloured text to spice things up a bit. |
| 11:34:24 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 11:34:31 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 11:34:32 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 244 seconds) |
| 11:34:37 | <haskellbridge> | <sm> +1 |
| 11:34:44 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 11:38:12 | <haskellbridge> | <sm> rogue likes have more action: https://allureofthestars.com/play (but are a much tougher project) |
| 11:38:23 | → | merijn joins (~merijn@77.242.116.146) |
| 11:41:29 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 11:42:30 | <mauke> | perl -051nE 'next if /don'\''t\(\)\z/ .. /do\(\)\z/; $sum += $1 * $2 if /mul\( (\d+) , (\d+) \) \z/xa; END { say $sum }' input |
| 11:42:36 | → | califax joins (~califax@user/califx) |
| 11:45:23 | × | euleritian quits (~euleritia@dynamic-176-003-040-158.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 11:45:41 | → | euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
| 11:47:33 | <Square> | I'm playing around with ReadP. When parsing large texts, that might contain non interesting substrings wo a pattern, I seem to end up with many possibilites. Is ReadP too basic to tackle this situation or am I just not using the functions correctly? |
| 11:48:41 | <jackdk> | sm: once you have a handle on IO and line-based IO, then you can call into a curses library or move to a gui or whatever yeah |
| 11:50:42 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 11:50:50 | → | califax_ joins (~califax@user/califx) |
| 11:51:00 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 11:52:02 | califax_ | is now known as califax |
| 11:53:46 | × | sprotte24 quits (~sprotte24@p200300d16f4231005949a0b38fd8c80a.dip0.t-ipconnect.de) (Quit: Leaving) |
| 12:00:09 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 12:01:35 | → | fp2 joins (~Thunderbi@2001:708:150:10::8f7c) |
| 12:02:16 | × | fp1 quits (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 272 seconds) |
| 12:02:30 | → | caconym joins (~caconym@user/caconym) |
| 12:03:40 | fp2 | is now known as fp1 |
| 12:04:04 | <fp1> | Hey if anyone were willing to read my advent of code solution and tell me how I could make it better, I'd really appreciate it :) https://github.com/fpdotmonkey/advent-of-code/pull/1/files |
| 12:05:00 | → | pavonia joins (~user@user/siracusa) |
| 12:06:33 | → | weary-traveler joins (~user@user/user363627) |
| 12:07:56 | × | mari-estel quits (~mari-este@user/mari-estel) (Quit: overflow) |
| 12:09:42 | <haskellbridge> | <sm> ha ha well you seem to have survived regex-* alright, I guess your need is simple and you still probably had to read a bit |
| 12:11:53 | <haskellbridge> | <sm> looks good! If you wanted to check for the right number of args you could use "case args of ..." |
| 12:13:39 | <haskellbridge> | <sm> if you run hlint on it, it may suggest some micro cleanups |
| 12:14:58 | <haskellbridge> | <sm> "\str -> str" could be dropped, I'm thinking |
| 12:20:27 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 276 seconds) |
| 12:20:57 | <hellwolf> | `(=~ "mul\\\\(([0-9]+),([0-9]+)\\\\)")` |
| 12:21:09 | <hellwolf> | try https://pointfree.io/ sometimes |
| 12:21:25 | → | __monty__ joins (~toonn@user/toonn) |
| 12:25:23 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 12:25:31 | → | merijn joins (~merijn@77.242.116.146) |
| 12:29:07 | × | rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
| 12:29:39 | → | rvalue joins (~rvalue@user/rvalue) |
| 12:29:57 | × | notzmv quits (~umar@user/notzmv) (Ping timeout: 252 seconds) |
| 12:30:11 | <fp1> | hellwolf: that's the first thing I tried, but got compiler errors out of it, "Parse error on input '::'" |
| 12:31:11 | <fp1> | Ah but I guess the type system will figure out what type I'm expecting on it's own? Though it's a bit less specific |
| 12:31:29 | <hellwolf> | question re sop-core: I have a simplified NP where there is no "type function" as the first argument to work with: |
| 12:31:29 | <hellwolf> | data NP :: (k -> Type) -> [k] -> Type |
| 12:31:29 | <hellwolf> | vs |
| 12:31:29 | <hellwolf> | data NP :: [Type] -> Type where |
| 12:31:29 | <hellwolf> | If I would want to do a conversion between Data.SimppleNP.NP with (Data.Sop.NP Identity), should I bring the unsafeCoerce bazooka, or I should be more timid and respectful here? |
| 12:32:33 | <fp1> | Hmm no without the type specification, the compiler says the type of (~= REGEX) is abiguous |
| 12:32:44 | × | rvalue quits (~rvalue@user/rvalue) (Remote host closed the connection) |
| 12:32:58 | <hellwolf> | OH, I didn't mean to omit the type |
| 12:33:11 | <hellwolf> | probably was just deleted when copy pasting to the pointfree.org |
| 12:33:12 | → | rvalue joins (~rvalue@user/rvalue) |
| 12:33:14 | → | iqubic joins (~sophia@2601:602:9201:9440:6112:c36d:f068:3b4f) |
| 12:33:47 | <fp1> | Right but (=~ REGEX :: [[String]]) is failing to parse |
| 12:33:55 | × | euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds) |
| 12:36:38 | <hellwolf> | probably a bit trial and error to put that in the right place. a type application may also making things easier to work with. I am not familiar with those functions, so I can't suggest anything from top of my head. |
| 12:39:29 | → | euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
| 12:42:35 | <enikar> | why \\\\ and not \\? |
| 12:44:13 | → | CiaoSen joins (~Jura@2a05:5800:210:3f00:ca4b:d6ff:fec1:99da) |
| 12:53:06 | <fp1> | This worked: ((=~ "mul\\(([0-9]+),([0-9]+)\\)") :: String -> [[String]]) |
| 12:56:45 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 13:04:31 | × | fp1 quits (~Thunderbi@2001:708:150:10::8f7c) (Quit: fp1) |
| 13:10:53 | → | hseg joins (~gesh@46.120.21.36) |
| 13:13:38 | <hseg> | Hi. I want to update cabal's index, but only if it's been a while (I'm packaging a couple tools that build with cabal, and don't want the update step to be repeated between all of them -- it slows things down unnecessarily) |
| 13:14:26 | <hseg> | Is there some way of either querying the last index check time, or to tell cabal update "actually, short-circuit if you're not out of date"? |
| 13:16:36 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 252 seconds) |
| 13:16:59 | <merijn> | hseg: It should alredy only check if it's been longer than X time, afaik |
| 13:17:00 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 13:18:21 | <hseg> | hrm, so it does. idk why it seemed to take so much longer in previous runs |
| 13:18:47 | <hseg> | but indeed, it short-circuits in <0.6s here, which is amply enough |
| 13:26:06 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 276 seconds) |
| 13:30:01 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 13:32:05 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 248 seconds) |
| 13:38:10 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 252 seconds) |
| 13:38:38 | × | hellwolf quits (~user@0cc0-3799-5822-4beb-0f00-4d40-07d0-2001.sta.estpak.ee) (Quit: rcirc on GNU Emacs 29.4) |
| 13:38:54 | → | hellwolf joins (~user@47cb-a980-d8a8-4fad-0f00-4d40-07d0-2001.sta.estpak.ee) |
| 13:42:59 | × | acidjnk_new3 quits (~acidjnk@p200300d6e7283f756566d9820eaa5300.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 13:46:39 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 13:48:10 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 13:49:34 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 13:49:35 | → | acidjnk_new3 joins (~acidjnk@p200300d6e7283f756566d9820eaa5300.dip0.t-ipconnect.de) |
| 13:52:33 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 13:54:33 | → | weary-traveler joins (~user@user/user363627) |
| 13:58:45 | × | Square quits (~Square@user/square) (Ping timeout: 252 seconds) |
| 14:00:57 | <hellwolf> | (GHC.List.List a) is magically the same as its pun [a]? |
| 14:01:17 | <hellwolf> | How does it work? Per https://hackage.haskell.org/package/ghc-prim-0.11.0/docs/src/GHC.Types.html#List it is a "data" constructor. |
| 14:02:44 | <hseg> | How does what work? How does GHC recognize that the sequence of characters [a] in your code is the same thing as GHC.List.List a ? |
| 14:02:55 | <hseg> | that's hardwired, iirc |
| 14:03:44 | <hellwolf> | right, lovely |
| 14:08:49 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 260 seconds) |
| 14:08:56 | <hseg> | it seems to be defined here https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/Builtin/Types.hs |
| 14:10:17 | <hseg> | but I'm not certain |
| 14:21:21 | × | CiaoSen quits (~Jura@2a05:5800:210:3f00:ca4b:d6ff:fec1:99da) (Ping timeout: 276 seconds) |
| 14:22:50 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 14:24:04 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
| 14:29:12 | × | AlexZenon quits (~alzenon@5.139.233.9) (Ping timeout: 252 seconds) |
| 14:31:25 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 14:31:49 | × | acidjnk_new3 quits (~acidjnk@p200300d6e7283f756566d9820eaa5300.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 14:32:08 | × | noctux quits (~noctux@user/noctux) (Ping timeout: 252 seconds) |
| 14:33:08 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 255 seconds) |
| 14:33:46 | → | AlexZenon joins (~alzenon@5.139.233.9) |
| 14:34:36 | → | noctux joins (~noctux@user/noctux) |
| 14:35:38 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 14:44:36 | × | euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 14:45:41 | → | euleritian joins (~euleritia@dynamic-176-006-145-188.176.6.pool.telefonica.de) |
| 14:50:05 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 14:52:17 | <hellwolf> | if I type this into ghci, I can peak into how to write the TH code: |
| 14:52:26 | <hellwolf> | λ [d| type A a = a |] |
| 14:52:26 | <hellwolf> | [TySynD A_4 [PlainTV a_5 BndrReq] (VarT a_5)] |
| 14:52:56 | <hellwolf> | but I don't know how to reproduce that in an actual code. Because I don't know which one actually has a Show instance |
| 14:52:58 | <hellwolf> | I am pretty confused. |
| 14:53:52 | <hellwolf> | λ show $ ([d| type A a = a |] :: Q [Dec]) |
| 14:53:52 | <hellwolf> | <interactive>:22:1: error: [GHC-39999] |
| 14:53:52 | <hellwolf> | • No instance for ‘Show (Q [Dec])’ arising from a use of ‘show’ |
| 14:54:19 | <hellwolf> | so how does GHCi actually show anything, is that some special handling for top level template splice |
| 14:58:31 | <hellwolf> | Another example, which is what I wanted, |
| 14:58:32 | <hellwolf> | λ [d|type family TupleNtoNP t where TupleNtoNP () = NP '[]; TupleNtoNP (Solo x) = NP '[x]; TupleNtoNP (x1, x2) = NP '[x1, x2]; |] |
| 14:58:32 | <hellwolf> | [ClosedTypeFamilyD (TypeFamilyHead TupleNtoNP_0 [PlainTV t_1 BndrReq] NoSig Nothing) [TySynEqn Nothing (AppT (ConT TupleNtoNP_0) (TupleT 0)) (AppT (ConT Ghci3.NP) PromotedNilT),TySynEqn Nothing (AppT (ConT TupleNtoNP_0) (AppT (ConT Ghci3.Solo) (VarT x_2))) (AppT (ConT Ghci3.NP) (AppT (AppT PromotedConsT (VarT x_2)) PromotedNilT)),TySynEqn Nothing (AppT (ConT TupleNtoNP_0) (AppT (AppT (TupleT 2) (VarT x1_3)) (VarT x2 |
| 14:58:32 | <hellwolf> | _4))) (AppT (ConT Ghci3.NP) (AppT (AppT PromotedConsT (VarT x1_3)) (AppT (AppT PromotedConsT (VarT x2_4)) PromotedNilT)))]] |
| 14:59:05 | <hellwolf> | (sorry, should have used pastebin) |
| 15:00:37 | → | fp1 joins (~Thunderbi@2001:708:20:1406::1370) |
| 15:01:27 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 246 seconds) |
| 15:02:23 | <hellwolf> | better formatted: https://paste.tomsmeding.com/woECTpJJ <-- I'd like to obtain such sample, not from ghci, but from an actual code that I run. |
| 15:04:13 | → | albet70 joins (~xxx@2400:8905::f03c:92ff:fe60:98d8) |
| 15:05:24 | → | acidjnk_new3 joins (~acidjnk@p200300d6e7283f756566d9820eaa5300.dip0.t-ipconnect.de) |
| 15:05:25 | × | fp1 quits (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 248 seconds) |
| 15:05:55 | <Leary> | hellwolf: ghci is interpreting the splice at `IO [Dec]`, which has special handling to run the IO and print the result. You can do the same manually. |
| 15:06:04 | <Leary> | Err, the quote. |
| 15:06:20 | <geekosaur> | hellwolf: there are ppr* functions and Outputable instances, in place of show/Show |
| 15:06:35 | <hellwolf> | λ [d|type family TupleNtoNP t where TupleNtoNP () = NP '[]; TupleNtoNP (Solo x) = NP '[x]; TupleNtoNP (x1, x2) = NP '[x1, x2]; |] :: IO [TH.Dec] |
| 15:06:36 | <hellwolf> | I see, yes |
| 15:06:49 | <geekosaur> | but yes, you are in that case seeing ghci's special behavior |
| 15:07:21 | <hellwolf> | wait, is that IO behavior specific to GHCi |
| 15:07:48 | <geekosaur> | automatically saying "this type is IO something, don't use `print`, just run it" |
| 15:07:51 | <geekosaur> | that is ghci |
| 15:08:53 | <hellwolf> | ``` |
| 15:08:53 | <hellwolf> | 38 main = do |
| 15:08:53 | <hellwolf> | 39 a :: IO [TH.Dec] |
| 15:08:53 | <hellwolf> | ``` |
| 15:08:56 | <geekosaur> | https://downloads.haskell.org/ghc/latest/docs/users_guide/ghci.html#i-o-actions-at-the-prompt in fact it's not just `IO something`, it's `MonadIO m => m something` |
| 15:08:58 | <hellwolf> | silence... unsetteling |
| 15:09:28 | → | FaRiD joins (~bizimmeka@213.172.85.35) |
| 15:09:33 | <haskellbridge> | <hellwolf> did it trigger a big red scary button? |
| 15:09:58 | <geekosaur> | no, it was just discarded like the value of `main` always is |
| 15:10:13 | <geekosaur> | (there's an open proposal about changing that) |
| 15:10:36 | <hellwolf> | okay, so it does seem to suggest, i can only use GHCi to learn how to write TH by learning baby steps. |
| 15:11:12 | → | notzmv joins (~umar@user/notzmv) |
| 15:11:55 | <hellwolf> | 12-03 17:09 <geekosaur> no, it was just discarded like the value of `main` always is |
| 15:11:55 | <hellwolf> | Interesting. I should find out the thread. I had a bit qualm about QualifiedDo and discarding bind |
| 15:13:00 | <Leary> | hellwolf: Try `a >>= print`? |
| 15:13:34 | <geekosaur> | https://github.com/ghc-proposals/ghc-proposals/pull/631 |
| 15:13:55 | × | alp quits (~alp@2001:861:8ca0:4940:fcfb:c018:c718:ffe) (Remote host closed the connection) |
| 15:14:12 | → | alp joins (~alp@2001:861:8ca0:4940:a3de:4219:d679:c970) |
| 15:15:00 | <geekosaur> | also it wouldn't apply to QualifiedDo unless it involved `main` |
| 15:15:24 | <geekosaur> | it's not `do` special behavior, it is `main` (well, RTS) special behavior |
| 15:15:36 | × | alp quits (~alp@2001:861:8ca0:4940:a3de:4219:d679:c970) (Remote host closed the connection) |
| 15:15:53 | → | alp joins (~alp@2001:861:8ca0:4940:102f:6626:c2aa:b43a) |
| 15:16:40 | <hellwolf> | 12-03 17:13 <Leary> hellwolf: Try `a >>= print`? |
| 15:16:40 | <hellwolf> | you are right! silly me. "print =<< (a :: IO [TH.Dec]) " |
| 15:17:17 | × | alp quits (~alp@2001:861:8ca0:4940:102f:6626:c2aa:b43a) (Remote host closed the connection) |
| 15:17:39 | → | alp joins (~alp@2001:861:8ca0:4940:d395:fb6:9107:66ef) |
| 15:17:46 | ← | FaRiD parts (~bizimmeka@213.172.85.35) () |
| 15:19:16 | → | alp_ joins (~alp@2001:861:8ca0:4940:da31:b282:93c1:f8a9) |
| 15:20:39 | × | alp_ quits (~alp@2001:861:8ca0:4940:da31:b282:93c1:f8a9) (Remote host closed the connection) |
| 15:20:56 | → | alp_ joins (~alp@2001:861:8ca0:4940:6432:392d:15cf:1ae9) |
| 15:21:59 | × | alp quits (~alp@2001:861:8ca0:4940:d395:fb6:9107:66ef) (Ping timeout: 252 seconds) |
| 15:22:20 | × | alp_ quits (~alp@2001:861:8ca0:4940:6432:392d:15cf:1ae9) (Remote host closed the connection) |
| 15:22:37 | → | alp_ joins (~alp@2001:861:8ca0:4940:33ee:a03b:2d16:8048) |
| 15:24:20 | → | alp__ joins (~alp@2001:861:8ca0:4940:b367:7b6b:9f42:551b) |
| 15:26:55 | → | alp joins (~alp@2001:861:8ca0:4940:1064:eeaa:9af5:ad07) |
| 15:27:29 | × | alp_ quits (~alp@2001:861:8ca0:4940:33ee:a03b:2d16:8048) (Ping timeout: 252 seconds) |
| 15:27:34 | → | MyNetAz joins (~MyNetAz@user/MyNetAz) |
| 15:28:16 | × | alp quits (~alp@2001:861:8ca0:4940:1064:eeaa:9af5:ad07) (Remote host closed the connection) |
| 15:28:33 | → | alp joins (~alp@2001:861:8ca0:4940:d87d:31e5:885:1386) |
| 15:29:19 | × | alp__ quits (~alp@2001:861:8ca0:4940:b367:7b6b:9f42:551b) (Ping timeout: 252 seconds) |
| 15:29:31 | <merijn> | hellwolf: ghci is kinda special in that if it receives an "IO a" it will run the IO and print the 'a', rather than printing "IO a" |
| 15:29:59 | × | alp quits (~alp@2001:861:8ca0:4940:d87d:31e5:885:1386) (Remote host closed the connection) |
| 15:30:03 | <merijn> | ah, I'm behind someone already said :p |
| 15:30:17 | → | alp joins (~alp@2001:861:8ca0:4940:134b:1d9e:5a68:3db3) |
| 15:30:18 | <hellwolf> | yea, on hindsight, it's obvious. Just not something I always think of. |
| 15:31:40 | × | alp quits (~alp@2001:861:8ca0:4940:134b:1d9e:5a68:3db3) (Remote host closed the connection) |
| 15:31:59 | → | alp joins (~alp@2001:861:8ca0:4940:b7a9:294:17a8:7585) |
| 15:33:41 | → | alp_ joins (~alp@2001:861:8ca0:4940:7536:fbcb:1039:2d26) |
| 15:35:04 | × | alp_ quits (~alp@2001:861:8ca0:4940:7536:fbcb:1039:2d26) (Remote host closed the connection) |
| 15:35:22 | → | alp_ joins (~alp@2001:861:8ca0:4940:affa:a735:fc35:23b6) |
| 15:36:11 | <albet70> | what's minikanren? |
| 15:37:06 | → | alp__ joins (~alp@2001:861:8ca0:4940:a5e1:e73d:5bd5:b3d4) |
| 15:37:20 | × | alp quits (~alp@2001:861:8ca0:4940:b7a9:294:17a8:7585) (Ping timeout: 264 seconds) |
| 15:37:31 | <hseg> | it's a relational programming language designed for easy embedding |
| 15:38:31 | <hseg> | so you declare relations between inputs/outputs, then ask mkanren to find solutions to a given relation |
| 15:39:17 | <hseg> | (think type holes, but for functions in general) |
| 15:40:12 | <albet70> | is there scene for that? |
| 15:40:55 | × | alp_ quits (~alp@2001:861:8ca0:4940:affa:a735:fc35:23b6) (Ping timeout: 264 seconds) |
| 15:41:07 | <haskellbridge> | <matti palli> hellwolf: QualifiedDo is only about how the syntax is desugared |
| 15:41:19 | <geekosaur> | ^ |
| 15:42:06 | <hellwolf> | gocha. I read the ghc-pr0posal thread and realized what it was about |
| 15:42:07 | × | alp__ quits (~alp@2001:861:8ca0:4940:a5e1:e73d:5bd5:b3d4) (Ping timeout: 264 seconds) |
| 15:45:32 | hellwolf | whines about such a herculean effort to write any TH; or any Haskell fwiw... |
| 15:45:59 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 15:46:42 | <albet70> | Map is about relationship? |
| 15:47:26 | <albet70> | what can minikanren do? Map can? |
| 15:49:29 | × | briandaed quits (~root@user/briandaed) (Quit: Lost terminal) |
| 15:51:46 | <hseg> | albet70: this isn't just a key-value store |
| 15:52:47 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 255 seconds) |
| 15:53:06 | <hseg> | this is about proof search -- you define your terms and have mkanren look for solutions that satisfy them |
| 15:54:11 | <albet70> | sounds like filter |
| 15:54:51 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 265 seconds) |
| 15:55:11 | <hseg> | no, absolutely not |
| 15:55:25 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 15:55:47 | → | Pixi` joins (~Pixi@user/pixi) |
| 15:57:49 | → | sprotte24 joins (~sprotte24@p200300d16f4231002957a791852bdd2a.dip0.t-ipconnect.de) |
| 15:58:19 | <hseg> | I can't find a syntax reference for a canonical haskell implementation rn |
| 15:58:45 | × | Pixi quits (~Pixi@user/pixi) (Ping timeout: 248 seconds) |
| 15:58:55 | <hseg> | nor do I want to bother with explaining mkanren's syntax (it looks like a bit too much context to unpack) |
| 15:59:27 | <hseg> | but have a look at datalog to get an idea of this style of programming |
| 15:59:33 | × | mantraofpie quits (~mantraofp@user/mantraofpie) (Quit: ZNC 1.9.1 - https://znc.in) |
| 15:59:54 | → | mantraofpie joins (~mantraofp@user/mantraofpie) |
| 16:00:18 | <hseg> | eg https://souffle-lang.github.io/examples |
| 16:01:27 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 16:02:31 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:02:53 | × | billchenchina quits (~billchenc@103.152.35.21) (Remote host closed the connection) |
| 16:02:55 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 16:05:18 | → | merijn joins (~merijn@77.242.116.146) |
| 16:08:31 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en) |
| 16:09:47 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 16:10:58 | × | euleritian quits (~euleritia@dynamic-176-006-145-188.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 16:11:25 | → | euleritian joins (~euleritia@77.22.252.159) |
| 16:12:15 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 265 seconds) |
| 16:12:38 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 16:15:59 | × | euleritian quits (~euleritia@77.22.252.159) (Ping timeout: 260 seconds) |
| 16:16:07 | → | euleritian joins (~euleritia@dynamic-176-006-145-188.176.6.pool.telefonica.de) |
| 16:23:23 | × | SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving) |
| 16:27:38 | × | ethantwardy quits (user@user/ethantwardy) (Quit: WeeChat 4.3.2) |
| 16:29:13 | → | ethantwardy joins (user@user/ethantwardy) |
| 16:30:34 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 252 seconds) |
| 16:33:12 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 16:35:16 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 252 seconds) |
| 16:36:26 | × | euleritian quits (~euleritia@dynamic-176-006-145-188.176.6.pool.telefonica.de) (Ping timeout: 255 seconds) |
| 16:37:27 | → | euleritian joins (~euleritia@dynamic-176-006-145-188.176.6.pool.telefonica.de) |
| 16:45:52 | → | vpan joins (~vpan@212.117.1.172) |
| 16:51:10 | × | euleritian quits (~euleritia@dynamic-176-006-145-188.176.6.pool.telefonica.de) (Ping timeout: 260 seconds) |
| 16:51:50 | → | euleritian joins (~euleritia@dynamic-176-006-142-139.176.6.pool.telefonica.de) |
| 17:05:08 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 17:10:23 | → | comerijn joins (~merijn@77.242.116.146) |
| 17:12:54 | → | ft joins (~ft@p508db9c7.dip0.t-ipconnect.de) |
| 17:13:06 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
| 17:14:12 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 17:15:29 | × | comerijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds) |
| 17:20:40 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 17:22:40 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 17:34:44 | × | vpan quits (~vpan@212.117.1.172) (Quit: Leaving.) |
| 17:35:52 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 17:37:50 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 260 seconds) |
| 17:38:15 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 17:44:33 | × | tdammers quits (~tdammers@82-150-212-87.ftth.glasoperator.nl) (Ping timeout: 246 seconds) |
| 17:45:01 | → | tdammers joins (~tdammers@82-150-212-87.ftth.glasoperator.nl) |
| 17:46:27 | → | ell0 joins (~ellie@user/ellie) |
| 17:47:02 | × | ell quits (~ellie@user/ellie) (Read error: Connection reset by peer) |
| 17:47:02 | ell0 | is now known as ell |
| 17:48:55 | × | flukiluke quits (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Ping timeout: 260 seconds) |
| 17:49:14 | → | flukiluke joins (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) |
| 17:55:42 | Pixi` | is now known as Pixi |
| 17:57:49 | × | ell quits (~ellie@user/ellie) (Quit: Ping timeout (120 seconds)) |
| 17:58:04 | × | mjrosenb quits (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) (Ping timeout: 260 seconds) |
| 17:58:07 | → | ell joins (~ellie@user/ellie) |
| 17:58:24 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 17:59:39 | → | caconym joins (~caconym@user/caconym) |
| 18:04:07 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 18:04:46 | → | mjrosenb joins (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) |
| 18:07:18 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 18:07:39 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds) |
| 18:08:38 | Lord_of_Life_ | is now known as Lord_of_Life |
| 18:13:10 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 252 seconds) |
| 18:18:32 | × | leif quits (~leif@210.54.33.112) (Quit: leif) |
| 18:18:46 | → | leif joins (~leif@210.54.33.112) |
| 18:20:40 | × | leif quits (~leif@210.54.33.112) (Client Quit) |
| 18:20:54 | → | leif joins (~leif@210.54.33.112) |
| 18:26:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:27:26 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:29:23 | → | alp joins (~alp@2001:861:8ca0:4940:af16:4820:16f3:df77) |
| 18:31:46 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 18:40:38 | × | spider1 quits (spider@tilde.cafe) (Ping timeout: 255 seconds) |
| 18:42:19 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:46:15 | × | ethantwardy quits (user@user/ethantwardy) (Quit: WeeChat 4.3.2) |
| 18:49:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 18:50:59 | × | leif quits (~leif@210.54.33.112) (Quit: leif) |
| 18:51:13 | → | leif joins (~leif@210.54.33.112) |
| 18:51:24 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 246 seconds) |
| 18:53:48 | → | ell5 joins (~ellie@user/ellie) |
| 18:54:31 | × | ell quits (~ellie@user/ellie) (Quit: Ping timeout (120 seconds)) |
| 18:54:32 | ell5 | is now known as ell |
| 18:55:15 | × | leif quits (~leif@210.54.33.112) (Client Quit) |
| 18:55:29 | → | leif joins (~leif@210.54.33.112) |
| 18:58:03 | → | briandaed joins (~root@user/briandaed) |
| 19:00:22 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:00:57 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 19:06:44 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 19:08:39 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 19:11:14 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:11:31 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 19:14:42 | × | briandaed quits (~root@user/briandaed) (Quit: Lost terminal) |
| 19:15:06 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 19:16:44 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 19:20:03 | → | briandaed joins (~root@user/briandaed) |
| 19:25:24 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds) |
| 19:26:15 | × | notzmv quits (~umar@user/notzmv) (Ping timeout: 244 seconds) |
| 19:27:03 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:31:39 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 19:32:48 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 19:39:38 | → | OftenFaded joins (~OftenFade@user/tisktisk) |
| 19:42:47 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:47:44 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 19:48:36 | × | weary-traveler quits (~user@user/user363627) (Remote host closed the connection) |
| 19:54:14 | × | briandaed quits (~root@user/briandaed) (Remote host closed the connection) |
| 19:57:54 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 272 seconds) |
| 19:58:32 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:00:59 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 20:01:38 | → | caconym joins (~caconym@user/caconym) |
| 20:03:01 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 20:03:13 | × | hseg quits (~gesh@46.120.21.36) (Ping timeout: 252 seconds) |
| 20:05:44 | → | Pixi` joins (~Pixi@user/pixi) |
| 20:08:36 | × | Pixi quits (~Pixi@user/pixi) (Ping timeout: 265 seconds) |
| 20:09:10 | → | guy joins (~guy@sgyl-37-b2-v4wan-168528-cust2421.vm6.cable.virginm.net) |
| 20:09:15 | <guy> | hi |
| 20:09:43 | <guy> | im looking for a pair programmer for an ongoing project, anyone interested? |
| 20:10:32 | → | Pixi__ joins (~Pixi@user/pixi) |
| 20:12:14 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:13:21 | <guy> | all the code is written, it just needs to be implemented |
| 20:13:35 | × | zenmov quits (~zenmov@user/zenmov) (Ping timeout: 260 seconds) |
| 20:13:41 | <guy> | as in, there arent any implementations i cant write! or dont know to. |
| 20:13:54 | <guy> | just like, a lot of organisation i cant get my head round |
| 20:14:10 | <guy> | kind of like an implementation roadmap, im totally daunted |
| 20:14:13 | × | Pixi` quits (~Pixi@user/pixi) (Ping timeout: 252 seconds) |
| 20:15:17 | <guy> | i was hoping if there was someone that would be able to put in the time for me to explain what it does, that they would be able to help make sure im applied most effeciently at writing the subsequent parts at any point, because they can see they project overview while im in the nuts and bolts |
| 20:15:42 | <monochrom> | I wish I could use that definition of "written" when I was writing my thesis. "I have written it! I just haven't typed it out yet." Oh well, I guess Mozart used that definition too, at least according to movies. |
| 20:16:27 | <guy> | i mean, im not going to be like, searching for some unknown concept |
| 20:16:42 | → | zenmov joins (~zenmov@user/zenmov) |
| 20:17:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:17:09 | → | weary-traveler joins (~user@user/user363627) |
| 20:17:20 | <guy> | this is like, acvtually the third time im going to implement it |
| 20:17:58 | <guy> | im just really dyslexic, so even though i know i can write all the parts, trying to do the whole thing is too sprawling for my low ram brain |
| 20:18:39 | <guy> | its a really powerful learning algorithm, with some really cool abstractions! |
| 20:19:31 | <guy> | i think what im missing is like a huge exploded diagram |
| 20:19:51 | <guy> | i figure thats what people are good with, kind of loosely tied together |
| 20:20:43 | <JuanDaugherty> | guck mal |
| 20:21:13 | <guy> | exactly! |
| 20:21:45 | → | homo joins (~homo@user/homo) |
| 20:23:13 | <guy> | so, anyone interested? |
| 20:24:19 | <JuanDaugherty> | why would they be? |
| 20:24:22 | <int-e> | monochrom: Remember Fermat's infamous margin. :) |
| 20:25:03 | <guy> | JuanDaugherty: well, its a chance to learn some pretty far reaching techniques, and it would really help me |
| 20:25:46 | <JuanDaugherty> | what techniques? |
| 20:25:49 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 20:26:01 | <guy> | well, AGI, and all the abstractions i use to implement it |
| 20:26:15 | <JuanDaugherty> | i had to ask |
| 20:26:32 | <guy> | i chose to answer |
| 20:26:39 | <guy> | anyway... |
| 20:26:53 | <guy> | er, eg. functor schedules |
| 20:27:03 | <JuanDaugherty> | this is a very tolerant and polite channel, except for me so adieu |
| 20:27:12 | ← | JuanDaugherty parts (~juan@user/JuanDaugherty) () |
| 20:27:13 | <int-e> | . o O ( Adjusted Gross Income ) |
| 20:27:25 | <guy> | "functor instances via complete shedules" |
| 20:27:42 | <guy> | Jaun: peace, your style is fine no worries |
| 20:28:00 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:28:12 | <guy> | int-e: Artificial *General* Intelligence |
| 20:28:16 | × | hgolden quits (~hgolden@2603:8000:9d00:3ed1:6c70:1ac0:d127:74dd) (Remote host closed the connection) |
| 20:28:25 | <mauke> | ok, crackpot meter at high |
| 20:28:36 | → | hgolden joins (~hgolden@syn-172-251-233-141.res.spectrum.com) |
| 20:28:46 | <guy> | woah, i wasnt expecting a burden of proof challenge right off the bat |
| 20:28:50 | <guy> | can we just defer that? |
| 20:29:06 | <int-e> | mauke: well it's all written but not yet implemented |
| 20:29:16 | <guy> | thats where you come in |
| 20:29:16 | <int-e> | the vapor is on the wall or something |
| 20:29:30 | <mauke> | before I was merely not interested. now I'm positively uninterested |
| 20:29:32 | <guy> | i guess your all up to speed then! |
| 20:29:47 | <guy> | mauke: well, please dont take that out on us! |
| 20:30:00 | × | foul_owl quits (~kerry@185.219.141.161) (Ping timeout: 252 seconds) |
| 20:30:01 | <spew> | the royal us? |
| 20:30:17 | <guy> | im going to stay ontopic, thatks for the replies |
| 20:30:55 | <guy> | its a genuine question. idk if i stumbled into a bored room or something |
| 20:31:14 | <guy> | im just looking for some help organising a really challenging project |
| 20:31:42 | <geekosaur> | this channel's kinda infamous for spinning off in random directions when asked things… |
| 20:31:49 | <guy> | lol |
| 20:31:57 | <guy> | its ok. im kinda used to it |
| 20:32:45 | <guy> | but one thing im not too excited to engage in is trying to interject material across basically just counterproductive commentary |
| 20:32:57 | <guy> | no offense... |
| 20:33:01 | <geekosaur> | (sorry, I try to keep an eye on things but have been busy the past half hour or so) |
| 20:33:07 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 20:33:09 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
| 20:33:36 | <guy> | channel seems busy tho, i guess there is a new wave of academic cohort coming online |
| 20:33:51 | <geekosaur> | more likely advent of code |
| 20:34:11 | <geekosaur> | we always see an uptick of people trying to solve the day's problems |
| 20:34:11 | <guy> | id have expected people to be way more keen to engage in the subject of AGI |
| 20:34:19 | <guy> | i do understand the scepticism tho |
| 20:34:37 | <guy> | i guess sam altmans not exactly the worlds most rock and roll frontman! |
| 20:34:41 | <geekosaur> | oddly, AI has never been a big thing among Haskellers |
| 20:34:51 | <guy> | well, speak for yourself! |
| 20:34:57 | <int-e> | that's just a buzzword though; the phenomenon of code that's been written but not implemented is far more interesting |
| 20:34:58 | <guy> | the grenade project was good |
| 20:35:25 | <guy> | int-e: ok its implemented its just not written |
| 20:35:28 | <geekosaur> | enh. I can design out code in my head and bang it out later decently |
| 20:35:41 | <geekosaur> | wrote several of the utils I use locally that way |
| 20:35:51 | <guy> | im in like some kind of versioning hell |
| 20:35:58 | <int-e> | guy: these two words are usually used as synonyms so what you're saying makes zero sense either way |
| 20:36:11 | <guy> | nono, their noncumutattive |
| 20:36:28 | <guy> | ok, sorry. |
| 20:36:40 | <guy> | i have various implementations, and not a good implementation |
| 20:36:58 | <guy> | hows that? its supposed to convey how no part of it isnt done, but that the whole of it remains not done |
| 20:37:09 | × | gawen_ quits (~gawen@user/gawen) (Quit: cya) |
| 20:37:19 | <guy> | it needs a kind of start to finish redo |
| 20:37:19 | geekosaur | also notes that not everyone is a native English speaker |
| 20:37:32 | <int-e> | you could say that there's a rough design but no implementation |
| 20:37:43 | <int-e> | geekosaur: I'm not a native English speaker :P |
| 20:37:50 | <guy> | its more like a complexity attack |
| 20:37:54 | <guy> | there is a complete design |
| 20:37:59 | <guy> | its just bigger than the heap |
| 20:38:18 | <guy> | its like, buffering out components |
| 20:38:55 | <guy> | i have really solid versions of several parts |
| 20:39:01 | <guy> | and im sure i have all the parts i need |
| 20:39:10 | <guy> | i even had it in several stages of working |
| 20:39:26 | <guy> | but it needs like, a maintainable version of the codebase since its essentially coming out my ears |
| 20:39:43 | <int-e> | . o O ( denial, anger, bargaining, depression, acceptance ) |
| 20:40:13 | <geekosaur> | this would be where I start by writing out the design details, then I can start figuring out how to put them together and whether something needs to be refigured before it'll fit |
| 20:40:29 | <geekosaur> | I mean, I can hold a lot in my head, but eventually I do hit limits |
| 20:42:04 | <guy> | this is the problem |
| 20:42:08 | <guy> | im stuck at that stage |
| 20:42:35 | <guy> | even the most simple attempt to put pen to paper results in reams of notes so extensive they begin to flap around the room and go out the window |
| 20:43:31 | <guy> | if i were able to explain in a kind of ad hoc way, so then someone else could see the structure, maybe they could talk me through it kind of locally, without anyone needing to be able to visualise the whole thing |
| 20:43:48 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:44:19 | → | Pixi` joins (~Pixi@user/pixi) |
| 20:44:21 | → | foul_owl joins (~kerry@185.219.141.161) |
| 20:44:26 | <geekosaur> | you actually have the answer there. explain it to *yourself* that way, sticking to the high level structure |
| 20:44:41 | <geekosaur> | if you can't pull that off, what makes you think you'll be able to do it with someone else? |
| 20:45:07 | <guy> | because of the time limit |
| 20:45:21 | <guy> | to both issue, and receive the conveyances |
| 20:45:27 | → | gawen joins (~gawen@user/gawen) |
| 20:45:58 | <guy> | i think stored in another human mind is a kind of more efficient compression retrieval |
| 20:46:12 | <guy> | like literally, there is some advantage in having someone elses understanding involved |
| 20:46:23 | <guy> | two heads are better than one, so they say, on bill and ted |
| 20:47:35 | × | Pixi__ quits (~Pixi@user/pixi) (Ping timeout: 252 seconds) |
| 20:48:30 | <geekosaur> | (that one predates bill and ted…) |
| 20:48:52 | <guy> | like imagine i can tell you, but it would take a day. i could tell myself, but that would take 2 days, one to say it, one to listen. |
| 20:48:53 | <guy> | and imagine someone else could understand it and explain the relavant part in 10 mins |
| 20:48:59 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 20:49:07 | <guy> | the difference is make or break from this perspective |
| 20:49:40 | <guy> | it might take ages to explain it because im disorganised |
| 20:49:53 | <guy> | but the organised responses could be really kind of on the point |
| 20:50:14 | <guy> | and worth way more to me than my own disorganised explanations, of which i have a near infinite amount |
| 20:52:10 | <guy> | ... |
| 20:52:29 | <guy> | for this to work, people that could help might show an interest and maybe we could have a discussion on a side channel |
| 20:52:32 | <haskellbridge> | <sm> guy: take a walk, and talk about the problem out loud to yourself; you will figure out some small next action or small first step that you can build |
| 20:52:54 | <haskellbridge> | <sm> it really works |
| 20:53:16 | <guy> | it seems like your just talking past the entire part where a pair programmer is useful! |
| 20:53:24 | <guy> | i wouldnt be asking if i could do it on my own |
| 20:53:34 | <guy> | i mean, iv managed to basically do everything already |
| 20:53:36 | <guy> | its taken years |
| 20:53:40 | <guy> | but like, im not useless |
| 20:53:42 | <haskellbridge> | <sm> you're not being inviting to pair program with |
| 20:53:46 | <haskellbridge> | <hellwolf> does "take a hike work" too? |
| 20:53:52 | <guy> | im just aware that there is help that i could recieve if i ask and am doing so |
| 20:54:18 | haskellbridge | hellwolf just asking a out of context grammar question |
| 20:54:27 | <haskellbridge> | <sm> instead of complaining and barraging us with too many small comments, how about describe your current stuckness/problem in one clear sentence |
| 20:54:49 | <guy> | because its not that kind of question |
| 20:55:07 | <guy> | would you like to understand about functor sheduling? |
| 20:55:12 | <haskellbridge> | <sm> no |
| 20:55:36 | <guy> | unfortunately, thats something that is relied upon, i think you might not be the most suitable candidate, thanks for you interest |
| 20:55:44 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 20:56:16 | <haskellbridge> | <sm> well, good luck |
| 20:56:59 | <guy> | i mean, the attempt to help basically made the discussion look weird |
| 20:57:16 | <guy> | which it wouldnt have done if you werent basically just picking apart what im trying to acheive |
| 20:57:27 | <guy> | i dont mean to sound ungreatful |
| 20:57:39 | <guy> | i would prefer not to have to field such commentary |
| 20:57:48 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 20:58:12 | <guy> | "lets help him get a pair programmer together like what he was wanting" |
| 20:58:30 | <guy> | "heres why what they want to do is silly, or can be bypassed" |
| 20:58:40 | × | guy quits (~guy@sgyl-37-b2-v4wan-168528-cust2421.vm6.cable.virginm.net) (Quit: Client closed) |
| 20:59:36 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:02:25 | <haskellbridge> | <sm> had to step afk. I'm sorry for being annoying guy, no offense intended.We really do like to help here. But there's an art to getting help in text chat. |
| 21:03:18 | <int-e> | they left 5 minutes ago |
| 21:03:34 | <haskellbridge> | <sm> aha, alrighty |
| 21:04:55 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 21:06:23 | → | Pixi__ joins (~Pixi@user/pixi) |
| 21:07:34 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds) |
| 21:08:40 | <sm> | @msg guy had to step afk. I'm sorry for being annoying guy, no offense intended. We really do like to help here. There's an art to getting help in text chat. |
| 21:08:40 | <lambdabot> | Not enough privileges |
| 21:08:53 | → | guy joins (~guy@sgyl-37-b2-v4wan-168528-cust2421.vm6.cable.virginm.net) |
| 21:09:14 | <guy> | i mean, functor scheduling is really interesting! |
| 21:09:44 | <guy> | the AGI stuff follows *really* straitfowardly |
| 21:09:59 | × | Pixi` quits (~Pixi@user/pixi) (Ping timeout: 260 seconds) |
| 21:11:18 | <guy> | it basically gives a kind of automatic functor instance, and because of how its structured, you get the "general" bit of AGI basically immidiately |
| 21:11:19 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 21:11:46 | <sm> | I don't think you saw this: had to step afk. I'm sorry for being annoying guy, no offense intended. We really do like to help here. There's an art to getting help in text chat. |
| 21:11:51 | <guy> | i needed an abstraction around a mixture, and it turns out to be really interesting why functor isnt enough on its own |
| 21:11:53 | <int-e> | sm: the command would be @tell |
| 21:11:58 | <sm> | aha, thanks |
| 21:12:07 | → | Everything joins (~Everythin@46-133-12-50.mobile.vf-ua.net) |
| 21:12:11 | × | Pixi__ quits (~Pixi@user/pixi) (Read error: Connection reset by peer) |
| 21:12:15 | <guy> | sm: thanks for the support! i just needed a smoke |
| 21:12:16 | <homo> | hi, https://www.haskell.org/irc/ says there are language-specific channels, but both #haskell-fi and #haskell-pl are empty |
| 21:12:36 | → | Pixi__ joins (~Pixi@user/pixi) |
| 21:13:41 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Quit: leaving) |
| 21:13:52 | <guy> | lets say im working on the natural numbers, and this is the "functor" |
| 21:14:03 | <guy> | because its infinite, im not going to be able to fmap |
| 21:14:16 | <sm> | why not |
| 21:14:34 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 21:14:34 | <JuanDaugherty> | i am sorta the opposite of you know who and this linked story captures the core intent of the thing i intend to make available to the hs community in this area, by my sole effort |
| 21:14:38 | <guy> | hmm. ok im kind of assuming strict evaulation |
| 21:14:50 | <JuanDaugherty> | https://eg.meansofproduction.biz/eg/index.php/Specious_Present |
| 21:15:14 | <mauke> | homo: that's probably outdated information from the freenode years |
| 21:15:20 | <guy> | i mean, if its lazy i might not need to act on the whole collection |
| 21:15:25 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:15:30 | <guy> | but the sheduling provides a better approach to this |
| 21:15:40 | <JuanDaugherty> | also guy, if you offer appropriate compensation u'll find takers here, pretty sure of that |
| 21:15:57 | <guy> | its based around a "suspended traversal", so it only does one strict evaluation at a time |
| 21:16:05 | <guy> | this way still terminating despite the infinite container |
| 21:16:41 | <JuanDaugherty> | would be takers: only do it on retainer |
| 21:16:45 | <guy> | JuanDuagherty: i kind of think that bounties are a feaux par if not directly prohibited |
| 21:17:20 | <JuanDaugherty> | a u aware that ur constant misspelling makes u look ... |
| 21:17:34 | <int-e> | you, your |
| 21:17:42 | <guy> | instead of giving the fmap instance, there is a default, based on the editing per element, and the shedule of visitation, which can *not* change the whole contents |
| 21:18:53 | <guy> | and, the chedule can update with the application of fmap, so it can point to a different sublist |
| 21:18:59 | <JuanDaugherty> | int-e that's the way i talk |
| 21:19:04 | <guy> | schedule* |
| 21:19:16 | <int-e> | JuanDaugherty: then you have forfeited your right to complain about other people's spelling |
| 21:19:33 | <guy> | i can change eg the first 10 ints, and then the next 10 |
| 21:19:46 | <guy> | since the fmap also changes the shedule |
| 21:19:55 | <guy> | thats simple to understand right? |
| 21:20:01 | <guy> | (its just the first step) |
| 21:20:04 | <JuanDaugherty> | u mispercieve/misattribute, i'm not misspelling these idioms are my intended speech |
| 21:20:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 21:20:16 | <guy> | same |
| 21:20:20 | <guy> | except the typos |
| 21:20:36 | <JuanDaugherty> | as my somewhat tedious corrections make the point of :) |
| 21:20:53 | <guy> | yeah but their also accidental, so |
| 21:21:31 | <JuanDaugherty> | in my case, if accidental, it will be corrected |
| 21:22:19 | <guy> | ok, so the next step is where this kind of restricted schedule somehow correlates to a mixture. like, if the schedule gives you the order that you get presented the contents, and then like, you can buffer it as a stream, and that buffer is a mixture like a subset of the underlying scheduled functor, which is acting like a source of the objects it |
| 21:22:20 | <guy> | contains |
| 21:22:35 | <JuanDaugherty> | srsly tho, offer a decent compensation, other than the usual equity or what, cashmoney up front and u'll get ur au pair |
| 21:22:42 | <guy> | JaunDaugherty: omg im so sorry i had no idea. ill try not to compel this |
| 21:22:57 | <JuanDaugherty> | *or whatever; |
| 21:23:10 | <JuanDaugherty> | and stop calling me jaun |
| 21:23:20 | <guy> | oh right! i didnt even see that sorry |
| 21:23:43 | <JuanDaugherty> | this aint prelude d midi |
| 21:24:21 | <guy> | so! we have eg, natural numbers as a scheduled functor, eg just each number in turn up to 100 |
| 21:24:34 | <guy> | then, this is streamed and buffered over by a mixture |
| 21:24:49 | <JuanDaugherty> | take it away guy |
| 21:24:54 | <guy> | its complicated because its stored on disk |
| 21:24:55 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
| 21:25:10 | <guy> | so there is this weird mutability, where you dont have to "edit" the container |
| 21:25:25 | <guy> | you can just take the objects from it, modify them and then save them to disk |
| 21:25:50 | <guy> | so you only end up reading from this container while apparently modifying it. i got confused about this for a while because im used to a pure idiom |
| 21:26:15 | <guy> | im sure there is some complicated version using MVars |
| 21:26:54 | <guy> | the objects are going to be "machines" or like, little learning or trained robots that do some training or learned task |
| 21:27:25 | <guy> | the mixture of them is supposed to be an ensemble, and its going to be receiving training updates |
| 21:27:56 | <guy> | now, because the ensemble is of parametric objects, and itself must be parametric... |
| 21:28:01 | → | emma-underscores joins (~quassel@204.187.100.82) |
| 21:28:26 | <guy> | there is the oppertunity to use an extendable vector of coeceffients to some support set, eg random numbers |
| 21:28:43 | <guy> | you give me a vector, i decode parameter updates to the ensemble, and save each entry |
| 21:29:05 | <guy> | this vector is basically the (a->a) in fmap |
| 21:29:20 | <guy> | whats happening here is that "all functor instances are being given" |
| 21:29:43 | <guy> | every mixture updates the same way, according to these random support coefficients |
| 21:30:00 | <guy> | any vector serves to update the rough support, [] gives no update |
| 21:30:23 | <guy> | the rough support is given a submask at random positions |
| 21:30:37 | <guy> | so you only edit a random subset of the coeffecients |
| 21:30:50 | <guy> | changing the random seed for this rough mask lens |
| 21:30:54 | <guy> | is the "shedule" |
| 21:31:11 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:31:13 | <guy> | instead of pointing to each entry in turn, it creates a new submask to edit |
| 21:31:20 | × | gawen quits (~gawen@user/gawen) (Quit: cya) |
| 21:31:27 | <guy> | this is the kind of one size fits all functor scheduling |
| 21:31:31 | <guy> | having explained all that |
| 21:31:49 | <guy> | when you learn through the random submasking process, it forces the G of AGI |
| 21:32:01 | <guy> | if its good at training in all those contexts, its general |
| 21:36:22 | × | michalz quits (~michalz@185.246.207.221) (Remote host closed the connection) |
| 21:37:53 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 21:38:40 | <guy> | chatGPT claims the material to be "truly foundational!" |
| 21:38:41 | <guy> | https://chatgpt.com/share/674f7a3c-ebe0-800b-abfe-89b70df0c286 |
| 21:39:01 | <hellwolf> | nice haiku |
| 21:39:21 | <hellwolf> | saving "periods" saves climate too |
| 21:39:34 | <haskellbridge> | <sm> new discussion of haskell vs ocaml: https://news.ycombinator.com/item?id=42302426 |
| 21:39:54 | → | gawen joins (~gawen@user/gawen) |
| 21:40:46 | <hellwolf> | from what I heard, only the first-class module is to be desired the most in Haskell. |
| 21:40:51 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 21:42:10 | <guy> | tldr: functor scheduling allows for random submasking to be used everywhere, which gives general learning tasks |
| 21:42:27 | <guy> | hows about that for a strong theory!? functor scheduling ftw |
| 21:42:36 | × | euleritian quits (~euleritia@dynamic-176-006-142-139.176.6.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 21:42:57 | <guy> | its like a "general functor instance" |
| 21:43:00 | <mauke> | wow, a randomly generated text contains the words "truly foundational" |
| 21:43:17 | <guy> | randomly!? im deterministic!! |
| 21:43:20 | → | euleritian joins (~euleritia@dynamic-176-006-135-047.176.6.pool.telefonica.de) |
| 21:43:40 | <guy> | (i know though right, its clearly been hacked somehow) |
| 21:44:21 | <guy> | whenever it generates random names about charicters in various drug/romance escapades it always comes up with names like jack and sally |
| 21:44:50 | <guy> | i kind of wonder how pervasive all the subtext actually is to the likes of a GPT |
| 21:44:55 | <monochrom> | BTW, after learning probability theory, I consider determinism to be random too, just with a very specialized distribution. >:) |
| 21:45:32 | <monochrom> | But you can enjoy the same sentiment by asking whether a square counts as a rectangle. |
| 21:45:36 | <int-e> | monochrom: why does that remind me of https://xkcd.com/221/ |
| 21:45:41 | <guy> | tell that to the thermodynamic process that densifies strange loops! |
| 21:46:21 | <monochrom> | :) |
| 21:47:30 | × | zenmov quits (~zenmov@user/zenmov) (Ping timeout: 260 seconds) |
| 21:48:01 | <guy> | im trying to come up with this really neat way of saying that if you implement all the mixture functors that are for learning edits, with random submasks for the sheduling, then you get generalising tests for training AGI |
| 21:48:07 | <guy> | can anyone understand this!? |
| 21:49:13 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:49:38 | <guy> | sheduling, next next next through the functor. replaced all edits with provision of an extensible update vector consisting coefficients of random support vector |
| 21:50:11 | <guy> | next next next through random masks, learning through that forces generalisation |
| 21:51:10 | <guy> | functor scheduling => rough support, submasking seed increment => generalisation |
| 21:52:17 | <guy> | "i want to edit your parameters, are you a functor" ... |
| 21:52:18 | <guy> | "no! my edits are randomly supported, you must use random submasks to alter the editing vector, you can edit that!" |
| 21:52:54 | <guy> | and the (Vec->Vec) update opperation your "fmapping" as learning (theres some state under the hood of the learning machine) |
| 21:53:12 | <guy> | only ever edits random submasks of the rough support |
| 21:53:21 | <guy> | anything good at all those problems, is an AGI |
| 21:53:58 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 21:54:38 | <guy> | functor scheduling => random edits to submasks of rough support => AGI |
| 21:54:50 | <guy> | (eg of a complete component) |
| 21:55:16 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:56:04 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 21:57:10 | × | guy quits (~guy@sgyl-37-b2-v4wan-168528-cust2421.vm6.cable.virginm.net) (Quit: Client closed) |
| 21:59:13 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:59:55 | <monochrom> | I am pretty sure the Vec->Vec update in machine learning cannot be done by fmap. |
| 22:01:54 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 22:07:31 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 22:08:48 | → | JuanDaugherty joins (~juan@user/JuanDaugherty) |
| 22:08:56 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 22:09:14 | <hellwolf> | hm |
| 22:09:53 | <JuanDaugherty> | that guy |
| 22:10:40 | <geekosaur> | I suspect I should have kicked him an hour ago, but I've been somewhat busy this afternoon |
| 22:11:14 | <geekosaur> | just catching up, and thinking he sounded like some of the other weirdos we've had |
| 22:11:31 | <JuanDaugherty> | on the hs ocaml comparison, the complaint seemed to be about ghc err msgs |
| 22:12:40 | <JuanDaugherty> | which are a treasured feature for some |
| 22:12:41 | <monochrom> | Error messages are just a manifestation of the type system. You have to remove features from the type system to simplify error messages. |
| 22:12:48 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:13:14 | <hellwolf> | is there any foundamental reason ghc error message is difficult? I saw a thread lately on how to restructure messages, in a general way, to make it more palatable |
| 22:14:28 | <JuanDaugherty> | it falls out of the hs culture and history |
| 22:14:29 | <geekosaur> | well, the problem with that part is you would need to redesign the typechecker around error messages, which would likely compromise type system features in various ways (mostly performance) |
| 22:14:42 | <JuanDaugherty> | so no, there's no fundamental reason |
| 22:15:02 | <geekosaur> | hugs is often pointed to as having easier error messages, but it's also a much simpler typechecker |
| 22:15:05 | <JuanDaugherty> | ghc could be rewritten for the sole purpose of spiffing err messages |
| 22:15:15 | <geekosaur> | and similarly for helium which iirc only does haskell98 |
| 22:15:35 | <JuanDaugherty> | in principle |
| 22:15:50 | <JuanDaugherty> | but it would be odd |
| 22:15:51 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 22:16:29 | <hellwolf> | probably error message reading assistant for beginners ... otherwise what's all these AI progress about, fake videos? |
| 22:16:36 | → | Guest0 joins (~Guest0@190.50.170.231) |
| 22:16:37 | <hellwolf> | *"AI" |
| 22:16:55 | × | Guest0 quits (~Guest0@190.50.170.231) (Client Quit) |
| 22:17:02 | <JuanDaugherty> | grifters gonna grift |
| 22:17:19 | <monochrom> | Why not go the full way, have AI (or "AI") write the whole program, take the human out of the loop, then you don't even need error messages. |
| 22:17:29 | × | euleritian quits (~euleritia@dynamic-176-006-135-047.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 22:17:48 | <JuanDaugherty> | that actually is sorta my intent |
| 22:17:48 | → | euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
| 22:18:53 | haskellbridge | sm notes that last monologue was 45m. It does dampen other chat, but we could have discussed other things any time, which have shortened it |
| 22:19:15 | <JuanDaugherty> | except for the take the human out of the loop, substitute for that niave domain attestation in natural language |
| 22:20:12 | <haskellbridge> | <sm> I didn't get much from it, but I don't want to assume noone did (if you're out there, feel free summarise!) |
| 22:20:22 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 22:20:41 | <hellwolf> | sm you are asking for it, I am gonna pull out the chatgpt |
| 22:20:54 | <haskellbridge> | <sm> argh lol |
| 22:21:17 | <JuanDaugherty> | sm u mean the hs vs ocaml thing on ycombinator? |
| 22:21:43 | <JuanDaugherty> | or that guy |
| 22:23:04 | <hellwolf> | $ (echo "What is the guy named guy speaking about?"; cat guyspeak.txt) | chatgpt |
| 22:23:04 | <hellwolf> | Guy is discussing his project which involves artificial general intelligence (AGI). He's searching for a partner to assist him with the organizational challenges that come with the implementation of the project's codebase. Guy has all parts of the project designed, but is having difficulty managing the full implementation due to its complexity. Specifically, he mentions implementing "functor schedules" and using ran |
| 22:23:04 | <hellwolf> | dom submasks, which he believes will lead to the development of AGI. He is seeking someone to help him in organizing the progress of the project, stating that another person's understanding might provide an efficient way to manage the complexity. |
| 22:23:07 | <hellwolf> | problem solved |
| 22:23:47 | <monochrom> | That actually is pretty decent. |
| 22:23:58 | <haskellbridge> | <sm> that's pretty good. If they had done that they'd get a lot better response |
| 22:24:23 | <JuanDaugherty> | that's so much better than decent, i suspect its not chatgpt |
| 22:24:31 | <monochrom> | Goes a long way to show you how 90% of humans are actually worse than chatgpt. |
| 22:24:42 | hellwolf | not cheating! |
| 22:24:53 | hellwolf | wouldn't be bothered |
| 22:25:27 | <JuanDaugherty> | hellwolf, acknowledged and accepted |
| 22:25:44 | → | mange joins (~user@user/mange) |
| 22:26:03 | <JuanDaugherty> | i guess when u think about it it wasn that impressive |
| 22:26:21 | <hellwolf> | ... I mean the input is pretty much a hot mess ... |
| 22:26:28 | <haskellbridge> | <sm> I too have wondered how you can be sure when "AI" companies aren't augmenting their answers with human workers |
| 22:26:30 | <JuanDaugherty> | because guy was monotionously saying the same thing over and over |
| 22:27:20 | <JuanDaugherty> | nonetheless i'm somewhat impressed that comprehension can be faked like that |
| 22:27:27 | → | tylerhou joins (~tylerhou@user/tylerhou) |
| 22:27:41 | <monochrom> | How do you define comprehesion anyway. |
| 22:27:41 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 22:27:53 | <Rembane> | A monad comprehension is quite neat. |
| 22:27:54 | <JuanDaugherty> | comprehension and concision |
| 22:27:55 | Rembane | ducks |
| 22:28:57 | <JuanDaugherty> | also by now the grifters aren't relying just on LLMs |
| 22:29:40 | <tylerhou> | Hi, I have a question that I think is related to recursion schemes. Suppose I have a polymorphic function between functors `forall a. f a -> g a`. I want to lift that to a function between the fixpoint of those functors; something like |
| 22:29:40 | <tylerhou> | in_g :: g (Fix g) -> Fix g |
| 22:29:41 | <tylerhou> | out_f :: Fix f -> f (Fix f) |
| 22:29:41 | <tylerhou> | lift :: (forall a. f a -> g a) -> Fix f -> Fix g |
| 22:29:42 | <tylerhou> | lift n = in_g . n . map (lift n) . out_f |
| 22:29:42 | <tylerhou> | Is there a name for this pattern? |
| 22:30:29 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds) |
| 22:31:26 | × | JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
| 22:31:55 | <monochrom> | In another context it would be "Fix is monotonic", i.e., if f ⊑ g, then Fix f ⊑ Fix g. |
| 22:32:03 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:34:45 | carter_ | is now known as carter |
| 22:34:45 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 22:34:53 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:34:58 | <tylerhou> | Sorry, maybe naive question. What is the order here? The existence of an arrow from f a -> g a and Fix f -> Fix g? |
| 22:36:46 | <monochrom> | You know what, if one asserts "Fix is a certain suitable functor", then it covers both. |
| 22:36:51 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 22:39:27 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 22:47:49 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:48:25 | → | Square joins (~Square@user/square) |
| 22:50:04 | × | euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 22:50:32 | × | alp quits (~alp@2001:861:8ca0:4940:af16:4820:16f3:df77) (Remote host closed the connection) |
| 22:50:51 | → | alp joins (~alp@2001:861:8ca0:4940:f18f:506e:b1cc:eff9) |
| 22:51:09 | → | euleritian joins (~euleritia@dynamic-176-006-135-047.176.6.pool.telefonica.de) |
| 22:52:13 | × | alp quits (~alp@2001:861:8ca0:4940:f18f:506e:b1cc:eff9) (Remote host closed the connection) |
| 22:52:31 | → | alp joins (~alp@2001:861:8ca0:4940:c38:2af5:e8a9:dc48) |
| 22:53:25 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 22:53:54 | × | alp quits (~alp@2001:861:8ca0:4940:c38:2af5:e8a9:dc48) (Remote host closed the connection) |
| 22:54:11 | → | alp joins (~alp@2001:861:8ca0:4940:5869:eecd:676a:8aba) |
| 22:54:53 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds) |
| 22:55:35 | × | alp quits (~alp@2001:861:8ca0:4940:5869:eecd:676a:8aba) (Remote host closed the connection) |
| 22:55:52 | → | alp joins (~alp@2001:861:8ca0:4940:b505:9bd1:ef9e:a7b0) |
| 22:57:05 | × | gawen quits (~gawen@user/gawen) (Quit: cya) |
| 22:57:16 | × | alp quits (~alp@2001:861:8ca0:4940:b505:9bd1:ef9e:a7b0) (Remote host closed the connection) |
| 22:57:35 | → | alp joins (~alp@2001:861:8ca0:4940:f3fe:ac33:c8b0:f5ff) |
| 22:58:49 | × | euleritian quits (~euleritia@dynamic-176-006-135-047.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 22:58:57 | × | alp quits (~alp@2001:861:8ca0:4940:f3fe:ac33:c8b0:f5ff) (Remote host closed the connection) |
| 22:59:07 | → | euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) |
| 22:59:15 | → | alp joins (~alp@2001:861:8ca0:4940:e76a:7d36:8adc:27e3) |
| 22:59:15 | × | homo quits (~homo@user/homo) (Read error: Connection reset by peer) |
| 23:00:39 | × | alp quits (~alp@2001:861:8ca0:4940:e76a:7d36:8adc:27e3) (Remote host closed the connection) |
| 23:00:58 | → | alp joins (~alp@2001:861:8ca0:4940:2134:167a:303d:5617) |
| 23:02:20 | × | alp quits (~alp@2001:861:8ca0:4940:2134:167a:303d:5617) (Remote host closed the connection) |
| 23:02:36 | → | joeyadams joins (~joeyadams@syn-184-054-105-097.res.spectrum.com) |
| 23:02:37 | → | alp joins (~alp@2001:861:8ca0:4940:32d1:b188:aa8d:80b0) |
| 23:04:01 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:04:01 | × | alp quits (~alp@2001:861:8ca0:4940:32d1:b188:aa8d:80b0) (Remote host closed the connection) |
| 23:04:18 | → | alp joins (~alp@2001:861:8ca0:4940:53e6:2ee0:3c96:ba17) |
| 23:05:42 | × | alp quits (~alp@2001:861:8ca0:4940:53e6:2ee0:3c96:ba17) (Remote host closed the connection) |
| 23:05:59 | → | alp joins (~alp@2001:861:8ca0:4940:8cdb:a56:d144:a524) |
| 23:06:00 | → | gawen joins (~gawen@user/gawen) |
| 23:07:41 | → | alp_ joins (~alp@2001:861:8ca0:4940:b7d8:58c7:6786:7d57) |
| 23:07:55 | × | pdxleif quits (~ubuntu@ec2-35-163-144-64.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
| 23:08:59 | × | xff0x quits (~xff0x@2405:6580:b080:900:2e90:f46e:2f28:18f7) (Ping timeout: 260 seconds) |
| 23:09:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 23:09:24 | → | alp__ joins (~alp@2001:861:8ca0:4940:19e:b817:16a3:105c) |
| 23:09:46 | → | xff0x joins (~xff0x@2405:6580:b080:900:2aec:ff1e:1898:31f2) |
| 23:10:45 | × | alp quits (~alp@2001:861:8ca0:4940:8cdb:a56:d144:a524) (Ping timeout: 248 seconds) |
| 23:10:47 | × | alp__ quits (~alp@2001:861:8ca0:4940:19e:b817:16a3:105c) (Remote host closed the connection) |
| 23:11:04 | → | alp__ joins (~alp@2001:861:8ca0:4940:e5c2:6c92:e493:e6dd) |
| 23:12:29 | × | alp__ quits (~alp@2001:861:8ca0:4940:e5c2:6c92:e493:e6dd) (Remote host closed the connection) |
| 23:12:46 | → | alp__ joins (~alp@2001:861:8ca0:4940:8cf8:84fd:c29d:ded4) |
| 23:12:53 | × | alp_ quits (~alp@2001:861:8ca0:4940:b7d8:58c7:6786:7d57) (Ping timeout: 248 seconds) |
| 23:14:12 | × | alp__ quits (~alp@2001:861:8ca0:4940:8cf8:84fd:c29d:ded4) (Remote host closed the connection) |
| 23:14:28 | → | alp__ joins (~alp@2001:861:8ca0:4940:e711:d17b:85ba:6e68) |
| 23:15:54 | × | alp__ quits (~alp@2001:861:8ca0:4940:e711:d17b:85ba:6e68) (Remote host closed the connection) |
| 23:16:11 | → | alp__ joins (~alp@2001:861:8ca0:4940:da39:ecb7:24a3:fa7c) |
| 23:17:09 | × | tuxpaint quits (~a@put.gay) (Quit: gn) |
| 23:17:28 | → | tuxpaint joins (~a@put.gay) |
| 23:17:36 | × | alp__ quits (~alp@2001:861:8ca0:4940:da39:ecb7:24a3:fa7c) (Remote host closed the connection) |
| 23:17:53 | → | alp__ joins (~alp@2001:861:8ca0:4940:248:7c82:2e7e:d482) |
| 23:19:02 | × | rvalue quits (~rvalue@user/rvalue) (Quit: ZNC - https://znc.in) |
| 23:19:18 | × | alp__ quits (~alp@2001:861:8ca0:4940:248:7c82:2e7e:d482) (Remote host closed the connection) |
| 23:19:35 | → | alp__ joins (~alp@2001:861:8ca0:4940:6255:bcf2:af03:3641) |
| 23:19:48 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:20:13 | → | machined1od joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 23:20:35 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Read error: Connection reset by peer) |
| 23:21:00 | × | alp__ quits (~alp@2001:861:8ca0:4940:6255:bcf2:af03:3641) (Remote host closed the connection) |
| 23:21:17 | → | alp__ joins (~alp@2001:861:8ca0:4940:487b:94b7:43cf:3ccc) |
| 23:22:42 | × | alp__ quits (~alp@2001:861:8ca0:4940:487b:94b7:43cf:3ccc) (Remote host closed the connection) |
| 23:22:59 | → | alp__ joins (~alp@2001:861:8ca0:4940:e89d:a86a:2e60:67c5) |
| 23:24:25 | × | alp__ quits (~alp@2001:861:8ca0:4940:e89d:a86a:2e60:67c5) (Remote host closed the connection) |
| 23:24:42 | → | alp__ joins (~alp@2001:861:8ca0:4940:5270:bdae:7548:3af1) |
| 23:24:50 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 23:26:06 | × | alp__ quits (~alp@2001:861:8ca0:4940:5270:bdae:7548:3af1) (Remote host closed the connection) |
| 23:26:23 | → | alp__ joins (~alp@2001:861:8ca0:4940:4cea:f7a:2dd7:2a8) |
| 23:27:48 | × | alp__ quits (~alp@2001:861:8ca0:4940:4cea:f7a:2dd7:2a8) (Remote host closed the connection) |
| 23:28:05 | → | alp__ joins (~alp@2001:861:8ca0:4940:c06:15fd:dd93:fa63) |
| 23:29:30 | × | alp__ quits (~alp@2001:861:8ca0:4940:c06:15fd:dd93:fa63) (Remote host closed the connection) |
| 23:29:47 | → | alp__ joins (~alp@2001:861:8ca0:4940:1d46:1aa0:4e7f:b2f9) |
| 23:31:30 | → | alp_ joins (~alp@2001:861:8ca0:4940:73f1:fc81:eaca:26f6) |
| 23:32:55 | × | alp_ quits (~alp@2001:861:8ca0:4940:73f1:fc81:eaca:26f6) (Remote host closed the connection) |
| 23:33:12 | → | alp_ joins (~alp@2001:861:8ca0:4940:7e12:ac14:b600:1a67) |
| 23:34:33 | × | alp__ quits (~alp@2001:861:8ca0:4940:1d46:1aa0:4e7f:b2f9) (Ping timeout: 246 seconds) |
| 23:34:37 | × | alp_ quits (~alp@2001:861:8ca0:4940:7e12:ac14:b600:1a67) (Remote host closed the connection) |
| 23:34:53 | → | alp_ joins (~alp@2001:861:8ca0:4940:8a72:4fa4:8dbc:5fb1) |
| 23:35:35 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:36:19 | × | alp_ quits (~alp@2001:861:8ca0:4940:8a72:4fa4:8dbc:5fb1) (Remote host closed the connection) |
| 23:36:36 | → | alp_ joins (~alp@2001:861:8ca0:4940:e2d0:740d:3023:9109) |
| 23:38:01 | × | alp_ quits (~alp@2001:861:8ca0:4940:e2d0:740d:3023:9109) (Remote host closed the connection) |
| 23:38:05 | → | rvalue joins (~rvalue@user/rvalue) |
| 23:38:18 | → | alp_ joins (~alp@2001:861:8ca0:4940:bc0e:2aee:6a22:2d20) |
| 23:39:43 | × | alp_ quits (~alp@2001:861:8ca0:4940:bc0e:2aee:6a22:2d20) (Remote host closed the connection) |
| 23:40:00 | → | alp_ joins (~alp@2001:861:8ca0:4940:658:5d41:1e17:177a) |
| 23:40:20 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 23:41:44 | → | alp__ joins (~alp@2001:861:8ca0:4940:f868:e2da:2313:3292) |
| 23:43:07 | × | alp__ quits (~alp@2001:861:8ca0:4940:f868:e2da:2313:3292) (Remote host closed the connection) |
| 23:43:25 | → | alp__ joins (~alp@2001:861:8ca0:4940:a1d4:8f5:ea39:48) |
| 23:44:42 | × | alp_ quits (~alp@2001:861:8ca0:4940:658:5d41:1e17:177a) (Ping timeout: 246 seconds) |
| 23:45:07 | → | alp_ joins (~alp@2001:861:8ca0:4940:8329:3732:b124:24b7) |
| 23:46:31 | × | alp_ quits (~alp@2001:861:8ca0:4940:8329:3732:b124:24b7) (Remote host closed the connection) |
| 23:46:49 | → | alp_ joins (~alp@2001:861:8ca0:4940:6376:2500:12a5:17ce) |
| 23:48:13 | × | alp_ quits (~alp@2001:861:8ca0:4940:6376:2500:12a5:17ce) (Remote host closed the connection) |
| 23:48:32 | → | alp_ joins (~alp@2001:861:8ca0:4940:6e86:45d3:7da3:dca9) |
| 23:48:50 | × | alp__ quits (~alp@2001:861:8ca0:4940:a1d4:8f5:ea39:48) (Ping timeout: 260 seconds) |
| 23:49:56 | × | alp_ quits (~alp@2001:861:8ca0:4940:6e86:45d3:7da3:dca9) (Remote host closed the connection) |
| 23:50:13 | → | alp_ joins (~alp@2001:861:8ca0:4940:787f:767d:4686:fe80) |
| 23:51:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:51:37 | × | alp_ quits (~alp@2001:861:8ca0:4940:787f:767d:4686:fe80) (Remote host closed the connection) |
| 23:51:56 | → | alp_ joins (~alp@2001:861:8ca0:4940:8598:7fdf:3873:87a8) |
| 23:53:20 | × | alp_ quits (~alp@2001:861:8ca0:4940:8598:7fdf:3873:87a8) (Remote host closed the connection) |
| 23:53:37 | → | alp_ joins (~alp@2001:861:8ca0:4940:32ee:f693:b590:f66c) |
| 23:55:02 | × | alp_ quits (~alp@2001:861:8ca0:4940:32ee:f693:b590:f66c) (Remote host closed the connection) |
| 23:55:20 | → | alp_ joins (~alp@2001:861:8ca0:4940:2099:9745:f1c7:8705) |
| 23:56:04 | × | tylerhou quits (~tylerhou@user/tylerhou) (Quit: Client closed) |
| 23:56:21 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 23:56:44 | × | alp_ quits (~alp@2001:861:8ca0:4940:2099:9745:f1c7:8705) (Remote host closed the connection) |
| 23:57:02 | → | alp_ joins (~alp@2001:861:8ca0:4940:ab2:c635:31cc:2871) |
| 23:57:09 | × | acidjnk_new3 quits (~acidjnk@p200300d6e7283f756566d9820eaa5300.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 23:58:26 | × | alp_ quits (~alp@2001:861:8ca0:4940:ab2:c635:31cc:2871) (Remote host closed the connection) |
| 23:58:43 | → | alp_ joins (~alp@2001:861:8ca0:4940:5aee:7e5d:1206:a620) |
| 23:58:59 | × | GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Ping timeout: 252 seconds) |
All times are in UTC on 2024-12-03.