New 3rd-party dependency: cl-yaml#2
New 3rd-party dependency: cl-yaml#2airballking wants to merge 2 commits intocram-code:masterfrom airballking:master
Conversation
|
Bumping this discussion. Any feedback? |
|
Wow, I'm impressed by the amount of code they have in the C library, didn't expect YAML parsers to be complex software. In any case, first, my ideas on this particular lib: in my opinion, it doesn't look like there was that much effort put into this code, although, of course, I might be totally wrong. I'm not sure how well it is tested, and it also may turn out not to be well maintained, so if you'd like it to be up to date, you might end up having to maintain it yourself. Which brings me to the other point: if you might end up looking closely into the code of this library, you might as well write your own wrapper, and then you could chose a C library that you might find more suitable for your needs, e.g. the one that supports yaml 1.2., say, yaml-cpp. The problem here is, obviously, that you'd have to wrap the yaml-cpp C++ code with C code to be able to talk through CFFI. If you don't want external libraries, there is also the cl-yaclyaml: Finally, are you sure you have to use YAML format to store your data? If the choice of the format is in your hands, why won't you just use JSON, it is very similar to YAML, especially for simple data, and then you could just use Yason and the problem is solved: HTH |
|
Hi Gaya, thanks for your extensive comments. To make it short: I had not considered putting my data in a json-format instead of yaml. This is a very good idea which I did not have. Thanks a lot. I will consider it. Some quick other thoughts: So far, I like how cl-yaml works. Before using cl-yaml, I tried cl-yaclyaml because of the cliki-page, and I was very disappointed: It struck me as very heavy-weight in terms of further dependencies on further Common Lisp libraries which were also written by the same guy. Also, the usage was not as comfortable as with cl-yaml. But that could just be me.. Again, thanks for the idea with json. Cheers, |
I have an application where I want to load yaml files into lisp. After some search, I found this library which wraps around a c-library which is in the debs. It does not require any further external common lisp dependencies.
cl-yaml offers yaml 1.1 support through libyaml (the c lib), while ROS itself is using yamlcpp which supports yaml 1.2. So, this is behind the curve.
Compilation worked fine for me (Ubuntu 12.04, ROS Hydro). However, the original asd (see below) still invokes the c-compiler to build some wrapping code. I still need to rosify this. So, please do not merge this just yet.
I opened this pull request to get feedback about this lib. Fire away on comments, objections, ideas for improvement.