Talk:The JavaScript Problem: Difference between revisions
419928194516 (talk | contribs) (→Comparison table: edited table. wiki markup, how I had forgotten thee.) |
(→GHCJS - incomplete?: new section) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 9: | Line 9: | ||
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. | 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. | ||
{| class="wikitable" style="position:relative;left:-80px;top:30px;" | |||
{| class="wikitable sortable collapsible" style="position:relative;left:-80px;top:30px;" | |||
|- style="font-size:80%;" | |||
! class="unsortable" |System !! Lazy !! FFI !! Pure !! Haskell syntax !! Haskell type system !! Performance !! class="unsortable" |TCO !! class="unsortable" |Demos !! class="unsortable" |Easy Setup !! Compression !! Maintenance !! FRP library !! Client-side Libraries !! Threads !! class="unsortable" | Package support !! Stdio !! File IO !! Tree Shaking !! DOM | |||
|- align="center" | |||
! scope="row" | [[#GHCJS|GHCJS]] | |||
|| ✓ || ✓ || ✓ || ✓ || ✓ || good || full || some || no || poor || active || yes || few || yes || cabal || Hterm || text only || || Native & JS | |||
|- align="center" | |||
! scope="row" | [[#UHC|UHC]] | |||
|| ✓ || ✓ || ✓ || ✓ || ✓ || poor || full || some || moderate || very poor || active || yes || some || no || none || || || || | |||
|- align="center" | |||
! scope="row" | [[#Haste|Haste]] | |||
|| ✓ || ✓ || ✓ || ✓ || ✓ ||| good || full || ? || yes || decent || active || yes || few || no || none || || || || | |||
|- align="center" | |||
! scope="row" | [[#Roy|Roy]] | |||
|| ✗ || ✗ || ? || ✗ || ✗ || ? || ? || few || yes || ? || active || no || few || no || ? || || || || | |||
|- align="center" | |||
! scope="row" | [[#Elm|Elm]] | |||
|| ✗ || ? || ✓ || ✗ || ✗ || ? || ? || many || yes || good || active || yes || none || no || ? || || || || | |||
|- align="center" | |||
! scope="row" | [[#PureScript|PureScript]] | |||
|| ✗ || ✓ || ✓ || ✗ || ✗ || ? || ? || some || yes || ? || active || few || none || no || ? || || || || | |||
|- align="center" | |||
! scope="row" | [[#Fay|Fay]] | |||
|| ✓ || ✓ || ✓ || ✓* || ✓* || good || limited || many || yes || strong || active || no || some || no || none || || || || | |||
|} | |||
{| class="wikitable collapsible" style="position:relative;left:-80px;top:30px;" | |||
|- style="font-size:80%;" | |||
! class="unsortable" |System !! [[#GHCJS|GHCJS]] !! [[#UHC|UHC]] !! [[#Haste|Haste]] !! [[#Roy|Roy]] !! [[#Elm|Elm]] !! [[#Fay|Fay]] | |||
|- align="center" | |||
! style="font-size:80%;" | Lazy | |||
|| ✓ || ✓ || ✓ || ✗ || ? || ✓ | |||
|- align="center" | |||
! style="font-size:80%;" | FFI | |||
|| ✓ || ✓ || ✓ || ✗ || ? || ✓ | |||
|- align="center" | |||
! style="font-size:80%;" | Pure | |||
|| ✓ || ✓ || ✓ || ? || ✓ || ✓ | |||
|- align="center" | |||
! style="font-size:80%;" | Haskell syntax | |||
|| ✓ || ✓ || ✓ || ✗ || ✗ || ✓* | |||
|- align="center" | |||
! style="font-size:80%;" | Haskell type system | |||
|| ✓ || ✓ || ✓ || ✗ || ? || ✓* | |||
|- align="center" | |||
! style="font-size:80%;" | Performance | |||
|| good || poor || good || ? || ? || good | |||
|- align="center" | |||
! style="font-size:80%;" | TCO | |||
|| full || full || full || ? || ? || limited | |||
|- align="center" | |||
! style="font-size:80%;" | Demos | |||
|| some || some || ? || few || many || many | |||
|- align="center" | |||
! style="font-size:80%;" | Easy setup | |||
|| no || moderate || yes || yes || yes || yes | |||
|- align="center" | |||
! style="font-size:80%;" | Compression | |||
|| poor || very poor || decent || ? || good || strong | |||
|- align="center" | |||
! style="font-size:80%;" | Maintenance | |||
|| active || active || active || active || active || active | |||
|- align="center" | |||
! style="font-size:80%;" | FRP library | |||
|| yes || yes || yes || no || yes || no | |||
|- align="center" | |||
! style="font-size:80%;" | Client-side Libraries | |||
|| few || some || few || few || none || some | |||
|- align="center" | |- align="center" | ||
! | ! style="font-size:80%;" | Threads | ||
|| yes || no || no || no || no || no | |||
|- align="center" | |- align="center" | ||
! | ! style="font-size:80%;" | Package support | ||
|| | || cabal || none || none || ? || ? || none | ||
|- align="center" | |- align="center" | ||
! | ! style="font-size:80%;" | Stdio | ||
|| | || Hterm || _ || _ || _ || _ || _ | ||
|- align="center" | |- align="center" | ||
! | ! style="font-size:80%;" | File IO | ||
|| | || text only || _ || _ || _ || _ || _ | ||
|- align="center" | |- align="center" | ||
! | ! style="font-size:80%;" | tree shaking | ||
|| | || _ || _ || _ || _ || _ || _ | ||
|- align="center" | |- align="center" | ||
! | ! style="font-size:80%;" | forest shaking | ||
|| | || _ || _ || _ || _ || _ || _ | ||
|- align="center" | |- align="center" | ||
! | ! style="font-size:80%;" | DOM | ||
|| | || native and Js || _ || _ || _ || _ || _ | ||
|- align="center" | |||
! style="font-size:80%;" | Finalizers | |||
|| optional || _ || _ || _ || _ || _ | |||
|- align="center" | |||
! style="font-size:80%;" | Integer support | |||
|| yes || _ || _ || _ || _ || _ | |||
|- align="center" | |||
! style="font-size:80%;" | Text & ByteString | |||
|| yes || _ || _ || _ || _ || _ | |||
|- align="center" | |||
! style="font-size:80%;" | Exceptions | |||
|| yes || _ || _ || _ || _ || _ | |||
|- align="center" | |||
! style="font-size:80%;" | Async Code Loading | |||
|| yes || _ || _ || _ || _ || _ | |||
|- align="center" | |||
! style="font-size:80%;" | 64bit support | |||
|| yes || _ || _ || _ || _ || _ | |||
|} | |} | ||
- | == GHCJS - incomplete? == | ||
Why is GHCJS marked as "incomplete"? What's not complete? [[User:Srid|Srid]] ([[User talk:Srid|talk]]) 18:02, 26 October 2020 (UTC) |
Latest revision as of 18:02, 26 October 2020
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 | ? | ||||
PureScript | ✗ | ✓ | ✓ | ✗ | ✗ | ? | ? | some | yes | ? | active | few | 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 | _ | _ | _ | _ | _ |
GHCJS - incomplete?
Why is GHCJS marked as "incomplete"? What's not complete? Srid (talk) 18:02, 26 October 2020 (UTC)