IRC channel logs


back to list of logs

<bavier>xyh: hi
<xyh>hi bavier :)
<bavier>yes, we talked the other day about joy
<bavier>I'm playing with it right now actually
<xyh>so am
<xyh>how do you implement ifte ?
<xyh>I do not following joy as closely as you, I embed it in js
<xyh>I also add local variable and pattern match support to it
<bavier>in my implementation I defined it in terms of other joy primitives
<bavier>I was trying to define as little as possible in the host language
<xyh>ifte has problem IMO
<xyh>do you save all the stack for it ?
<bavier>yes, that seems to be the intended semantics
<xyh>I simply use explicit 'dup' instead of save stack
<bavier>so you assume the condition affects only the top stack element?
<xyh>here is an example of factorial
<xyh>(it is just coffeescript
<bavier>I see, so you leave it to the conditional to retain the desired state of the stack
<xyh>it is very in-efficient to save all stack for every predicate of any brach
<xyh>* branch
<bavier>for sure
<xyh>while, if you have a type system, it would be very easy to know how many arguments are needed
<xyh>but I can not do it for js
<bavier>if the stack is not mutable, it would be enough to simply restore a pointer
<bavier>in my guile implementation, this would be trivial if ifte were a primitive.
<bavier>but I've not paid much attention to efficiency, as I don't yet have any applications that require at the moment
<xyh>no, the predicate-part can pop and push the stack too, pointer is not enough
<xyh>do you also know this ::
<xyh>such a joy to read the doc of joy
<bavier>xyh: that looks useful, thanks
<xyh>here is my support for local variables ::
<xyh>without local variable there would be problems about ::
<vanila>hi all
<vanila>im just reading of the mk-attributes potluck code
<vanila>im curious about the efficiency of it, wonder if might benchmark it against the other impl. of =/=
<xd1le>would it be possible to parse elisp files in gnu guile?
<xd1le>(and use that result in a guile scheme program?)
<nalaginrut>xd1le: I don't know if it works perfectly, but guile-emacs works smoothly, and seems all my plugins works fine. I didn't do more tests. But I guess elisp frontend is ok now ;-)
<xd1le>nalaginrut: nice!
<xd1le>if i may ask, how many plugins do you use?
<xd1le>i guess i'll probably have to look through the source to find the parser
<xd1le>(assuming it's written in scheme, not sure...)
<nalaginrut>xd1le: that's a problem, my plugins is relatively few, so I can't say it's perfect, just fine.
<holomorph>does guilemacs still need bipt's guile fork, or do all the necessary things live in guile now?
<nalaginrut>holomorph: I don't know, didn't dig into the code. Maybe some code is not in current guile official repo?
<nalaginrut>I'm not using it now, just tried before, so I can't ensure now
<nalaginrut>there were still some occasionally halting problem for me, dunno how about now
<davexunit>ACTION wonders why trying to compile files with a new language causes an endless read/compile loop
<davexunit>ah, need to return an eof object from the reader
<stis>hello guilers!
<amz3>ipfs is on the rise :)
<amz3>anyway, I debugged the procedure dynamic-link* procedure
<amz3>what do you think about adding it to (system foreign) ?
<stis>(min 1 2.0) => $3 = 1.0
<stis>we should be able to deduce that the result is exact no?
<stis>guile 2.1.2
<stis>amz3: cool! seams like a useful addition.
***Reginald-Wolfgan is now known as Amadeus-Ferdinan
<Jookia>Hmm, given a quoted sexpr how do I evaluate it?
<amz3>Jookia: use eval
<Jookia>How exactly do I call it?
<amz3>(eval `(+ 1 2) (current-module ))
<Jookia>Thanks, is there a reason it's not widely used?
<amz3>what do you want to use it for?
<amz3>probably because there is other more elegant solutions
<amz3>eval'ing is a security risk
<Jookia>Well, I have a function that prepares a function call- this function call is intended to be serialized
<Jookia>Or rather, inserted in to an sexpr
<amz3>you can't pass the procedure as an argument?
<Jookia>No, it's being written to a script that's run later
<Jookia>amz3: Basically there's code in module B that's imported by A. A will either generate a script that uses B later or run it now.
<lucasb>hello everyone
<lucasb>I'm hitting some error while trying to compile guile-2.1.2
<lucasb>the problem occurs in the 'BOOTSTRAP GUILEC ice-9/eval.go' step
<lucasb>the error is: ../../module/ice-9/boot-9.scm:781:26: In procedure bytevector-u32-set!: Value out of range: -149659645
<lucasb>I'm on x86-32bit linux. anyone knows anything about this issue?
***Guest91588 is now known as micro`
<kristofer>hello guilers! is there a way to write a large object to disk so I don't have rebuild it in the future when I want to use it?
<amz3>you might be able to do that using 'write'
<amz3>if the datastructure is serializable
***Amadeus-Ferdinan is now known as Mary-Anne
***Mary-Anne is now known as Jacques-Frederiq
***Korhonen is now known as Meredith-Harvey
<davexunit>ACTION making progress with Vulkan bindings
<davexunit>I can parse almost everything from the xml now.
<davexunit>but I still only generate bindings for simple enumerations and type aliases.
<davexunit>hmm, why does my compiled guile module not have access to things in the default environment...
<davexunit>I think my problem stems from wrapping the compiled code in a 'begin'