rocher / mold

Meta-variable Operations for Lean Development
https://rocher.github.io/mold
MIT License
4 stars 0 forks source link

Mention mustache and add to list (maybe?) #1

Open Irvise opened 9 months ago

Irvise commented 9 months ago

Hi Rocher,

great project what you have going on here!

I noticed that you never mentioned mustache templating here. Is that on purpose? I know that Mustache is supposed to be logicless, and mold has some logic to it, but still. I think it qualifies as mustache capable.

It may be worth adding mold to the list of supported languages (Ada) in the mustache webpage :)

Cheers, Fer

rocher commented 9 months ago

Hi @Irvise,

Mold (and mold_lib, the mold's engine) started as a small prototype to satisfy certain requirements of Alice (still in very early stage). Thus, I took some examples from other template engines, like jinja2, and started from scratch to implement few use cases. Over time, I added more and more features, resulting in the (almost complete) version 2.0 of mold. It includes some unique features that cannot be found in other template processors, like text filters. But, on the contrary, some common features are missing, like loops or conditional inclusion.

Making mold a superset of mustache (mold will keep its unique features ;) is a big task. It must conform to the formal specification of mustache, which requires breaking changes in mold and implementing a lot of new features. But it's really a good challenge!! So I think that in the mid-long term we could discuss how mold might be mustache-capable.

Thank you very much for your comments and suggestions!!

Best regards, -- Francesc

Irvise commented 9 months ago

Oh, I was not aware that Mustache had a thorough specification. I just noticed that Mold had a very similar syntax, but in the project description it is clear that it has some unique features.

If implementing Mustache is quite tough, then do not worry. I was not aware of its complexity and that it could introduce breaking changes in the core of the library.

I will leave this issue open nonetheless to keep track of the features if you want.

Thank you for your work and best regards! Fer

rocher commented 9 months ago

Yes, this issue will remain opened just to remind the possibility to make mold in a (superset) mustache implementation.

Best regards, -- Francesc