2025/10/06

Newest at the top

2025-10-06 12:00:53 +0200 <dminuoso> https://hackage-content.haskell.org/package/jsaddle-warp-0.9.9.5/docs/Language-Javascript-JSaddle-…
2025-10-06 11:59:57 +0200 <dminuoso> But that one doesnt actually do anything.
2025-10-06 11:59:33 +0200 <dminuoso> Is one of those things
2025-10-06 11:59:30 +0200 <dminuoso> https://hackage-content.haskell.org/package/jsaddle-0.9.9.3/docs/Language-Javascript-JSaddle-Null.…
2025-10-06 11:58:38 +0200 <dminuoso> bwe: Note that JSM is essentially a `JSContextRef` attached to some IO that needs to be actually fed to a JavaScript engine.
2025-10-06 11:57:58 +0200 <dminuoso> bwe: It does not give you IO JSVal.
2025-10-06 11:56:40 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2025-10-06 11:53:36 +0200 <bwe> So, what is https://hackage-content.haskell.org/package/jsaddle-0.9.9.3/docs/Language-Javascript-JSaddle-Evalu… then doing if it is not using an engine?
2025-10-06 11:44:22 +0200annamalai(~annamalai@157.33.222.95) annamalai
2025-10-06 11:41:27 +0200 <dminuoso> bwe: It does require an engine, but you cant just straight up "pick v8" for instance.
2025-10-06 11:40:31 +0200 <bwe> dminuoso: do you understand jsaddle to just run the script OR that it requires some engine to do the job?
2025-10-06 11:39:59 +0200 <dminuoso> I mean you could use a browser if you're fine with that.
2025-10-06 11:39:30 +0200 <dminuoso> bwe: Im not entirely sure how you would attach jsaddle to a standalone javascript engine (or whether its possible)
2025-10-06 11:37:58 +0200 <bwe> here we go: https://hackage-content.haskell.org/package/jsaddle-0.9.9.3/docs/Language-Javascript-JSaddle-Evalu…
2025-10-06 11:36:42 +0200 <dminuoso> bwe: jsaddle is probably your best bet.
2025-10-06 11:35:40 +0200Googulator81(~Googulato@2a01-036d-0106-03fa-5967-6f2a-1e2d-f05a.pool6.digikabel.hu) (Quit: Client closed)
2025-10-06 11:35:37 +0200Googulator3(~Googulato@2a01-036d-0106-03fa-5967-6f2a-1e2d-f05a.pool6.digikabel.hu)
2025-10-06 11:34:40 +0200dostoevsky(~dostoevsk@user/dostoevsky) dostoevsky
2025-10-06 11:32:48 +0200 <bwe> (I am not sure whether the Zig thing would map to the requirement, tbh)
2025-10-06 11:32:21 +0200 <dminuoso> (To me, a separate process wouldn't even be enough)
2025-10-06 11:32:13 +0200 <bwe> dminuoso: I've no clue at the moment (I am trying to get a basic yt-dlp working which executes the YT player js). So, specifically, equivalent to https://github.com/yt-dlp/yt-dlp/blob/master/yt_dlp/jsinterp.py#L263
2025-10-06 11:32:11 +0200 <dminuoso> From a security perspective alone, user definable code must run at least in a separate process.
2025-10-06 11:30:23 +0200 <dminuoso> Because then its just `runProcess`
2025-10-06 11:30:11 +0200 <dminuoso> Apart from "it runs javascript"
2025-10-06 11:30:06 +0200dostoevsky(~dostoevsk@user/dostoevsky) (Remote host closed the connection)
2025-10-06 11:30:03 +0200 <dminuoso> merijn: Well Im not quite sure how the website demonstrates any sort of requirements.
2025-10-06 11:29:54 +0200dostoevsky(~dostoevsk@user/dostoevsky) dostoevsky
2025-10-06 11:29:53 +0200 <merijn> Written in Zig, so I'm guessing the answer is "interact with it's API via FFI"
2025-10-06 11:29:33 +0200 <merijn> dminuoso: That link is an embeded JS interpreter afaict
2025-10-06 11:29:27 +0200annamalai(~annamalai@157.33.195.79) (Ping timeout: 256 seconds)
2025-10-06 11:28:26 +0200trickard_(~trickard@cpe-49-98-47-163.wireline.com.au)
2025-10-06 11:28:25 +0200 <dminuoso> i.e. any kind of FFI, or just input/outout bindings, or do you just want to run Node.js as a process?
2025-10-06 11:27:58 +0200trickard(~trickard@cpe-49-98-47-163.wireline.com.au) (Ping timeout: 246 seconds)
2025-10-06 11:27:27 +0200 <dminuoso> bwe: Depends, do you need *any* bindings at all?
2025-10-06 11:27:04 +0200 <bwe> How do I run JS from Haskell? Like https://kiesel.dev/.
2025-10-06 11:21:45 +0200chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0
2025-10-06 11:21:11 +0200__monty__(~toonn@user/toonn) toonn
2025-10-06 11:17:52 +0200jackneill__(~Jackneill@188-143-82-121.pool.digikabel.hu)
2025-10-06 11:15:39 +0200Googulator81(~Googulato@2a01-036d-0106-03fa-5967-6f2a-1e2d-f05a.pool6.digikabel.hu)
2025-10-06 11:15:32 +0200Googulator81(~Googulato@2a01-036d-0106-03fa-5967-6f2a-1e2d-f05a.pool6.digikabel.hu) (Quit: Client closed)
2025-10-06 11:14:34 +0200dutchie(~dutchie@user/dutchie) dutchie
2025-10-06 11:14:23 +0200jackneill__(~Jackneill@188-143-82-121.pool.digikabel.hu) (Max SendQ exceeded)
2025-10-06 11:14:23 +0200dutchie(~dutchie@user/dutchie) (Max SendQ exceeded)
2025-10-06 11:14:21 +0200j0lol(~j0lol@132.145.17.236) j0lol
2025-10-06 11:14:21 +0200dontdieych(~dontdieyc@132.226.169.184) dontdieych
2025-10-06 11:14:21 +0200kaskal(~kaskal@84-115-235-223.cable.dynamic.surfer.at) kaskal
2025-10-06 11:14:21 +0200thaumavorio_(~thaumavor@thaumavor.io) thaumavorio
2025-10-06 11:14:21 +0200connrs(~connrs@user/connrs) connrs
2025-10-06 11:14:21 +0200Ranhir(~Ranhir@157.97.53.139) Ranhir
2025-10-06 11:14:21 +0200tessier(~tessier@ec2-184-72-149-67.compute-1.amazonaws.com) tessier