3 ms·
I'm periodically updating a PHP binding to libsass on my companies github account here: https://github.com/sensational/sassphp https://github.com/sensational/sa
by pilif 13y ago
I'm periodically updating a PHP binding to libsass on my companies github account here: https://github.com/sensational/sassphp https://github.com/sensational/sassphp
It was my intention of keeping up with releases, but it looks like updating it periodically to git HEAD of libsass might be what's needed. I'll look into getting the submodule updated to a later release today.
That said: last summer when I started maintaining this fork of an earlier binding, I noticed that libsass (even tag RELEASE-1.0) was in a bit an early state of development: HEAD was flat-out segfaulting and RELEASE-1.0 was producing miscompilations.
I've reported a few bugs but in the end, we've settled back with ruby sass for the time being. The speed up is nice, but only if the library is actually producing valid output without crashing.
Maybe by now this is better and I should give it another go :-)
Also, I'm certainly no C++ programmer and thus this might be common, but their template based parser with a lot of implementation code in a header file kind of scares me (https://github.com/hcatlin/libsass/blob/master/prelexer.hpp https://github.com/hcatlin/libsass/blob/master/prelexer.hpp)
- deleted 13y ago[deleted]
- akhleung 13y agoWe did a lot of development during the summer (including a rewrite that was long overdue), so there were a few segfaults back then. The library should be pretty stable now though -- we've embedded it into our SDK and build system, and it's been working fine. As for the parser -- that started out as an experiment of sorts. I wanted to do something like parser combinators (but for scanning), and I decided to templatize the whole thing so that all of the scanning code would be generated at compile-time. If I were to redo it, I'd probably use expression templates (which I didn't know about at the time).