[ocaml-infra] markdown in "pure" OCaml

Daniel Bünzli daniel.buenzli at erratique.ch
Sat Jul 27 02:57:08 BST 2013


Le samedi, 27 juillet 2013 à 02:20, Philippe Wang a écrit :
> ok, that could lead to some "funny" programming style… ;-)

If you really want to make it fun program a non-blocking codec with a cost model that allows you to limit the height of your call stack. You can then suspend the computation after a budget was met and restart it using window.setTimeout. Voilà no stackoverflow. This is done here:

https://github.com/dbuenzli/vg/blob/master/test/rhtmlc.ml#L99

for the svg backend. Unfortunately the cost model is only on rendered images, so if you build a big Vg.path you may still overflow, e.g. this example

http://erratique.ch/software/vg/demos/rhtmlc.html#arrowhead

To contrast the html canvas backend has only one self-recursive functions that calls one other self-recursive function so you never blow the stack.  

> But to answer your question, here's a reason why I believe it can be relevant not to use github's archives.
> Say I'm developing some software, and when I want to distribute it, (whatever my reasons) I don't want to distribute the whole thing or the way it is in the repo. So, I manually make packages when I want to distribute the software.

[…]  
>  
> It's one thing to have a public git repository to which anyone can "pull request", and that's for developers who might want to contribute.
> It's another to distribute software to people who want to use it and have no intention of contributing to it.

If you are old-fashioned (like me) or effectively need to generate data for a distribution (like me again) anything provided by github at the moment is completely useless. Worse they give a semantics to git tags that doesn't correspond to the way git tags are used in practice :

https://github.com/dbuenzli/react/releases

That git_import release was a big moment in the lifetime of the project...

Best,

Daniel




More information about the Infrastructure mailing list