IRC channel logs

2017-05-17.log

back to list of logs

<bnw>Is it possible to compile guile with version postfix like compiling gcc?
<bnw>Never mind, just find --program-suffix
<bnw>found
<nalaginrut>I've taken a look at Julian language, it can import python module directly. So I'm going to research how it did so. This skill could let multi-lang on Guile call the original modules directly, and this would make multi-lang really useful for the industry
<nikita1>nalaginrut: python API allows good introspection, so you can browse module contents and make calls. moreover, julia calls and type system is compatible with python.. so almost nothing is needed for conversion
<nikita1>with respect to guile, such conversion may be problematic to make it automatically and make it good for all cases.
<nikita1>as I remember, python was developed with keeping in mind all bad Lisp sides, so it is not just weakly compatible, but even contradicting to scheme.
<nalaginrut>nikita1: btw, could you give me a test case for #81?
<nalaginrut>I plan to release 2.1 after this fix
<nalaginrut>0.2.1
<nalaginrut>I've updated new keyid to upload to gnu ftp, 0.2 is failed to release actually
<nalaginrut>and I'll provide a docker image for newbies, but it's hard to announce this one since docker is not free software
<nikita1>nalaginrut: f.e. if you take the old code for with generating many images (in previous bugs) and, while opening the url (which should take some time), press a refresh button --> artanis quits
<nalaginrut>ok, maybe I should set buffer size smaller to let the communication be slower for test
<nikita1>I don't think it will help
<nikita1>I think the write to port errors should be catched in handler
<nikita1>may be ragnarok-write call should be additionally wrapped to handle the case where protocol writes failed
<nalaginrut>nikita1: I mean the transmission is too fast for me to click the stop, I need to set the buffer size smaller, now I can reproduce it
<nikita1>aa
<nikita1>nalaginrut
<nikita1>do some db stuff in handler, f.e. database analyze
<nikita1>it will produce the needed response timeout
<nalaginrut>let me think how to fix it properly
<nalaginrut>the basic idea is to catch the I/O error in the handler
<nalaginrut>well, I need all the I/O keys for catch, seems Guile manual doesn't provide them
<nikita1>may be just start with broken pipe error
<nikita1>It will increase stability by 80% with 20% of effort
<nalaginrut>nikita1: ok, I just catch #t in both ragnarok-read and ragnarok-write, and close when any exception
<nalaginrut>it seems a naive fix
<nalaginrut>but we could check more things if it's need
<nalaginrut>needed
<nikita1>nalaginrut: looks reasonable for ther first time.
<OrangeShark>nalaginrut: python has a C api which it looks like what Julia is using
<nalaginrut>OrangeShark: hmm
<nalaginrut>nikita1: no, it's not, I've tried, since ragnarok-close need you tell it whether client or server caused the exception closed the connection
<nalaginrut>we can't anticipate it before calling ragnarok-close
<nalaginrut>nikita1: now my fix is just (break-task) when encountered exceptoin
<nalaginrut>exception
<nalaginrut>and let the epoll check it for me next loop
<nalaginrut>for now, this fix works well
<nalaginrut>but this may overkilled the exceptions which doesn't need to close connection only
<nalaginrut>but we can check the exception in the catch handler to make it more reasonable
<nalaginrut>for now, I have no idea what kind of exception should be checked, my idea is to just fix it like that, and add more check to handle exceptions properly when we encounter more different exceptions
<nalaginrut>nikita1: what do you think
<nalaginrut>if we really need, we may add cond to check possible exceptions one by one
<nalaginrut>in the catch handler in ragnarok-read and ragnraok-write
<nalaginrut>anyway, it's necessary to catch exceptions for these 2 API
<jlicht>hi nalaginrut!
<nalaginrut>jlicht: heya
<jlicht>I still wanted to ask you about how to use lua with guile :)
<nalaginrut>I have to go home, see you
<jlicht>o/
<nalaginrut>jlicht: we may talk later, or you may leave message with sneek
<jlicht>will do, thanks
<nalaginrut>jlicht: https://github.com/NalaGinrut/guile-lua-rebirth
<nalaginrut>there're bugs, and some fixes are already in my mind, but you can try with guile-2.1+
<nalaginrut>bye
<jlicht>bye bye
<dsmith>Hey hey
<OrangeShark>hello dsmith
<nalaginrut>maybe I should say something, in case sneek has message for me
<nalaginrut>oops, no
<amz3`>io!
<amz3`>janneke: I did not forget about you, I am just busy
<janneke>amz3`: sure, no hurry
<amz3`>nalaginrut: you can say héllo ;)
<nalaginrut>nikita1: I polished the I/O exceptions, and so does uploading, now it's more robust
<nalaginrut>at least it won't crash when there's no memory or storage device was disconnected
<nalaginrut>amz3`: heya
<amz3`>nalaginrut: :)
<amz3`>nalaginrut: I need help regarding some full stack challenge I am writing
<amz3`>nalaginrut: would you be able to help?
<amz3`>nalaginrut: it's a challenge to find potential web application dev
<nalaginrut>amz3`: I'd like to, but it's almost 4am here, maybe tomorrow, and could you please continue the work for guile-git? I'm writing a blog engine now
<nalaginrut>my idea is to use js org-mode editor, and use git for database, I want to migrate my blog from tekuti to it
<nalaginrut>amz3`: anyway, see you tomorrow
<nalaginrut>ACTION zzzZZZZ
<amz3`>you are right about guile git... sorry...
<wingo>i feel like the paste behavior in readline 7.0 is already better than 6.3
<wingo>when pasting data with tabs, it doesn't cause tab completion
<amz3`>escape sequence magic?
<paroneayea>ahoy there
<amz3`>héllo paroneayea
<paroneayea>rekado: ping
<paroneayea>rekado: re: multipart messages, sometimes the values for them can be pretty huge, like entire video files, etc
<paroneayea>rekado: I wonder what the right approach is to take in such a case... stream to a temporary file?
<paroneayea>rekado: that's what several python libraries do
<paroneayea>also golly
<paroneayea>this page talkinga bout sxml http://www.more-magic.net/posts/lispy-dsl-sxml.html
<paroneayea>that seems like the right alignment
<paroneayea>'(div (@ (id "foo") (class "bar"))
<paroneayea> (span "baz")
<paroneayea> (span "basil"))
<paroneayea>way better than
<paroneayea>'(div (@ (id "foo") (class "bar"))
<paroneayea> (span "baz")
<paroneayea> (span "basil"))