Talk:The JavaScript Problem
Revision as of 21:31, 22 September 2012 by 419928194516 (talk | contribs) (→Comparison table: Transposition is not trivial when you are not a computer.)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Goals
Individual projects
Comparison table
I have transferred most of the table from this[1] thread here into wiki markup. It needs to be completed and inserted. I think that links to subheads in this article or links to the websites of these projects would be excellent in the first column, so I will do that as soon as we decide where we shall link.
I left out the "approach" column because I think it is best we just link to a more thorough explanation, otherwise the table will become rather messy.
System | Lazy | FFI | Pure | Haskell syntax | Haskell type system | Performance | TCO | Demos | Easy Setup | Compression | Maintenance | FRP library | Client-side Libraries | Threads | Package support | Stdio | File IO | Tree Shaking | DOM |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GHCJS | ✓ | ✓ | ✓ | ✓ | ✓ | good | full | some | no | poor | active | yes | few | yes | cabal | Hterm | text only | Native & JS | |
UHC | ✓ | ✓ | ✓ | ✓ | ✓ | poor | full | some | moderate | very poor | active | yes | some | no | none | ||||
Haste | ✓ | ✓ | ✓ | ✓ | ✓ | good | full | ? | yes | decent | active | yes | few | no | none | ||||
Roy | ✗ | ✗ | ? | ✗ | ✗ | ? | ? | few | yes | ? | active | no | few | no | ? | ||||
Elm | ? | ? | ✓ | ✗ | ? | ? | ? | many | yes | good | active | yes | none | no | ? | ||||
Fay | ✓ | ✓ | ✓ | ✓* | ✓* | good | limited | many | yes | strong | active | no | some | no | none |
System | GHCJS | UHC | Haste | Roy | Elm | Fay |
---|---|---|---|---|---|---|
Lazy | ✓ | ✓ | ✓ | ✗ | ? | ✓ |
FFI | ✓ | ✓ | ✓ | ✗ | ? | ✓ |
Pure | ✓ | ✓ | ✓ | ? | ✓ | ✓ |
Haskell syntax | ✓ | ✓ | ✓ | ✗ | ✗ | ✓* |
Haskell type system | ✓ | ✓ | ✓ | ✗ | ? | ✓* |
Performance | good | poor | good | ? | ? | good |
TCO | full | full | full | ? | ? | limited |
Demos | some | some | ? | few | many | many |
Easy setup | no | moderate | yes | yes | yes | yes |
Compression | poor | very poor | decent | ? | good | strong |
Maintenance | active | active | active | active | active | active |
FRP library | yes | yes | yes | no | yes | no |
Client-side Libraries | few | some | few | few | none | some |
Threads | yes | no | no | no | no | no |
Package support | cabal | none | none | ? | ? | none |
Stdio | Hterm | _ | _ | _ | _ | _ |
File IO | text only | _ | _ | _ | _ | _ |
tree shaking | _ | _ | _ | _ | _ | _ |
forest shaking | _ | _ | _ | _ | _ | _ |
DOM | native and Js | _ | _ | _ | _ | _ |
Finalizers | optional | _ | _ | _ | _ | _ |
Integer support | yes | _ | _ | _ | _ | _ |
Text & ByteString | yes | _ | _ | _ | _ | _ |
Exceptions | yes | _ | _ | _ | _ | _ |
Async Code Loading | yes | _ | _ | _ | _ | _ |
64bit support | yes | _ | _ | _ | _ | _ |