IRC channel logs

2015-07-28.log

back to list of logs

<stis>ACTION the minikanren repo is fun indeed, a good applicatoin of attributed variables
<stis>e.g. I implement a modern minikanren using attributed variables in stead of the source versoin of it
***dje is now known as xdje
<daviid>any sxml footnote example somewhere?
<nalaginrut>ACTION is reading wingo's new post
<wleslie>ACTION <3s real flow analysis
<amz3>hi nalaginrut, I posted a small expl regarding guile-log http://www.hyperdev.fr/notes/2015/07/27/guile-log-parser-combinators/
<amz3>if you have question don't hesitate, I will improve the article
<nalaginrut>amz3: thanks, I'll feed back to you
<amz3>brb
<nalaginrut>well, I should shout in guile-dev that folks should use GUILE_PKG([2.0 2.1 2.2]) rather GUILE([2.2 2.1 2.0]), or configure may cause problems
<amz3>nalaginrut: what is the purpose of the snippet remid`bd shared with you about parsing structures?
<nalaginrut>amz3: no, it's not about parsing, it's about epoll with FFI
<nalaginrut>I realized that the structure has to be packed in x86_64, but the current Guile FFI doesn't provide it
<nalaginrut>amz3: I mean not about markdown parsing
<amz3>because I think I will re-write my bindings using ffi, I have several structure to map to guile
<amz3>seems like doing ffi is a difficult task too
<amz3>I will read again the snippet
<nalaginrut>amz3: it's fine to use Guile FFI, I used a bytevector trick from wingo in ethread to solve this issue, and more efficient
<nalaginrut>amz3: I would recommend use FFI as possible, it's really cool
<nalaginrut>anyway, it's possible to write a high level parser to do some work for users with FFI, just like lua does
<amz3>I tried, it's not easy
<amz3>well the article I wrote is in french
<nalaginrut>amz3: I will write some articles about FFI in Guile
<nalaginrut>yes, it's not easy, without proper hint
<amz3>I read this one http://nalaginrut.com/archives/2015/03/27/do-some-quick-and-dirty-with-guile-ffi
<nalaginrut>amz3: that's one of serial FFI articles, it's not enough ;-)
<amz3>in wiredtiger API, they are function pointers in the c structs. that what makes it difficult.
<nalaginrut>anyway, there should be a better FFI framework taking advantage of Guile FFI to make world better
<amz3>look at «Function Pointers» in http://www.hyperdev.fr/notes/2015/06/27/guile-dynamic-foreign-function-interface/ it explains how those pointers are init by wiredtiger
<nalaginrut>it's better at least comments in English
<amz3>yes, I take note, I won't write in french in the future
<amz3>my_object_integer(MyObject * object, int value)
<amz3>you pass just a pointer to the constructor
<amz3>the problem is that I have 5 or so structure like "MyObject" to wrap in ffi
<nalaginrut>amz3: so what's the difficult?
<amz3>maybe I will just leave the code as is, until I get around to do that properly
<amz3>well, there is no API to wrap structures, I have a lot of procedures roaming around
<amz3>maybe I'm just not used to that
<nalaginrut>amz3: and I must mention that if you pass a pointer allocated in Guile into C function, maybe you have to use guardian to make sure it's not collected
<nalaginrut>amz3: there's only low-level api to parse structures, obviously it's not enough for real case
<nalaginrut>that's why I said there should be a high level FFI structures, IMO the low-level api is enough to construct it
<amz3>python-cffi use a cparser to do the wrapping
<nalaginrut>s/structure/framework
<amz3>wdyt of g-wrap?
<amz3>can it help?
<nalaginrut>well, IMO, I would like to write a C parser for that
<nalaginrut>I never tried g-wrap
<nalaginrut>personally, I like Lua way
<amz3>I want to do so many things but I'm kind of stuck everywhere
<amz3>what is Lua way?
<nalaginrut>amz3: just pass C code in, and it'll parse it for you
<amz3>nalaginrut: noted about the guardian, I will look at it
<amz3>that's what python-cffi does
<amz3>more or less, you have to tweak to tweak the header file a bit
<nalaginrut>I hope I just pass .h file, and I get the struct parser generated for me
<amz3>nice story :)
<nalaginrut>I saw lua folks play such thing a lot
<amz3>I need to move, see you later maybe
<nalaginrut>see you
<nalaginrut>amz3: do you have problem when compiling guile-log?
<nalaginrut>amz3: No rule to make target `language/prolog/modules/ex/att.scm
<nalaginrut>amz3: I can't build it, maybe it demands 2.1?
<amz3>no it's ok move on
<amz3>it fails on my side too, but it should work
<amz3>the core of guile-log is built, that the part about prolog that fails..
<amz3>nalaginrut: ^
<nalaginrut>amz3: well, do you insist on using it, it seems unstable
<amz3>stis is looking forward moving prolog to its own package
<amz3>yes, it lakes testing for sure
<amz3>I don't insist, I think it's better to have guile dependencies, if it doesn't work, let's use the thing that works
<nalaginrut>amz3: at lease we have LALR to write one ;-)
<nalaginrut>and no extra dependency included
<mark_weaver>nalaginrut: are you suggesting that people should write GUILE([2.0 2.1 2.2]) in their configure scripts?
<mark_weaver>if I'm not mistaken, that would prefer 2.1 over 2.2, which is definitely not right.
<mark_weaver>and I'd say that preferring 2.0 over 2.2 is not right for a configure script either.
<mark_weaver>and what happens when 2.4 comes out? I guess it's best to leave out the version number list altogether.
<lloda>I'm starting to feel the compilation times ;p
<nalaginrut>mark_weaver: if you put 2.1 before 2.0, then it'll fail to configure on the system contains guile-2.0 only
<nalaginrut>tweak the order will fix this problem
<nalaginrut>mark_weaver: I think what you mean is that the script will detect high version first, then lower version, but it's not, it'll abort when high version detect fail
<nalaginrut>ACTION hope he is not dropped line...
***michel_mno is now known as michel_mno_afk
<amz3>going back and forth between python, javascript and guile is not as easy as I though
<davexunit>callWithCurrentContinuation(def foobar:
<amz3>:))
<amz3>callWithCurrentContinuation(def foobar #:kwargs
<davexunit>hehe
***fds_ is now known as fds
<davexunit>skribilo does a lot more stuff than I was aware of.
<davexunit>I definitely need to integrate it with Haunt