Comments (7)
PureScript | Elm | GHCJS | |
---|---|---|---|
libraries | middle | high | low |
features | high | poor | high |
JS code size | middle | low | high |
JS integration | middle | high | poor |
haskell bridge | middle | poor | excellent |
from issue-wanted.
@willbasky thank you for this table! This is going to be very useful. I would like to add a couple of stuff to it. The size of the Elm
js code is much smaller (especially in the newest release 0.19, which apparently has too much breaking changes and features cuts 🙁) than any other (Puserscript, GHCJS etc.). What about the bridge, the Elm's one is very broken, unfortunately. I can't say for Purescript bridge though as I had very limited experience with it, but I guess it should be slightly better at least.
from issue-wanted.
@willbasky I'm improved table in your comment. This Reddit comment is worth considering:
I'm giving my vote for PureScript and I think this is a right choice for issue-wanted
. If we target low JS size and aim maximum speed than Elm is better as @vrom911 said, but it's a pain. PureScript is already good enough. And we all can learn something new. GHCJS is too huge and we don't learn anything new with it, only suffer.
from issue-wanted.
I also lean toward PureScript. Will the middle JS size become a problem?
from issue-wanted.
I only have experience with Elm, but I'm not comfortable with their development process.
I've never used PureScript or GHCJS, so I haven't experienced the disadvantages in practice.
For me, the main downside of GHCJS is the code size, and the mainside downside of PureScript is having to express your data model once on the back-end and once on the front-end. Perhaps PureScript is so similar to Haskell that you can re-use / transform the data model of one into the other? Another downside of PureScript that I've read about is that it uses bower, which is a dead package manager.
So I'd lean towards GHCJS just for the bridge, but I'd be very willing to hear a veto if there are any downsides I don't know of.
from issue-wanted.
I don't like GHCJS because of:
- Code size
- Low amount of documentation
- Possible need to learn and use nix just to build project
After WebAssembly backend for GHCJS is implemented, it will become much better! But I would like to use frontend-specific tool for this task now. Also, again, learning purposes 🙂
bower
is not a great tool, but we can live with that for now.
from issue-wanted.
Decided: PureScript.
from issue-wanted.
Related Issues (20)
- Implement proper pagination HOT 2
- Wire up pagination on frontend
- Buy cool domain name HOT 3
- Figure out how to deploy this project
- Consider using named parameters in queries HOT 4
- Add `repoDefaultBranch` field to `Repo` type HOT 2
- Update README HOT 3
- Decide on how we want to model filtering issues and repos HOT 2
- Decide on sync scheduling strategy
- Implement function for fetching repos page by page
- Handle API rate limit more gracefully when syncing
- Think how to speed up syncing HOT 3
- Endpoint to get all labels
- Endpoint to get all categories
- Tables for labels and categories? HOT 6
- Add frontend check to CI
- Bump up to lts-14.* resolver
- Endpoint should return non-polymorphic data types HOT 2
- Update docker info docs
- Push docker image on docker hub HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from issue-wanted.