Logs: liberachat/#haskell
| 2025-09-24 19:37:53 | <tomsmeding> | I was bored enough to click around a bit in prlg and then give up |
| 2025-09-24 19:37:53 | <[exa]> | there's a vienna abstract machine, which is kinda like warren abstract machine but has 2 instruction pointers, which allows it to allocate less |
| 2025-09-24 19:38:02 | → | weary-traveler joins (~user@user/user363627) |
| 2025-09-24 19:38:15 | <[exa]> | so this is a slightly refactored VAM in.... haskell lists. |
| 2025-09-24 19:38:25 | <tomsmeding> | :D |
| 2025-09-24 19:38:39 | <tomsmeding> | sounds very fast |
| 2025-09-24 19:39:06 | <[exa]> | I was playing with the idea of metalanguages in prolog there, like the stuff they have for CLP |
| 2025-09-24 19:39:39 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-24 19:39:56 | <[exa]> | after the effort I made a crucial observation that metalanguages are a complete BS and people should instead write more tiny transpilers and preprocessors |
| 2025-09-24 19:40:09 | <[exa]> | (sounds biased!) |
| 2025-09-24 19:40:29 | <tomsmeding> | how do you implement somethine like a CLP using a transpiler? |
| 2025-09-24 19:40:33 | <tomsmeding> | s/a CLP/CLP/ |
| 2025-09-24 19:40:53 | <[exa]> | you make another language that describes it nicely and compile it to prolog |
| 2025-09-24 19:41:32 | <tomsmeding> | but don't you need something more than plain prolog search to efficiently solve CLP problems? |
| 2025-09-24 19:41:34 | <[exa]> | the actual CLP implementation in most prologs, including swi, (and except maybe the historical big ones) is a bunch of macros |
| 2025-09-24 19:41:40 | <tomsmeding> | oh really |
| 2025-09-24 19:41:59 | <[exa]> | yeah tbh I expected more in there |
| 2025-09-24 19:42:13 | <tomsmeding> | found the jump into the infotable https://git.e-x-a.org/exa/uskel/src/branch/master/include/gc.s#L154 |
| 2025-09-24 19:42:27 | <__monty__> | And why is a separate compiler better than a macro system? |
| 2025-09-24 19:42:40 | <[exa]> | "prolog macros" as in term_expansion/2 and goal_expansion/2 |
| 2025-09-24 19:43:10 | <[exa]> | __monty__: oh, a clean macro system _is_ okay. The magic is to avoid mixing the layers. |
| 2025-09-24 19:43:40 | <[exa]> | still no idea how to defend haskell in this view, the "types" are kinda metalanguage that mixes very much, yet they are SO GOOD |
| 2025-09-24 19:44:20 | <tomsmeding> | types don't feel like a metalanguage to me, but that may be because I'm mostly unfamiliar with the whole prolog mindspace |
| 2025-09-24 19:44:20 | <[exa]> | disclaimer, these ^^ are more like feelings than actual opinions, don't fry me over details pls |
| 2025-09-24 19:44:37 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds) |
| 2025-09-24 19:46:47 | <tomsmeding> | [exa]: looking at https://e-x-a.org/ , is there a particular reason why you pluralise 'fedis' 'githubs' etc |
| 2025-09-24 19:46:59 | <tomsmeding> | I've seen you do that before here on irc, kind of |
| 2025-09-24 19:47:10 | <tomsmeding> | and now I'm wondering if it's just funny or if there's something I'm missing |
| 2025-09-24 19:47:24 | <[exa]> | tomsmeding: re gc, there are funny things. The memory is (for some certain convenience lol) allocated in decreasing direction but scavenging can only move the pointer to the next item forward (scavenging is the only way to guess the size of something), so there's a double loop there, in each round a bit of stuff is evacuated (growing down) and then the whole new evacuated thing is scavenged back |
| 2025-09-24 19:47:26 | <[exa]> | to top |
| 2025-09-24 19:47:39 | <monochrom> | Yeah the debate between "there are lambda terms, and then some of them are typeable in your [limited] type system" vs "there are types, and then there are lambda terms [but only typeable ones]" |
| 2025-09-24 19:47:49 | → | fp joins (~Thunderbi@89-27-10-140.bb.dnainternet.fi) |
| 2025-09-24 19:47:51 | <[exa]> | ah lol, that's like "interwebs" or so |
| 2025-09-24 19:48:21 | <tomsmeding> | yeah |
| 2025-09-24 19:48:24 | <tomsmeding> | interesting re gc |
| 2025-09-24 19:48:30 | <monochrom> | Quantum gravity predicts a superposition of multiple githubs >:) |
| 2025-09-24 19:48:51 | <[exa]> | we've got a relatively legendary meme in CZ with the old woman saying something like "I'd ban all these internets" back in 1995-ish for a big newspaper |
| 2025-09-24 19:49:00 | <[exa]> | locally legendary I'd say |
| 2025-09-24 19:49:02 | <tomsmeding> | so when something is deallocated, it's first moved by evacuation, and then deleted? |
| 2025-09-24 19:49:34 | <[exa]> | so I guess it might be derived from that one |
| 2025-09-24 19:49:41 | <tomsmeding> | sounds goo |
| 2025-09-24 19:49:43 | <tomsmeding> | *good |
| 2025-09-24 19:50:07 | <[exa]> | if something is deallocated it's never reached by the scavenging because there's nothing to scavenge it |
| 2025-09-24 19:50:13 | <[exa]> | btw scavenge routine _calls_ evacuations |
| 2025-09-24 19:50:40 | <[exa]> | s/calls/triggers/, there's no actual call anywhere |
| 2025-09-24 19:51:38 | tomsmeding | doesn't quite follow the gc stuff any more but it's late and I don't care enough today, sorry |
| 2025-09-24 19:51:51 | <tomsmeding> | it's not complicated but my brain is not active enough :) |
| 2025-09-24 19:51:56 | → | m1dnight joins (~m1dnight@109.236.63.53) |
| 2025-09-24 19:54:01 | <monochrom> | Haha "Unknown function: ... This is so exciting that it deserves its own section" |
| 2025-09-24 19:54:02 | <[exa]> | yeah it's actually simple, but quite tangled together in like 2 big circles which doesn't help |
| 2025-09-24 19:54:20 | <[exa]> | oh wow the internets meme has its own wiki https://cs.wikipedia.org/wiki/J%C3%A1_bych_v%C5%A1echny_ty_internety_a_po%C4%8D%C3%ADta%C4%8De_zak%C3%A1zala |
| 2025-09-24 19:54:30 | × | Googulator20 quits (~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-09-24 19:54:35 | <[exa]> | tomsmeding: googletranslate if you want to ^ |
| 2025-09-24 19:54:44 | → | Googulator20 joins (~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) |
| 2025-09-24 19:55:14 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Read error: Connection reset by peer) |
| 2025-09-24 19:55:25 | <tomsmeding> | when I look at that page I see "letters with lots of ' |
| 2025-09-24 19:55:27 | <tomsmeding> | " |
| 2025-09-24 19:55:28 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-24 19:55:31 | <tomsmeding> | okay that came out wrong |
| 2025-09-24 19:55:45 | <tomsmeding> | "letters with lots of ´" |
| 2025-09-24 19:55:47 | <tomsmeding> | there |
| 2025-09-24 19:55:53 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 2025-09-24 19:55:53 | <[exa]> | yeah somehow it didn't reach english internets |
| 2025-09-24 19:56:14 | <[exa]> | monochrom: lol where |
| 2025-09-24 19:56:22 | <tomsmeding> | gtranslate successfully translates internety to "internets" |
| 2025-09-24 19:56:30 | <[exa]> | \o/ |
| 2025-09-24 19:56:47 | <monochrom> | The GHC wiki, RTS, function calls. |
| 2025-09-24 19:56:54 | <tomsmeding> | oh but only in the first paragraph, not in the callout blockquote |
| 2025-09-24 19:57:01 | <monochrom> | err, RTS, execution, function calls |
| 2025-09-24 19:58:40 | <monochrom> | I'm going to use the phrase "this is so exciting that it deserves its own lecture/assignment/course" when I teach. >:) |
| 2025-09-24 19:59:38 | <tomsmeding> | :D |
| 2025-09-24 19:59:53 | <monochrom> | Sample preview: "The Parser type together with pure and (>>=) forms a monad. This is so exciting that..." |
| 2025-09-24 19:59:56 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-09-24 20:00:01 | <tomsmeding> | nice |
| 2025-09-24 20:00:38 | <monochrom> | BTW the number theory course here, the prof decides "I don't want to talk about the Peano axioms" so he told students "free monoid on the singleton set". |
| 2025-09-24 20:00:55 | <[exa]> | radical. |
| 2025-09-24 20:01:02 | <tomsmeding> | so he taught category theory instead? |
| 2025-09-24 20:02:05 | <monochrom> | Also it looks like he characterizes lcm as a categorical product. (This I haven't verified. I just saw, on blackboards in our math aid room, a commuting showing 60->6, 6->2, 6->3" |
| 2025-09-24 20:02:19 | × | dhil quits (~dhil@5.151.29.141) (Ping timeout: 250 seconds) |
| 2025-09-24 20:02:38 | <monochrom> | commuting diagram |
| 2025-09-24 20:03:51 | <monochrom> | I'm now very afraid (haha). Maybe I should teach free monads and algebraic effects and Yoneda lemma to keep up. |
| 2025-09-24 20:04:37 | <[exa]> | tbh you should |
| 2025-09-24 20:05:18 | <[exa]> | like, even if you spent 3 minutes on each just showing the intuition, you convert a few people from "omg yoneda is too much categories to understand" to "ok wow yoneda again" |
| 2025-09-24 20:05:36 | × | Googulator20 quits (~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-09-24 20:05:39 | → | Googulator98 joins (~Googulato@2a01-036d-0106-0744-4151-2ee3-78cb-4ad2.pool6.digikabel.hu) |
| 2025-09-24 20:05:49 | <tomsmeding> | [exa]: that meme history is unsatisfying, I expected a response from Pohlová herself |
| 2025-09-24 20:06:35 | <[exa]> | we assumed she banned the internet locally and has no way to respond |
| 2025-09-24 20:06:54 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-24 20:07:25 | <monochrom> | It was the last straw that converted me, to be sure. :) |
| 2025-09-24 20:08:32 | <[exa]> | monochrom: a slight indoctrination with categories is never wrong |
| 2025-09-24 20:10:19 | [exa] | observes it's time to open a beverage |
| 2025-09-24 20:11:05 | → | peterbecich joins (~Thunderbi@syn-172-222-149-049.res.spectrum.com) |
| 2025-09-24 20:12:18 | <monochrom> | It happened this way if you want to know. Gordon Plotkin accepted an invitation to our university to give a lecture. He casually gave examples of "generic effects" e.g. "(M a)^2 -> M a" becomes "M Bool". I could see that intuitively it's right but I could put my finger on a math reason. Then it dawned on me "I'm a moron, I'm supposed to know the Yoneda lemma!" |
| 2025-09-24 20:12:39 | Googulator98 | is now known as Googulator |
| 2025-09-24 20:13:04 | <monochrom> | s/could/couldn't/ |
| 2025-09-24 20:13:39 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2025-09-24 20:13:46 | tomsmeding | shall retire for the night, thanks for the fun |
| 2025-09-24 20:14:41 | <haskellbridge> | <magic_rb> Goodnight |
| 2025-09-24 20:15:12 | <tomsmeding> | :) |
| 2025-09-24 20:17:43 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
All times are in UTC.