Is it possible to create PHP extensions in Haskell

2020-08-12 18:24发布

问题:

Is it possible to create PHP extensions with Haskell?

Usually PHP extensions are written using C. Is using Haskell FFI to provide functionality for a stub C extension possible (or even a good idea)?

What are the caveats to such an approach? Does Zend perform some magic in the background that would disrupt such a scheme?

回答1:

You can certainly do this, though I'm not sure anyone has tried. Haskell interoperates with C via its FFI mechanism, and you can certainly:

  • Call Haskell from C

so if you can call C from PHP, and that C calls Haskell, you're in business.


Why would you want to do this? Faster, safer, simple code for your core algorithms or safety-critical code, perhaps. Or to take advantage of say, a parallel or multicore server backend via Haskell.



回答2:

Yes, its possible. Just make sure you wrap everything and translate arguments between php -> c -> haskell and the way back correctly.