Logs: liberachat/#haskell
| 2026-03-22 21:49:38 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-03-22 21:54:03 | <mesaoptimizer> | jreicher: I imagine it is like Lisp. The more expressivity you have, the easier it is for people to shoot themselves in the foot. I personally haven't encountered that issue, mainly because I care a lot about reasoning about code, but I imagine other people may be excited about the 'power' of Lisp macros or advanced typeclasses / type system features and try to use them in prod |
| 2026-03-22 21:54:38 | <mesaoptimizer> | also maybe relevant: https://discourse.haskell.org/t/hasura-migrating-to-rust/6620/47 |
| 2026-03-22 21:55:26 | → | pabs3 joins (~pabs3@user/pabs3) |
| 2026-03-22 22:00:39 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-03-22 22:05:15 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-03-22 22:11:53 | <probie> | I don't think lisp macros are a foot cannon. Things don't go wildly wrong when you use them; it's just that any project that makes extensive use of them is effectively written in its own bespoke programming language |
| 2026-03-22 22:13:31 | × | mulk quits (~mulk@p5b1120ba.dip0.t-ipconnect.de) (Ping timeout: 265 seconds) |
| 2026-03-22 22:14:02 | → | mulk joins (~mulk@pd95147f8.dip0.t-ipconnect.de) |
| 2026-03-22 22:15:35 | → | CiaoSen joins (~Jura@p549cb690.dip0.t-ipconnect.de) |
| 2026-03-22 22:16:01 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-03-22 22:22:48 | × | takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Ping timeout: 255 seconds) |
| 2026-03-22 22:23:07 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-03-22 22:29:07 | × | elarks quits (~elarks@user/yerrii) (Quit: WeeChat 4.7.1) |
| 2026-03-22 22:30:49 | <jreicher> | probie: I absolutely think Lisp macros are a footgun, but not at all because they are an abstraction; it's because they generate new code at runtime. It's not quite the same as self-modifying code, but it's close enough. |
| 2026-03-22 22:31:21 | <jreicher> | You quite literally lose static analysis capability. Even for a human. |
| 2026-03-22 22:36:50 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-03-22 22:37:39 | → | Igloo joins (~ian@81.2.99.210) |
| 2026-03-22 22:38:38 | → | elarks joins (~elarks@user/yerrii) |
| 2026-03-22 22:41:19 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-03-22 22:42:24 | × | rainbyte quits (~rainbyte@181.47.219.3) (Read error: Connection reset by peer) |
| 2026-03-22 22:43:25 | → | rainbyte joins (~rainbyte@181.47.219.3) |
| 2026-03-22 22:48:37 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 2026-03-22 22:52:13 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-03-22 22:55:36 | <dpk> | jreicher: they generate new code at compile time, not at run time |
| 2026-03-22 22:56:24 | <dpk> | does anyone know if there’s a good reason why Happstack’s ServerPartT does not derive MonadMask, and if not (or if so and i promise to be very careful) what an orphan instance for it might look like? |
| 2026-03-22 22:56:30 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-03-22 22:58:45 | → | czan joins (~czan@user/mange) |
| 2026-03-22 22:59:10 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 2026-03-22 23:04:05 | <monochrom> | foot water pistol >:) |
| 2026-03-22 23:07:35 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-03-22 23:12:50 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-03-22 23:13:31 | × | craunts795335385 quits (~craunts@152.32.99.2) (Quit: The Lounge - https://thelounge.chat) |
| 2026-03-22 23:14:27 | × | xff0x quits (~xff0x@2405:6580:b080:900:e214:9b7d:413d:8df1) (Quit: xff0x) |
| 2026-03-22 23:15:34 | <davean> | dpk: I haven't looked but masking is dangerous in servers |
| 2026-03-22 23:19:13 | → | xff0x joins (~xff0x@2405:6580:b080:900:ab9b:e767:77f6:ed25) |
| 2026-03-22 23:23:58 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-03-22 23:27:09 | × | CiaoSen quits (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 2026-03-22 23:27:26 | → | bggd_ joins (~bgg@2a01:e0a:fd5:f510:bfe:c198:15:df5e) |
| 2026-03-22 23:28:30 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-03-22 23:29:25 | <probie> | jreicher: I can't speak to other lisp implementations, but if you're using SBCL, just call MACROEXPAND-ALL over your file and then run static analysis over that |
| 2026-03-22 23:37:57 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 255 seconds) |
| 2026-03-22 23:39:20 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-03-22 23:39:46 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 2026-03-22 23:43:54 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-03-22 23:54:44 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-03-23 00:01:24 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-03-23 00:12:47 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-03-23 00:17:38 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-03-23 00:28:09 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-03-23 00:31:50 | <probie> | fundamentally, lisp macros are not really much different than template haskell; they're just a bit less obvious because nothing visually distinguishes them from functions |
| 2026-03-23 00:32:24 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-03-23 00:32:29 | <humasect> | well.. |
| 2026-03-23 00:37:34 | × | Tuplanolla quits (~Tuplanoll@88-114-89-88.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2026-03-23 00:38:07 | → | weary-traveler joins (~user@user/user363627) |
| 2026-03-23 00:41:13 | × | msa quits (msa@msa.planetofnix.com) (Quit: Still trying to figure out how bouncers work.) |
| 2026-03-23 00:43:33 | → | merijn joins (~merijn@62.45.136.136) |
| 2026-03-23 00:47:46 | × | merijn quits (~merijn@62.45.136.136) (Ping timeout: 248 seconds) |
| 2026-03-23 00:50:19 | × | xff0x quits (~xff0x@2405:6580:b080:900:ab9b:e767:77f6:ed25) (Ping timeout: 245 seconds) |
| 2026-03-23 00:58:59 | → | merijn joins (~merijn@62.45.136.136) |
| 2026-03-23 01:03:14 | × | merijn quits (~merijn@62.45.136.136) (Ping timeout: 245 seconds) |
| 2026-03-23 01:04:54 | × | weary-traveler quits (~user@user/user363627) (Quit: Konversation terminated!) |
| 2026-03-23 01:05:10 | → | weary-traveler joins (~user@user/user363627) |
| 2026-03-23 01:14:17 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-03-23 01:19:07 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-03-23 01:29:45 | → | merijn joins (~merijn@62.45.136.136) |
| 2026-03-23 01:36:45 | × | merijn quits (~merijn@62.45.136.136) (Ping timeout: 255 seconds) |
| 2026-03-23 01:39:22 | → | xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2026-03-23 01:44:32 | × | CloneOfNone quits (~CloneOfNo@user/CloneOfNone) (Quit: ZNC 1.10.1 - https://znc.in) |
| 2026-03-23 01:45:14 | → | td123 joins (~tom@user/td123) |
| 2026-03-23 01:45:50 | → | CloneOfNone joins (~CloneOfNo@user/CloneOfNone) |
| 2026-03-23 01:47:42 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-03-23 01:50:00 | <jreicher> | dpk: sorry? Why do you think they don't expand at runtime? |
| 2026-03-23 01:51:13 | <td123> | hey all, I'm scratching my head on this for a while so going to ask here for some clues, I have a stack.yaml with `- retroclash-lib-0.1.2.3` under the extra-deps. I'm running `stack build --allow-newer` and it's not building the `retroclash-lib` package and I can't import in ghci, but there are no errors in `stack build --allow-newer`. Any ideas how this is possible? |
| 2026-03-23 01:52:03 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2026-03-23 02:03:04 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-03-23 02:07:08 | → | lbseale joins (~quassel@user/ep1ctetus) |
| 2026-03-23 02:08:07 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-03-23 02:08:55 | × | lbseale quits (~quassel@user/ep1ctetus) (Client Quit) |
| 2026-03-23 02:09:40 | → | lbseale joins (~quassel@user/ep1ctetus) |
| 2026-03-23 02:11:09 | × | lbseale quits (~quassel@user/ep1ctetus) (Client Quit) |
| 2026-03-23 02:11:11 | × | acidjnk_new3 quits (~acidjnk@p200300d6e700e59568b357488ab02b0f.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 2026-03-23 02:11:54 | → | lbseale joins (~quassel@user/ep1ctetus) |
| 2026-03-23 02:12:27 | <haskellbridge> | <alexfmpe> Not a stack user but isn't that just an override to LTS? You need to add it as a dep to package.yaml or so? |
| 2026-03-23 02:18:32 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-03-23 02:19:37 | <td123> | I'm not using a package.yaml file, I'm using a project.cabal file, and it's in the build-depends: also |
| 2026-03-23 02:20:41 | <haskellbridge> | <sm> project.cabal doesn't affect stack builds, it's a cabal-install thing |
| 2026-03-23 02:21:05 | <haskellbridge> | <sm> alexfmpe 's answer is right |
| 2026-03-23 02:23:10 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2026-03-23 02:26:43 | <td123> | ah so I need a package.yaml then, I didn't realize that was a thing, thanks all, I'll read up on that more |
| 2026-03-23 02:29:37 | → | husixu joins (~husixu@2406:3003:2007:fe4:68ee:9c53:6141:39ea) |
| 2026-03-23 02:30:00 | <geekosaur> | are you confusing project.cabal with cabal.project? |
| 2026-03-23 02:30:38 | <geekosaur> | package.yaml just writes a foo.cabal for whatever "foo" is from the package name |
| 2026-03-23 02:31:40 | × | gabiruh_ quits (~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in) |
| 2026-03-23 02:31:46 | × | fun-safe-math quits (~fun-safe-@97.115.234.213) (Read error: Connection reset by peer) |
| 2026-03-23 02:31:58 | → | gabiruh joins (~gabiruh@vps19177.publiccloud.com.br) |
| 2026-03-23 02:33:01 | → | fun-safe-math joins (~fun-safe-@97.115.234.213) |
| 2026-03-23 02:33:49 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 2026-03-23 02:38:26 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-03-23 02:39:16 | <td123> | geekosaur: hmm I see. I think I need to learn stack a little bit more then so that I can use it properly. I thought all you had to do was add it to the stack.yaml and .cabal files to make it work. Google's ai summary of google results led me astray then |
All times are in UTC.