The getting started instructions are available here: Getting Started.
I now want to share my design of FFI support for alternative backends, which I’m now thinking to be sufficiently extensible and customizable to solve any other backends’ FFI problems.
I use 2 components only, which’re all standarding for a Git repo:
When compiling, spago build with pspy backend will use the auto-generated configuration file to decide the mirror to use, e.g., in this auto-generated configuration, "index-mirror": "default" means we will use the git repo locally stored at ~/.pspy/mirrors/default to look up Python FFI providers, and there’s an instruction in Getting Started about making a default mirror by
I’d just like to bring to your attention this issue in the Spago repo, which lately seems to be a gathering point for all the alternate backends in active development:
The issue is about how to make the UX for alternate backends as smooth as possible, and concerns itself with things like standardizing the CLI/behaviour for backends, how to deal with FFI, and if/how Spago should do anything to better support what backends need, so I though it’s highly relevant in this case.
Hi, I’ve got involved in the discussion, with the my proposal of handling FFI for alternative backends. Also, like author of psgo/pscpp, I’m okay to change pspy accordingly with spago.
Great timing! I’m giving a talk on mypy and PureScript in 2 days. This will be great to help tie it all together…! Also, looking forward to using this!
Haha, if you want I’m requesting people to make purescript libraries for working with existing Python packages.
If you have interests, I’d like to invite you to work for this project together, and we can make a purescript-numpy.
I’m also invesgiating how to achieve stronger static safety in linear algebra libraries, because I found that purescript does have capability to do type level computations, hence dependent types for tensor dimension checking, inference and even auto completion might be possible via PureScript.