Logs: liberachat/#haskell
| 2025-10-06 04:17:47 | × | trickard_ quits (~trickard@cpe-49-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-10-06 04:18:00 | → | trickard_ joins (~trickard@cpe-49-98-47-163.wireline.com.au) |
| 2025-10-06 04:18:33 | <dcpagan> | And I need to format these field expressions to see how delimited continuations manipulate expressions. |
| 2025-10-06 04:18:55 | <dcpagan> | My delimited continuation program prints this: "(* (* 3 /2) (* 5 /2))" |
| 2025-10-06 04:19:56 | <jreicher> | I quite like your idea of /2, /3, etc. It's got some solid parallels. 0 is the additive identity, and we omit zero in 0-3, and omit both the zero and the operator in 3-0. 1 is the multiplicative identity, and if we omit both the 1 and the operator in 3/1, it's a solid parallel to omit the number in /3 |
| 2025-10-06 04:21:11 | <dcpagan> | Omitting units would require parsing 0's and 1's into their respective units, and reformatting the format to an histomorphism to peer deeper into the recursive structure. |
| 2025-10-06 04:22:06 | <EvanR> | jreicher, there exists abstraction "monoid with minus operation" |
| 2025-10-06 04:22:14 | <EvanR> | monus |
| 2025-10-06 04:22:20 | <dcpagan> | But I primarily wrote this sandbox to grok how delimited continuations manipulate computations by designing a simple field monad to structure those computations. |
| 2025-10-06 04:22:46 | <dcpagan> | Algebraically speaking, the minus operator is the right inverse additive group operator. |
| 2025-10-06 04:23:11 | <dcpagan> | Divide is the right inverse partial group operator of the field. |
| 2025-10-06 04:23:14 | <jreicher> | EvanR: yeah I've come across monus with Church numerals. |
| 2025-10-06 04:23:23 | <dcpagan> | What's a monus? |
| 2025-10-06 04:23:50 | <jreicher> | https://en.wikipedia.org/wiki/Monus |
| 2025-10-06 04:24:38 | <dcpagan> | That looks like a partial obelus. |
| 2025-10-06 04:25:39 | <dcpagan> | I deliberatively took out the minus and divide operators in my monad to base it on abstract algebraic terms. |
| 2025-10-06 04:25:48 | <EvanR> | dennis ritchie's phd thesis? then it's canon |
| 2025-10-06 04:26:09 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-06 04:26:17 | <dcpagan> | Which is why the lack of a sane unary prefix for the reciprocal so vexes me. |
| 2025-10-06 04:26:44 | <jreicher> | When you first asked your question I grabbed my copy of Concrete Mathematics. I thought if anyone was going to be fussy about notation, Knuth would be... |
| 2025-10-06 04:27:20 | <dcpagan> | I have Serge Lang's Algebra with me right now, and even he uses (^-1). |
| 2025-10-06 04:28:48 | <jreicher> | Mathematicians don't usually write parsers. And I'm not joking; I think that's the real difference in what you're doing. Means you have literals for the elements. |
| 2025-10-06 04:29:53 | <Leary> | dcpagan: Just write `recip` or `invert` or `inverse` and be done with it. It doesn't matter if it isn't standard if it can be understood at a glance. |
| 2025-10-06 04:30:38 | <EvanR> | we have it |
| 2025-10-06 04:30:40 | <EvanR> | recip |
| 2025-10-06 04:30:42 | <EvanR> | enjoy |
| 2025-10-06 04:30:50 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-10-06 04:31:25 | <EvanR> | pretty sure I've seen a function called "inv" somewhere |
| 2025-10-06 04:31:40 | <EvanR> | saving you two characters |
| 2025-10-06 04:34:06 | → | litharge` joins (litharge@libera/bot/litharge) |
| 2025-10-06 04:34:22 | <jreicher> | https://aplwiki.com/wiki/Reciprocal same idea, basically (fairly Iverson was also fussy about notation) |
| 2025-10-06 04:34:29 | <jreicher> | ...fairly sure... |
| 2025-10-06 04:34:33 | × | litharge` quits (litharge@libera/bot/litharge) (Read error: Connection reset by peer) |
| 2025-10-06 04:34:37 | <dcpagan> | I recently took a glance at ISO 80000-2 and discovered that the international standard parses the solidus ("/") divide operator with a very low precedence to denote fractional notation, and split the whole expression into numerator and denominator. |
| 2025-10-06 04:34:42 | <dcpagan> | https://raptros.com/blog/2019-obelus/ |
| 2025-10-06 04:34:56 | <dcpagan> | Standard mathematical notation is cracked. |
| 2025-10-06 04:36:06 | <EvanR> | a big ass line between two expressions to denote a fraction was pioneered by the egyptians if you squint hard enough |
| 2025-10-06 04:36:15 | <dcpagan> | That's nothing like how bc parses expressions. |
| 2025-10-06 04:36:31 | <EvanR> | | over numeral for whatever number was the reciprocol of that number |
| 2025-10-06 04:36:48 | <EvanR> | spookily similar to today's notation |
| 2025-10-06 04:37:31 | <EvanR> | for some reason it wasn't proper to put anything other than one in the numerator |
| 2025-10-06 04:38:05 | <EvanR> | not that that was considered "the numerator" |
| 2025-10-06 04:38:22 | <EvanR> | just notation (?) |
| 2025-10-06 04:40:37 | × | peterbecich quits (~Thunderbi@47-149-198-150.fdr01.slbh.ca.ip.frontiernet.net) (Ping timeout: 246 seconds) |
| 2025-10-06 04:40:37 | × | Googulator30 quits (~Googulato@2a01-036d-0106-03fa-5967-6f2a-1e2d-f05a.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-10-06 04:40:42 | → | Googulator4 joins (~Googulato@2a01-036d-0106-03fa-5967-6f2a-1e2d-f05a.pool6.digikabel.hu) |
| 2025-10-06 04:41:31 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-06 04:43:51 | <dcpagan> | jreicher: Overloading the obelus ("÷") for the reciprocal seems like a good idea; ISO 80000-2 has deprecated its use for division, so I may as well overload it to mean reciprocal for my personal notation. |
| 2025-10-06 04:45:31 | <jreicher> | Honestly I didn't know APL had that. But I was aware of Iverson's other work on notation. |
| 2025-10-06 04:50:05 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-10-06 04:52:22 | × | machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 256 seconds) |
| 2025-10-06 04:57:01 | × | jreicher quits (~user@user/jreicher) (Quit: In transit) |
| 2025-10-06 04:59:09 | → | qqe joins (~qqq@185.54.22.40) |
| 2025-10-06 05:00:51 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-06 05:06:35 | × | myxos quits (~myxos@syn-065-025-110-175.res.spectrum.com) (Ping timeout: 245 seconds) |
| 2025-10-06 05:07:42 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds) |
| 2025-10-06 05:10:39 | → | myxos joins (~myxos@syn-065-025-110-175.res.spectrum.com) |
| 2025-10-06 05:11:25 | × | Eoco quits (~ian@128.101.131.218) (Ping timeout: 264 seconds) |
| 2025-10-06 05:11:34 | × | remexre quits (~remexre@user/remexre) (Ping timeout: 260 seconds) |
| 2025-10-06 05:15:52 | × | jjhoo quits (~jahakala@user/jjhoo) (Ping timeout: 256 seconds) |
| 2025-10-06 05:17:17 | → | jjhoo joins (~jahakala@user/jjhoo) |
| 2025-10-06 05:17:45 | → | peterbecich joins (~Thunderbi@47.149.198.150) |
| 2025-10-06 05:18:52 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-06 05:20:15 | → | jreicher joins (~user@user/jreicher) |
| 2025-10-06 05:23:32 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-10-06 05:25:59 | × | Googulator4 quits (~Googulato@2a01-036d-0106-03fa-5967-6f2a-1e2d-f05a.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-10-06 05:26:04 | → | Googulator40 joins (~Googulato@2a01-036d-0106-03fa-5967-6f2a-1e2d-f05a.pool6.digikabel.hu) |
| 2025-10-06 05:29:28 | trickard_ | is now known as trickard |
| 2025-10-06 05:34:16 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-06 05:35:36 | → | myxokephale joins (~myxos@syn-065-025-110-175.res.spectrum.com) |
| 2025-10-06 05:35:36 | × | myxos quits (~myxos@syn-065-025-110-175.res.spectrum.com) (Read error: Connection reset by peer) |
| 2025-10-06 05:35:38 | × | jreicher quits (~user@user/jreicher) (Ping timeout: 260 seconds) |
| 2025-10-06 05:36:31 | → | jreicher joins (~user@user/jreicher) |
| 2025-10-06 05:38:49 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-10-06 05:44:17 | → | remexre joins (~remexre@user/remexre) |
| 2025-10-06 05:45:10 | × | qqe quits (~qqq@185.54.22.40) (Quit: leaving) |
| 2025-10-06 05:49:25 | → | emmanuelux_ joins (~emmanuelu@user/emmanuelux) |
| 2025-10-06 05:49:56 | → | poscat0x04 joins (~poscat@user/poscat) |
| 2025-10-06 05:50:54 | → | pavonia_ joins (~user@user/siracusa) |
| 2025-10-06 05:51:49 | × | Zemy quits (~Zemy@syn-072-176-124-082.res.spectrum.com) (Ping timeout: 246 seconds) |
| 2025-10-06 05:51:49 | × | poscat quits (~poscat@user/poscat) (Ping timeout: 246 seconds) |
| 2025-10-06 05:51:51 | × | peterbecich quits (~Thunderbi@47.149.198.150) (Ping timeout: 256 seconds) |
| 2025-10-06 05:52:17 | × | jreicher quits (~user@user/jreicher) (Ping timeout: 246 seconds) |
| 2025-10-06 05:52:24 | × | pavonia quits (~user@user/siracusa) (Ping timeout: 246 seconds) |
| 2025-10-06 05:52:43 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Ping timeout: 246 seconds) |
| 2025-10-06 05:52:56 | pavonia_ | is now known as pavonia |
| 2025-10-06 05:54:09 | → | jreicher joins (~user@user/jreicher) |
| 2025-10-06 05:54:12 | → | michalz joins (~michalz@185.246.207.203) |
| 2025-10-06 05:56:25 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 264 seconds) |
| 2025-10-06 05:57:06 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2025-10-06 05:58:03 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 2025-10-06 05:58:22 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2025-10-06 06:00:31 | × | Googulator40 quits (~Googulato@2a01-036d-0106-03fa-5967-6f2a-1e2d-f05a.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-10-06 06:00:42 | → | Googulator40 joins (~Googulato@2a01-036d-0106-03fa-5967-6f2a-1e2d-f05a.pool6.digikabel.hu) |
| 2025-10-06 06:02:11 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-06 06:02:31 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 246 seconds) |
| 2025-10-06 06:02:49 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 2025-10-06 06:06:43 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2025-10-06 06:17:34 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-10-06 06:21:06 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
All times are in UTC.