IRC channel logs

2022-05-13.log

back to list of logs

<amk>what do soft ports do? Are they like user-defineable ports or something?
<stis>basically allows scheme hooks in stead of all C
<daviid>amk: https://www.gnu.org/software/guile/manual/html_node/Port-Types.html, https://www.gnu.org/software/guile/manual/html_node/Soft-Ports.html
<daviid>anyone has a set of emacs config expression tocorectly indent sxml code?
<lilyp>stis: haven't ready any of it yet (sadly), but nice
***lampilelo_ is now known as lampilelo`
***lampilelo` is now known as lampilelo
<andrzejku>hello
<lampilelo>hello
<andrzejku>I was thinking today what was the reason to implement GNU Guile Scheme language when there was already OCaml and Lisp and maybe other languages
<andrzejku>from the same family
<daviid>andrzejku: https://www.gnu.org/software/guile/manual/html_node/History.html
<andrzejku>interesting
<chrislck>sneek: botsnack
<sneek>:)
<rekado>FWIW using lookahead-u8 / peek-char on a port opened with open-socket-for-uri does not solve the problem of using http-head in the fibers web server.
<rekado> https://elephly.net/paste/1652430633.html
<civodul>ah, that's the wrapper around the TLS record port
<civodul>looking at the comment that reads "This wrapper would be unnecessary if ...", we should take that route
<civodul>it's ridiculous that we have to wrap the record port just for that
<civodul>that would solve the problem shown in the backtrace above
<civodul>i can't think of a short-term workaround though
<janneke>hmm, with a guix shell from the gcc-toolchain@7.5.0 days, wip-mingw works but built with a recent guix shell it segfaults
<sneek>Welcome back chrislck :)
<dsmith-work>Happy Friday, Guilers!!
<civodul>Hello!
<stis>Evening guilers!
<stis>civodul: I have a soft-port implementation that is suspendable, write and fromat is the tghingies that does not work as they ar C coded in print.c mostly
<stis>But for all other normal operations it works quite nicely
<stis>I'm looking into writing a scheme version of print.c playing with it now
<stis>Friday greetings all of you!
<stis>So it is quite possible to get something to run by linking in the modules that enables this just as with the suspendable-ports code
<civodul>stis: neat, thanks!
<stis> http://itampe.com/suspendable-soft-ports.html
<stis>the print function is a bit trickier as needs to know C, but I will use ffi to the best ogf my knowledge
<ArneBab>amk: soft ports mean that you can use ports for communication between different parts of your program.
<amk>oh cool thats prety neat!
<ArneBab>amk: I am currently using socketpairs for that in dryads-wake, but what I do is an example of what you can do with suspendable soft ports: I have a pure commandline text rpg. By calling it with-current-input-port and -with-current-output-port, I rewire the output to run through a websocket to a browser, so the exact same code powers this: https://dryads-wake.1w6.org/ (run with --server)
<tricon>ArneBab: very, very cool. also enjoyed your wisp presentation (by proxy) recently. i find the combination of "film scripts" and code quite appealing.
<stis>The printer is now coded, some edges left and some objects not covered, but we can start to debug it now
***dostoevsky1 is now known as dostoevsky
<stis>yeay the new printer in scheme is super nice
<stis> https://gitlab.com/tampe/guile-persist/-/blob/master/ice-9/write.scm
<stis>if you want to limit bytevector output, that's tyhe shit.
<stis>yeay suspendable soft ports now also works with format and a scheme verison of the printer is entirely suspendable
***dostoevsky6 is now known as dostoevsky
<stis>scheme@(guile-user)> (make-vector 100 #f)
<stis>$2 = #(#f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f ...)
<stis>scheme@(guile-user)>
***dostoevsky2 is now known as dostoevsky