Logs on 2025-12-26 (liberachat/#haskell)
| 00:02:36 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 00:07:19 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 00:17:57 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 00:18:24 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 00:22:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 00:23:14 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Ping timeout: 260 seconds) |
| 00:30:32 | × | haskellbridge quits (~hackager@96.28.224.214) (Remote host closed the connection) |
| 00:31:03 | → | haskellbridge joins (~hackager@96.28.224.214) |
| 00:31:03 | ChanServ | sets mode +v haskellbridge |
| 00:40:53 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 00:52:13 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 00:56:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 00:56:55 | × | poscat quits (~poscat@user/poscat) (Remote host closed the connection) |
| 00:59:52 | → | poscat joins (~poscat@user/poscat) |
| 01:00:40 | × | CloneOfNone quits (~CloneOfNo@user/CloneOfNone) (Read error: Connection reset by peer) |
| 01:00:50 | → | CloneOfNone joins (~CloneOfNo@user/CloneOfNone) |
| 01:08:00 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 01:09:50 | → | Digit joins (~Digit@user/digit) |
| 01:13:13 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 01:21:20 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 01:23:44 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 01:24:44 | × | divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer) |
| 01:24:54 | → | divlamir joins (~divlamir@user/divlamir) |
| 01:28:15 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 01:29:39 | × | Tuplanolla quits (~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) (Quit: Leaving.) |
| 01:32:49 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...) |
| 01:39:32 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 01:44:15 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 01:46:15 | × | tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving) |
| 01:54:16 | → | iqubic joins (~sophia@2601:602:9203:1660:9e23:79cc:546:311b) |
| 01:55:18 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 01:55:49 | <iqubic> | Is there a library that will let me memoize a function of type "Set a -> b"? I understand this might need an additional constraint on 'a', but I'm not sure what it would be. |
| 01:56:20 | → | tabemann joins (~tabemann@12.215.215.61) |
| 01:59:15 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 02:00:07 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 02:06:55 | <geekosaur> | Ord a |
| 02:08:43 | → | polykernel_ joins (~polykerne@user/polykernel) |
| 02:11:07 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 02:11:09 | × | polykernel quits (~polykerne@user/polykernel) (Ping timeout: 260 seconds) |
| 02:11:09 | polykernel_ | is now known as polykernel |
| 02:13:47 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds) |
| 02:15:43 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 02:22:38 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 02:23:43 | × | annamalai quits (~annamalai@157.32.199.28) (Ping timeout: 240 seconds) |
| 02:29:16 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 02:33:43 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 02:42:11 | <Leary> | iqubic: Presumably you can find this on hackage somewhere, but: https://gist.github.com/LSLeary/33a854e1ec1230e7fbcc09e44e1ee71d |
| 02:58:15 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 03:00:03 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 03:04:15 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 03:11:25 | <iqubic> | I was trying to use MemoTrie, but that doesn't seem to work... |
| 03:11:49 | <iqubic> | @Hackage MemoTrie |
| 03:11:49 | <lambdabot> | https://hackage.haskell.org/package/MemoTrie |
| 03:13:18 | <iqubic> | geekosaur: Do you know if there are any off the shelf ways to memoize functions taking Sets or Maps? |
| 03:13:31 | <geekosaur> | not off the top of my head |
| 03:14:16 | <iqubic> | Hmm... that's annoying. MemoTrie looks good, but it doesn't have instances for Set or Map... |
| 03:14:21 | <geekosaur> | I don't usually have much use for memoization, and the fact that most memoizing functions use `Map` internally makes me wonder if you're just asking for the wrong thing to begin with |
| 03:15:23 | <iqubic> | Well, I'm using this 'Map' to store the state of the system I'm modeling. |
| 03:15:30 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 03:20:05 | → | pebble joins (~pebble@37.63.33.138) |
| 03:21:21 | <geekosaur> | the other issue is that a large `Set` or `Map` would function in that case as an arbitrary number of "parameters", which would make memoization more expensive possibly to the point that it would have diminishing returns |
| 03:22:31 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 03:23:19 | <iqubic> | Yeah, that does make sense. |
| 03:24:23 | <iqubic> | Why does memoizing over a list make sense? |
| 03:25:56 | <geekosaur> | large lists are kinda their own punishment 🙂 |
| 03:26:52 | <Leary> | iqubic: The approach that 'MemoTrie' and related pure approaches take is to index into a lazy data type with one position for each possible argument (holding the result of applying the function). If you can design such a type for `Set` or `Map` then you can use it, but you'll likely be stymied by the fact that they're abstract types. |
| 03:27:01 | <geekosaur> | that said, a more practical reason for not having `Set` or `Map` instances is that instances that require additional constraints have severe limitations when possible at all, and both those instances would require an added `Ord` instance |
| 03:27:38 | <geekosaur> | same reason why you can't have `Set` or `Map` `Monad` instances |
| 03:29:18 | <Leary> | Though `splitRoot` is essentially a look into the internals, so you can probably hack a `HasTrie` instance with it. |
| 03:30:10 | <glguy> | Probably the easiest starting point is to use to list and memoize with a list argument |
| 03:33:33 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 03:38:25 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 03:44:28 | → | emmanuelux_ joins (~emmanuelu@user/emmanuelux) |
| 03:44:32 | × | kaskal quits (~kaskal@84-115-235-223.cable.dynamic.surfer.at) (Ping timeout: 240 seconds) |
| 03:44:33 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Remote host closed the connection) |
| 03:45:59 | → | kaskal joins (~kaskal@2a02:8388:1a8b:7d00:5666:a937:cb77:6c3b) |
| 03:49:04 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 03:53:43 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 03:54:14 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 04:05:49 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 04:10:24 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 04:14:10 | × | acidjnk quits (~acidjnk@p200300d6e7171922bda2454d8bce8e38.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 04:19:24 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 04:21:13 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 04:21:37 | × | tabemann quits (~tabemann@12.215.215.61) (Ping timeout: 264 seconds) |
| 04:26:07 | <haskellbridge> | <Zemyla> You could potentially have a Map Monad instance, since the Ord constraint is on k, not a. The main problem is it doesn't let you implement pure. |
| 04:29:43 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 04:30:51 | <haskellbridge> | <Zemyla> Map k is an alternate form of ReaderT k Maybe. |
| 04:32:27 | → | jreicher joins (~user@user/jreicher) |
| 04:37:32 | → | hsw joins (~hsw@112-104-86-252.adsl.dynamic.seed.net.tw) |
| 04:37:36 | → | hsw_ joins (~hsw@112-104-86-252.adsl.dynamic.seed.net.tw) |
| 04:37:45 | × | hsw_ quits (~hsw@112-104-86-252.adsl.dynamic.seed.net.tw) (Remote host closed the connection) |
| 04:40:02 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 04:42:40 | → | tabemann joins (~tabemann@12.215.215.61) |
| 04:45:08 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 04:46:18 | × | _d0t quits (~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 260 seconds) |
| 04:50:28 | → | _d0t joins (~{-d0t-}@user/-d0t-/x-7915216) |
| 04:54:34 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 04:59:15 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 05:01:33 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Remote host closed the connection) |
| 05:05:27 | × | spew quits (~spew@user/spew) (Quit: nyaa~) |
| 05:10:22 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 05:14:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 05:18:06 | → | annamalai joins (~annamalai@157.32.132.85) |
| 05:26:12 | → | merijn joins (~merijn@62.45.136.136) |
| 05:30:55 | × | machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 240 seconds) |
| 05:31:15 | × | merijn quits (~merijn@62.45.136.136) (Ping timeout: 252 seconds) |
| 05:34:03 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 244 seconds) |
| 05:36:15 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 05:36:33 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 05:36:52 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 05:40:22 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 05:41:32 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 05:41:57 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 05:47:06 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 05:57:45 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 06:01:33 | × | itaipu quits (~itaipu@168.121.97.28) (Read error: Connection reset by peer) |
| 06:04:15 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 06:15:48 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 06:19:04 | → | itaipu joins (~itaipu@168.121.97.28) |
| 06:19:58 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 06:31:10 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 06:36:09 | × | pebble quits (~pebble@37.63.33.138) (Read error: Connection reset by peer) |
| 06:36:37 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 06:46:57 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 06:51:27 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 06:55:32 | × | synchromesh quits (~john@2406:5a00:2412:2c00:c4e1:4071:89e4:83f7) (Read error: Connection reset by peer) |
| 06:55:36 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 06:56:06 | → | synchromesh joins (~john@2406:5a00:2412:2c00:68ff:586d:59bf:bb1) |
| 07:00:37 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 07:05:58 | × | j1n37- quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 07:06:08 | → | j1n37 joins (~j1n37@user/j1n37) |
| 07:11:16 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 07:15:50 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 07:26:50 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 07:30:23 | × | annamalai quits (~annamalai@157.32.132.85) (Remote host closed the connection) |
| 07:30:38 | → | annamalai joins (~annamalai@2409:4042:218b:8d26::2684:98a1) |
| 07:31:49 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 07:42:36 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 07:46:17 | → | peterbecich joins (~Thunderbi@71.84.33.135) |
| 07:47:06 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 07:56:32 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 08:03:19 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 08:14:28 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 08:15:01 | × | sroso quits (~sroso@user/SrOso) (Quit: Leaving :)) |
| 08:19:13 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 08:22:35 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 240 seconds) |
| 08:23:07 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 08:30:00 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 08:34:35 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 08:35:39 | × | haritz quits (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
| 08:43:06 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 08:43:26 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 08:45:47 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 08:48:56 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:52:15 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 08:57:34 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 09:00:38 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 09:02:23 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 09:11:11 | × | emmanuelux_ quits (~emmanuelu@user/emmanuelux) (Remote host closed the connection) |
| 09:15:17 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 09:20:29 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 09:31:04 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 09:35:35 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 09:43:37 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 09:46:51 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 09:51:15 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 09:58:34 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 09:58:43 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 10:00:02 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds) |
| 10:00:07 | ljdarj1 | is now known as ljdarj |
| 10:03:30 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 10:13:25 | × | peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 246 seconds) |
| 10:14:21 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 10:18:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 10:26:38 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 10:27:36 | → | califax joins (~califax@user/califx) |
| 10:28:23 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 10:28:48 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds) |
| 10:28:50 | ljdarj1 | is now known as ljdarj |
| 10:29:53 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 10:31:21 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Read error: Connection reset by peer) |
| 10:34:02 | → | Tuplanolla joins (~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) |
| 10:36:15 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 10:41:24 | × | rainbyte quits (~rainbyte@186.22.19.214) (Read error: Connection reset by peer) |
| 10:42:05 | → | rainbyte joins (~rainbyte@186.22.19.214) |
| 10:44:16 | × | 068AABI46 quits (~wz1000@2a01:4f9:c012:de50::1) (Quit: ZNC 1.8.2 - https://znc.in) |
| 10:47:56 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 10:50:56 | → | pebble joins (~pebble@37.63.33.138) |
| 10:52:35 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 10:55:03 | → | acidjnk joins (~acidjnk@p200300d6e7171923edacc98e824f0ce3.dip0.t-ipconnect.de) |
| 10:59:34 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 11:04:30 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 11:15:30 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 11:20:15 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 11:31:18 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 11:33:01 | → | karenw joins (~karenw@user/karenw) |
| 11:33:21 | → | califax_ joins (~califax@user/califx) |
| 11:34:47 | × | califax quits (~califax@user/califx) (Ping timeout: 252 seconds) |
| 11:34:47 | califax_ | is now known as califax |
| 11:36:24 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 11:46:49 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 11:51:25 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 12:00:34 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 12:05:19 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 12:10:35 | × | Digit quits (~Digit@user/digit) (Ping timeout: 240 seconds) |
| 12:10:43 | → | Digitteknohippie joins (~Digit@user/digit) |
| 12:16:22 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 12:17:16 | × | karenw quits (~karenw@user/karenw) (Quit: Deep into that darkness peering...) |
| 12:21:33 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 12:32:09 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 12:36:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 12:39:31 | → | lockna_ joins (~lockna@193-81-168-132.hdsl.highway.telekom.at) |
| 12:44:13 | → | haritz joins (~hrtz@user/haritz) |
| 12:45:38 | × | poscat quits (~poscat@user/poscat) (Quit: Bye) |
| 12:45:48 | → | poscat joins (~poscat@user/poscat) |
| 12:52:44 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 12:56:01 | → | machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net) |
| 12:56:47 | ← | sshine parts (~simon@dao.mechanicus.xyz) () |
| 12:57:15 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 12:58:22 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 12:58:54 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 13:01:34 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 13:08:07 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 13:11:18 | <ncf> | Map k isn't a Monad, but it is a Bind (a monad without unit, or "semigroupad"). it is also equipped with a morphism Map k (Either a (Map k a)) → Map k a, which means that Either a (Map k a) is in a sense the "free monad" on this semigroupad (equivalently, Map k is the T₀ part of an ideal monad https://hackage.haskell.org/package/monad-ideals) |
| 13:18:03 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 13:19:36 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 13:20:40 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 13:21:00 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 13:21:59 | → | califax joins (~califax@user/califx) |
| 13:24:01 | <yin> | Morj: I used to have haskell-language-server-wrapper. I still do, but I used to too. |
| 13:24:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 13:26:14 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 13:26:40 | → | wennefer0_____ joins (~wennefer0@user/wennefer0) |
| 13:27:45 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 13:28:42 | × | machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 256 seconds) |
| 13:30:55 | × | wennefer0_____ quits (~wennefer0@user/wennefer0) (Ping timeout: 240 seconds) |
| 13:31:51 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 13:32:29 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds) |
| 13:32:29 | ljdarj1 | is now known as ljdarj |
| 13:35:46 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 13:35:59 | → | CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) |
| 13:37:10 | → | califax joins (~califax@user/califx) |
| 13:38:51 | → | machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net) |
| 13:40:15 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 13:49:55 | <[exa]> | meh, is there any intuition/good examples for explaining why Monad Complex is written as it is? `a :+ b >>= f = realPart (f a) :+ imagPart (f b)` |
| 13:51:33 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 13:51:46 | <Franciman> | seems like monad for (a, a) |
| 13:52:17 | <Franciman> | ah no |
| 13:55:06 | <Franciman> | f :: x -> Complex x, but you only extract real part |
| 13:55:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 13:56:08 | <Franciman> | what example has type x -> Complex x ? |
| 13:56:36 | <Franciman> | given a real, you want to build a complex |
| 13:57:46 | <Franciman> | ok one example is given theta, build e^{i*theta} = sin(theta) + i cos(theta) |
| 14:00:01 | <Franciman> | [exa]: https://vitez.me/complex-monad |
| 14:00:16 | <Franciman> | here they say they don't like it, and it seems it's more for general pairing than actual complex structure |
| 14:00:41 | <Franciman> | this is more interesting |
| 14:00:43 | <Franciman> | https://stackoverflow.com/questions/47181078/meaning-and-usage-of-complex-number-functor-and-monad |
| 14:02:32 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 14:05:02 | <ncf> | [exa]: it's the Pair monad, aka Reader Bool |
| 14:05:22 | → | spew joins (~spew@user/spew) |
| 14:05:37 | <ncf> | (i don't know why Complex needs a Monad instance, but here you go) |
| 14:07:19 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 14:18:21 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 14:22:08 | × | Pozyomka quits (~pyon@user/pyon) (Quit: bbl) |
| 14:23:25 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 14:24:41 | × | rainbyte quits (~rainbyte@186.22.19.214) (Read error: Connection reset by peer) |
| 14:27:17 | → | rainbyte joins (~rainbyte@186.22.19.214) |
| 14:34:09 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 14:38:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 14:48:18 | → | __monty__ joins (~toonn@user/toonn) |
| 14:49:56 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 14:55:45 | × | YoungFrog quits (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 245 seconds) |
| 14:56:25 | → | Pozyomka joins (~pyon@user/pyon) |
| 14:56:35 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 15:00:01 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 15:00:07 | → | YoungFrog joins (~youngfrog@2a02:a03f:ca07:f900:2fab:8436:f7d2:8c4a) |
| 15:01:54 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 15:03:33 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 15:04:23 | × | CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 265 seconds) |
| 15:06:26 | → | karenw joins (~karenw@user/karenw) |
| 15:08:35 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 15:18:20 | <[exa]> | Franciman ncf oh so it's mainly to force the instance into existence while aligning with how the applicative works |
| 15:18:24 | <[exa]> | ok fair enough |
| 15:18:33 | <[exa]> | thanks :) |
| 15:19:21 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 15:19:32 | <ncf> | (well, i think there's only one (lawful) monad instance you can write) |
| 15:20:07 | <Franciman> | they mention this phenomenon in the mailing list that is referred to in the stackoverflow thread |
| 15:21:54 | <Franciman> | hi ncf ! |
| 15:23:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 15:28:23 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 15:31:28 | <[exa]> | yeah, it's ... unpleasantly rigorous |
| 15:34:24 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:35:09 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 15:40:10 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 15:50:55 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 15:55:59 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 16:00:32 | × | karenw quits (~karenw@user/karenw) (Quit: Deep into that darkness peering...) |
| 16:03:58 | × | Axman6 quits (~Axman6@user/axman6) (Remote host closed the connection) |
| 16:04:33 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 16:09:19 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 16:20:22 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 16:24:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 16:32:10 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 255 seconds) |
| 16:36:09 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 16:37:44 | → | ZLima12_ joins (~zlima12@user/meow/ZLima12) |
| 16:37:59 | × | ZLima12 quits (~zlima12@user/meow/ZLima12) (Ping timeout: 260 seconds) |
| 16:40:49 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 16:51:40 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 16:56:37 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 16:56:39 | Digitteknohippie | is now known as Digit |
| 17:05:34 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 17:10:20 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 17:11:43 | <haskellbridge> | <Liamzee> umm, been thinking, doesn't unsafeInterleaveIO violate referential transparency? I guess that's implied by the name! |
| 17:12:42 | <geekosaur> | yes |
| 17:12:54 | <haskellbridge> | <Liamzee> but, implicitly, i can have a pure function trigger an effect on its own simply by evaluating a value that causes unsafeInterleaveIO to throw effects |
| 17:13:11 | <geekosaur> | yep, that's exactly the point of it |
| 17:13:17 | → | sroso joins (~sroso@user/SrOso) |
| 17:13:23 | <geekosaur> | and why it's `unsafe` |
| 17:14:04 | <haskellbridge> | <Liamzee> i just never thought about it in the sense of having pure functions evaluate through unsafeInterleaveIO |
| 17:14:14 | <haskellbridge> | <Liamzee> I thought of it more like, actions doing so |
| 17:15:31 | <ncf> | ? |
| 17:16:25 | × | synchromesh quits (~john@2406:5a00:2412:2c00:68ff:586d:59bf:bb1) (Read error: Connection reset by peer) |
| 17:16:33 | → | marinelli joins (~weechat@gateway/tor-sasl/marinelli) |
| 17:16:43 | <ncf> | oh never mind, i misread |
| 17:17:52 | → | synchromesh joins (~john@2406:5a00:2412:2c00:68ff:586d:59bf:bb1) |
| 17:20:03 | <c_wraith> | At least there's still an IO in the type at the end to tell you there are effects going on. |
| 17:20:42 | <c_wraith> | Compare that to unsafeInterleaveST, which leaves no traces behind.... |
| 17:21:12 | <ski> | Liamzee : there is an argument that observed differences in behaviour as to if and when the I/O occurs, is due to the nondeterminacy of the `IO' in the result type of `unsafeInterleaveIO', similarly to how `forkIO' (concurrency) introduce nondeterminacy with how threads will be scheduled wrt each other. iow, `unsafeInterleaveIO' would guarantee that the I/O might or might not happen (but obviously must've |
| 17:21:18 | <ski> | happened before forcing the returned value, if that happens) |
| 17:21:21 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 17:24:01 | <ski> | iow, the "have a pure function trigger an effect on its own simply by evaluating a value that causes unsafeInterleaveIO to throw effects" would be a particular implementation choice, for efficiency, but the compiler would be allowed to schedule the I/O to happen earlier (and so earlier than other I/O actions not sequenced wrt this one), if it could show that the result value would eventually get forced |
| 17:25:20 | <ski> | otoh, this argument does not work for `unsafeInterleaveST', there's no concurrency in `ST s' |
| 17:26:32 | <ncf> | now that i think about it: is it true that unsafeInterleaveIO ma = pure (unsafePerformIO ma) ? it sure seems like that's what the implementation is doing |
| 17:27:09 | <ncf> | ah, not quite, it's using the input RealWorld instead of creating one out of thin air |
| 17:27:44 | <ski> | you'd not be surprised by an I/O action in an invocation of `forkIO' happening at different times, on different runs, so you should also not be surprised by the I/O with `unsafeInterleaveIO' being hard to predict when it happens |
| 17:27:45 | <haskellbridge> | <Liamzee> TBH I'm still looking at FFI and I'm thinking about using unsafeInterleaveIO with a mutex to allow streaming of FFI read-in-place |
| 17:27:47 | → | ttybitnik joins (~ttybitnik@user/wolper) |
| 17:27:54 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 17:28:21 | <haskellbridge> | <Liamzee> but w/e this is fancy, I'll be happy just to get RecordBatch from arrow-rs being converted to a dataframe without segfaulting |
| 17:28:28 | <haskellbridge> | <Liamzee> via a copy |
| 17:30:42 | <ncf> | so an equivalent formulation of unsafeInterleaveIO should be choice :: IO (IO a → a) |
| 17:31:21 | <ncf> | well, not equivalent, more primitive |
| 17:31:41 | <ncf> | given choice, you can implement unsafeInterleaveIO ma = choice <*> ma |
| 17:32:07 | <ncf> | (i call it choice because it's a form of choice if you replace IO with a propositional truncation modality, but this is a bad name) |
| 17:32:47 | <ski> | you mean `choice <*> pure ma' ? |
| 17:32:59 | <ncf> | yeah |
| 17:33:20 | <ski> | (aka `($ ma) <$> choice') |
| 17:34:03 | <haskellbridge> | <Liamzee> now that i think about it: is it true that unsafeInterleaveIO ma = pure (unsafePerformIO ma) ? it sure seems like that's what the implementation is doing |
| 17:34:06 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/pUZqcmzrNFjqpSRguxhgPvfI/iqhSMNoSnW4 (3 lines) |
| 17:34:31 | <ncf> | in terms of the state monad, choice s = (\ k -> fst (k s), s) |
| 17:34:36 | <ski> | type reminds me a little of `loeb :: Functor f => f (f a -> a) -> f a' |
| 17:34:37 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 17:35:04 | <ncf> | yeah, it has the form of the premise. i don't think it's really related though, since we're not interested in taking fixed points |
| 17:35:36 | <ski> | mm |
| 17:36:10 | <ncf> | it comes up in https://lmcs.episciences.org/3217/pdf theorem 7.7 |
| 17:36:40 | <ncf> | if you replace IO with propositional truncation, then the assumption of choice as above is equivalent to the "world's smallest axiom of choice" (choice over propositions) |
| 17:37:19 | <ski> | "How does it matter that it's still using the original RealWorld?" -- mm, i guess it means the action can't be scheduled to happen before the invocation of `unsafeInterleaveIO' happens |
| 17:37:19 | <ncf> | it also comes up here https://proofassistants.stackexchange.com/a/932 as the "irrelevance axiom" |
| 17:37:38 | <ncf> | yeah that's the point |
| 17:37:51 | <haskellbridge> | <Liamzee> Also: |
| 17:37:53 | <haskellbridge> | <Liamzee> https://hackage-content.haskell.org/package/ghc-internal-9.1401.0/docs/src/GHC.Internal.IO.Unsafe.html#unsafeInterleaveIO |
| 17:39:29 | → | merijn joins (~merijn@62.45.136.136) |
| 17:43:55 | × | merijn quits (~merijn@62.45.136.136) (Ping timeout: 240 seconds) |
| 17:46:53 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 17:48:04 | × | tabemann quits (~tabemann@12.215.215.61) (Quit: Leaving) |
| 17:55:10 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 17:59:19 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 18:06:34 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 18:11:23 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 18:15:02 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 18:15:19 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Remote host closed the connection) |
| 18:22:23 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 18:27:37 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 18:38:10 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 18:42:48 | → | rainbyte_ joins (~rainbyte@186.22.19.214) |
| 18:42:50 | × | rainbyte quits (~rainbyte@186.22.19.214) (Read error: Connection reset by peer) |
| 18:42:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 18:43:01 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 18:53:37 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 18:57:11 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 18:58:07 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 19:04:07 | <monochrom> | About the paper. I saw "Merely Inhabited" and misread as "Merrily Inhabited". Must be the seaon holidays. Merry Inhabited Holidays! |
| 19:09:55 | <ncf> | mere christmas |
| 19:10:40 | → | peterbecich joins (~Thunderbi@71.84.33.135) |
| 19:22:01 | → | omidmash joins (~omidmash@user/omidmash) |
| 19:34:18 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 19:34:55 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
| 19:35:36 | Lord_of_Life_ | is now known as Lord_of_Life |
| 19:42:31 | → | karenw joins (~karenw@user/karenw) |
| 19:44:47 | → | pavonia joins (~user@user/siracusa) |
| 20:00:38 | × | ThePenguin quits (~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection) |
| 20:02:31 | → | ThePenguin joins (~ThePengui@cust-95-80-28-221.csbnet.se) |
| 20:04:49 | × | marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection) |
| 20:05:08 | → | marinelli joins (~weechat@gateway/tor-sasl/marinelli) |
| 20:08:33 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 20:13:48 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 20:14:12 | → | wennefer0_ joins (~wennefer0@user/wennefer0) |
| 20:14:47 | → | tessier joins (~tessier@ip68-8-117-219.sd.sd.cox.net) |
| 20:16:33 | × | img quits (~img@user/img) (Quit: ZNC 1.10.1 - https://znc.in) |
| 20:17:47 | → | img joins (~img@user/img) |
| 20:20:48 | × | wennefer0_ quits (~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 20:23:25 | × | ThePenguin quits (~ThePengui@cust-95-80-28-221.csbnet.se) (Remote host closed the connection) |
| 20:24:09 | → | wennefer0_ joins (~wennefer0@user/wennefer0) |
| 20:24:28 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 20:25:14 | → | ThePenguin joins (~ThePengui@cust-95-80-28-221.csbnet.se) |
| 20:25:50 | → | wennefer0__ joins (~wennefer0@user/wennefer0) |
| 20:26:42 | × | wennefer0_ quits (~wennefer0@user/wennefer0) (Remote host closed the connection) |
| 20:28:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 20:31:24 | × | jle` quits (~jle`@2603:8001:3b00:11:47ff:a93:5f74:967) (Ping timeout: 244 seconds) |
| 20:33:26 | × | pebble quits (~pebble@37.63.33.138) (Read error: Connection reset by peer) |
| 20:36:07 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 20:36:53 | × | wennefer0__ quits (~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 20:39:58 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 20:44:49 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 20:49:31 | → | wennefer0_ joins (~wennefer0@user/wennefer0) |
| 20:50:15 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 20:51:40 | → | wennefer0______ joins (~wennefer0@user/wennefer0) |
| 20:53:31 | × | wennefer0_ quits (~wennefer0@user/wennefer0) (Client Quit) |
| 20:54:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 20:56:21 | → | CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) |
| 20:57:13 | → | wennefer0_ joins (~wennefer0@user/wennefer0) |
| 20:57:19 | × | wennefer0______ quits (~wennefer0@user/wennefer0) (Remote host closed the connection) |
| 21:03:07 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds) |
| 21:04:36 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 21:06:03 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 21:13:49 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 21:17:34 | × | wennefer0_ quits (~wennefer0@user/wennefer0) (Quit: Textual IRC Client: www.textualapp.com) |
| 21:19:18 | → | wennefer0_ joins (~wennefer0@user/wennefer0) |
| 21:21:10 | → | wennefer0_71 joins (~wennefer0@user/wennefer0) |
| 21:22:27 | × | wennefer0_71 quits (~wennefer0@user/wennefer0) (Remote host closed the connection) |
| 21:23:44 | → | wennefer0_27 joins (~wennefer0@user/wennefer0) |
| 21:24:01 | × | wennefer0_27 quits (~wennefer0@user/wennefer0) (Remote host closed the connection) |
| 21:24:11 | → | wennefer0_______ joins (~wennefer0@user/wennefer0) |
| 21:25:23 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 21:25:45 | × | wennefer0_ quits (~wennefer0@user/wennefer0) (Quit: Textual IRC Client: www.textualapp.com) |
| 21:25:55 | × | wennefer0_______ quits (~wennefer0@user/wennefer0) (Remote host closed the connection) |
| 21:25:55 | × | synchromesh quits (~john@2406:5a00:2412:2c00:68ff:586d:59bf:bb1) (Read error: Connection reset by peer) |
| 21:26:12 | → | wennefer0_ joins (~wennefer0@user/wennefer0) |
| 21:27:27 | → | wennefer0_______ joins (~wennefer0@user/wennefer0) |
| 21:27:39 | → | synchromesh joins (~john@2406:5a00:2412:2c00:694d:f25a:3b3c:f3f9) |
| 21:30:23 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 21:30:51 | × | wennefer0_______ quits (~wennefer0@user/wennefer0) (Remote host closed the connection) |
| 21:34:21 | → | orangeFlu joins (~user@2a02:2f0d:c000:5a00:67a2:16d6:6fec:4137) |
| 21:35:59 | <orangeFlu> | i was wondering.. i remember there being a bot on this channel that you can use to execute haskell code, is that still the case? |
| 21:37:13 | <ncf> | > "yes" |
| 21:37:14 | <lambdabot> | "yes" |
| 21:37:19 | <ncf> | % "there's two of us!"" |
| 21:37:19 | <yahb2> | <interactive>:139:21: error: [GHC-21231] ; lexical error at end of input |
| 21:38:08 | <orangeFlu> | ok, i'm more wondering how the bot is programmed. I assume it's in some kind of container or something, but does anybody have any details or the source? |
| 21:38:20 | <orangeFlu> | I need to build something similar for a project |
| 21:39:26 | <mauke> | @where lambdabot |
| 21:39:26 | <lambdabot> | https://wiki.haskell.org/IRC_channel#lambdabot |
| 21:39:58 | → | jle` joins (~jle`@2603:8001:3b00:11:94e9:8912:a399:fd05) |
| 21:40:18 | <mauke> | https://archives.haskell.org/code.haskell.org/lambdabot/ seems a bit old |
| 21:40:36 | <EvanR> | > text "yes" |
| 21:40:37 | <lambdabot> | yes |
| 21:40:47 | <EvanR> | @faq can haskell do that |
| 21:40:47 | <lambdabot> | https://wiki.haskell.org/FAQ |
| 21:40:53 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 21:40:53 | <EvanR> | :( |
| 21:41:36 | <geekosaur> | @version |
| 21:41:36 | <lambdabot> | lambdabot 5.3.1.2 |
| 21:41:37 | <lambdabot> | git clone https://github.com/lambdabot/lambdabot |
| 21:42:26 | <mauke> | @where+ lambdabot https://github.com/lambdabot/lambdabot https://wiki.haskell.org/IRC_channel#lambdabot |
| 21:42:26 | <lambdabot> | Nice! |
| 21:43:38 | <orangeFlu> | thank you so much! |
| 21:44:36 | <mauke> | @where yahb |
| 21:44:36 | <lambdabot> | I know nothing about yahb. |
| 21:45:37 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 21:45:58 | <Leary> | https://git.tomsmeding.com/yahb2/tree/ |
| 21:47:16 | <geekosaur> | sorry, was looking for that. it would be a better starting place, since lambdabot is actually hard to extend and modify in various ways |
| 21:47:24 | <geekosaur> | its age definitely shows, sadly |
| 21:48:20 | <mauke> | @where yahb2 |
| 21:48:20 | <lambdabot> | https://git.tomsmeding.com/yahb2 |
| 21:48:23 | <mauke> | hah |
| 21:48:59 | <mauke> | preflex: store yahb2 https://git.tomsmeding.com/yahb2 |
| 21:51:25 | × | wennefer0_ quits (~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 21:56:29 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 22:01:30 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 22:02:53 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds) |
| 22:06:50 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 22:08:59 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 22:10:29 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 22:14:35 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 22:17:59 | → | wennefer0_ joins (~wennefer0@user/wennefer0) |
| 22:25:58 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 22:29:47 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:32:37 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 22:42:37 | × | itaipu quits (~itaipu@168.121.97.28) (Read error: Connection reset by peer) |
| 22:43:42 | → | rawles joins (sid630849@user/rawles) |
| 22:44:00 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 22:47:15 | × | karenw quits (~karenw@user/karenw) (Ping timeout: 240 seconds) |
| 22:47:48 | × | orangeFlu quits (~user@2a02:2f0d:c000:5a00:67a2:16d6:6fec:4137) (Ping timeout: 260 seconds) |
| 22:48:35 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 22:48:55 | × | peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 240 seconds) |
| 22:54:56 | × | mangoiv quits (~mangoiv@user/mangoiv) (Quit: The Lounge - https://thelounge.chat) |
| 22:59:46 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 23:04:49 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 23:11:08 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 23:11:28 | → | somemathguy joins (~somemathg@user/somemathguy) |
| 23:11:32 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 23:16:23 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 23:17:35 | × | wennefer0_ quits (~wennefer0@user/wennefer0) (Quit: My Mac has gone to sleep. ZZZzzz…) |
| 23:26:01 | → | mangoiv joins (~mangoiv@user/mangoiv) |
| 23:27:18 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 23:30:41 | × | CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 244 seconds) |
| 23:31:46 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 23:42:44 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 23:43:34 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:45:28 | → | wennefer0_ joins (~wennefer0@user/wennefer0) |
| 23:47:44 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 23:58:32 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
All times are in UTC on 2025-12-26.