IRC channel logs
2025-10-31.log
back to list of logs
<lloda>euouae: most bindings are just reexports, but those are incompatible. boot-9's map requires all arguments to be the same length, as do r5rs and r6rs, but srfi-1 and r7rs don't <dthompson>kestrelwx: that file permission error looks like something you would see on hoot 0.6 but was fixed for 0.7. I also use guix and wrote the bug fix for this. <dthompson>one possible explanation is that if you were using 0.6 for a previous --bundle usage and then switched to 0.7 you would still see this file permission issue. try deleting the bundled wasm/js files and then doing a --bundle twice. <dthompson>'export' is part of r6rs/r7rs library syntax <characteristic>kestrelwx: (define thing 42) (export thing) is a Guile extension if you are talking about that <dthompson>that doesn't work in hoot because it's not really declarative <dthompson>exports must be specified in the module definition <kestrelwx>I forgot that I need to export everything, so I will probably write everything to a temp file first and then copy it after the header. <kestrelwx>dthompson: I don't see the bundle error anymore with the `.js` and `.wasm` artifacts deleted. <euouae>how can I use syntax-rules ... feature in syntax-case? <euouae>I've tried to replace (foo x x* ...) with (foo x . rest) and (bar x x* ...) with (bar x ,@x*), does that look right? <euouae>foo being the match and bar being the application later <old>euouae: What do you mean syntax-rules features? <old>syntax-rules is implemented with syntax-case, so that would be the other way around no? <euouae>The ellipsis, is it supported in syntax-case? <dthompson>(syntax-case stx () ((foo ...) #'(list foo ...))) <euouae>Got it, thank you. Must be something else I'm getting wrong then. <euouae>old: Well, not necessarily, since syntax-rules is a specialization it can support "more" DSL features, but in this case it's not true <old>Hmm I'm not sure what syntax-rules can support more. If you have an example I'll be interested <old>I often just use syntax-cases directly <euouae>I'm not saying it does, I'm saying it is conceivable it could <euouae>I theorized perhaps that's why I'm getting an error, I was wrong <euouae>ah sigh, I had my definitions outside the R6RS library form <euouae>it's so awkward that library thing. R7RS is much nicer <euouae>The ... feature is not in (rnrs base (6)) <euouae>However define-syntax *is* available in base. I'm trying to figure out if that's a guile issue or if R6RS really specifies it as such <euouae>Okay, apparently I should've used (rnrs syntax-case (6)). <hwpplayer1>rlb: hello I learned that you are a packager emacs for Debian <hwpplayer1>When will Emacs 30.2 will be ready for Debian 13 <kestrelwx>I'm not quite sure, how would I convert a list into a JS array? <rlb>hwpplayer1: not sure; don't know if spwhitton's started on it, but I haven't yet --- it's on the "middle burner". I might start on it in a week or two, and then it usually takes a day or so to sort out "depending". <rlb>(might sooner, too, but we'll seen) <rlb>There's also #debian-emacs on oftc. <rlb>(...though that's more often add-on package discussions than emacs proper -- the people handling all that packaging are impressive) <rlb>kestrelwx: don't know if it'd help, but there some guile/json packages iirc. <rlb>both -- though more often scheme/clojure/python/c/... than elisp. <rlb>"there are some guile/json packages" <kestrelwx>Sorry, this seems to be about converting opaque? wasm objects into JS stuf. <rlb>Oh, if you're talking about *real* js arrays i.e. for interop with guile in the browser, then no idea. <rlb>(I'd been thinking "serialization".) <kestrelwx>Oh, there's an example on dthompson's January blogpost. <dthompson>kestrelwx: you can car/cdr on the js side using the wrapper objects that reflect.js creates <dthompson>it's not going to be particularly fast but if you need to do the conversion that's an option <dthompson>usually it's more convenient to do the conversion the other way around from scheme <dthompson>but either way you have to traverse a foreign structure <kestrelwx>Yeah, but this is streaming data to WebGL, same as you had to. <dthompson>you wouldn't be using lists or arrays for that <kestrelwx>Yeah, I'm trying to build a Float32Array and Int32Array. <dthompson>kestrelwx: okay earlier you said "array" which made me think you were doing something with a regular js array <dthompson>you want to use bytevectors on the scheme side and pack those with your vertex data <dthompson>there's currently no way in wasm to avoid the copy. that's going to be the biggest performance killer for webgl apps right now. <kestrelwx>Well, I cheated and hardcoded my indices, and I got a white square instead of a rainbow text I was hoping for. <kestrelwx>But I'm trying to render text in an offscreen 2D canvas, so that I get 'crisp' text in a WebGL context, was hoping to finish a showcase today. <kestrelwx>No matter, thanks, I'll get back to it tomorrow. Good night!