4 ms·
PureScript has a C++ back-end, which is an interesting prospect: https://github.com/andyarvanitis/purescript-native https://github.com/andyarvanitis/purescript-
by adgasf 8y ago
PureScript has a C++ back-end, which is an interesting prospect: https://github.com/andyarvanitis/purescript-native https://github.com/andyarvanitis/purescript-native
Our development process is very pleasant. We use VS Code, .NET Core and Ionide as an IDE. I find an IDE essential for languages with global type-inference.
For bundling, we use Core RT to create a self-contained application. This is then bundled using Warp (https://github.com/dgiagio/warp https://github.com/dgiagio/warp) to generate a single binary.
The script is here https://github.com/LoopPerfect/buckaroo/blob/866ae97ffc82ab8908fbb6a43a208cc0cd131cd7/warp-bundle-linux.sh https://github.com/LoopPerfect/buckaroo/blob/866ae97ffc82ab8...
The final binary size is quite reasonable:
- Linux 66.1 mb
- macOS 63.9 mb
- Windows 35.4 mb
I haven't investigated why Windows is so much smaller!
- e12e 8y agoThank you. If I read that correctly, the last line runs your artifact - is that for CI or something? (I'd expect the purpose was to just create the artifact?) Ed: then again, your artifact is a build tool - does that build distribution packages?
- adgasf 8y agoYes, the last line is for CI. It just runs the tool as a simple check that it built correctly. Cross-compilation does not work with Core RT anyway, so we can assume that you are always building for the host platform.
- e12e 8y ago> Cross-compilation does not work with Core RT Huh? I was sure I tested that after an announcement in... November? But it's supposed to have been supported a while longer? Eg: https://www.hanselman.com/blog/SelfcontainedNETCoreApplications.aspx https://www.hanselman.com/blog/SelfcontainedNETCoreApplicati... Perhaps a warp limitation?
- adgasf 8y agoI tried Linux host compiling to Windows and it did not work. Perhaps I need to update.
- e12e 8y agoI remember I had a big fight with dot.net a year or two back, and gave up - but last time I checked the only thing I found missing was a bundler (like warp). And somewhat inconsistent/unclear documentation on how to make a stand alone build. But I did eventually manage to build "Hello, world!" on Linux and run it on windows as a proof of concept.