Talk:The JavaScript Problem: Difference between revisions
419928194516 (talk | contribs) (Created talk page and first discussion topic) |
(→GHCJS - incomplete?: new section) |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Comparison table = | = Goals = | ||
== Individual projects == | |||
== Comparison table == | |||
I have transferred most of the table from this[http://www.reddit.com/r/haskell/comments/109hsb/writing_javascript_games_in_haskell_breakout/] 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 have transferred most of the table from this[http://www.reddit.com/r/haskell/comments/109hsb/writing_javascript_games_in_haskell_breakout/] 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. | ||
Line 5: | 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" | |||
|- | {| class="wikitable sortable collapsible" style="position:relative;left:-80px;top:30px;" | ||
! System !! Lazy !! FFI !! Pure !! Haskell syntax !! Haskell type system !! Performance !! TCO !! Demos !! Easy Setup !! Compression !! Maintenance !! FRP library !! Client-side Libraries !! Threads !! Package support | |- 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 | ||
| GHCJS || ✓ || ✓ || ✓ || ✓ || ✓ || good || full || some || no || poor || active || yes || few || yes || cabal | |- align="center" | ||
|- | ! scope="row" | [[#GHCJS|GHCJS]] | ||
| UHC || ✓ || ✓ || ✓ || ✓ || ✓ || poor || full || some || moderate || very poor || active || yes || some || no || none | || ✓ || ✓ || ✓ || ✓ || ✓ || good || full || some || no || poor || active || yes || few || yes || cabal || Hterm || text only || || Native & JS | ||
|- | |- align="center" | ||
| Haste || ✓ || ✓ || ✓ || ✓ || ✓ ||| good || full || ? || yes || decent || active || yes || few || no || none | ! scope="row" | [[#UHC|UHC]] | ||
|- | || ✓ || ✓ || ✓ || ✓ || ✓ || poor || full || some || moderate || very poor || active || yes || some || no || none || || || || | ||
| Roy || ✗ || ✗ || ? || ✗ || ✗ || ? || ? || few || yes || ? || active || no || few || no || ? | |- align="center" | ||
|- | ! scope="row" | [[#Haste|Haste]] | ||
| Elm || | || ✓ || ✓ || ✓ || ✓ || ✓ ||| good || full || ? || yes || decent || active || yes || few || no || none || || || || | ||
|- | |- align="center" | ||
| Fay || ✓ || ✓ || ✓ || ✓* || ✓* || good || limited || many || yes || strong || active || no || some || no || none | ! 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" | |||
! style="font-size:80%;" | Threads | |||
|| yes || no || no || no || no || no | |||
|- align="center" | |||
! style="font-size:80%;" | Package support | |||
|| cabal || none || none || ? || ? || none | |||
|- align="center" | |||
! style="font-size:80%;" | Stdio | |||
|| Hterm || _ || _ || _ || _ || _ | |||
|- align="center" | |||
! style="font-size:80%;" | File IO | |||
|| text only || _ || _ || _ || _ || _ | |||
|- align="center" | |||
! style="font-size:80%;" | tree shaking | |||
|| _ || _ || _ || _ || _ || _ | |||
|- align="center" | |||
! style="font-size:80%;" | forest shaking | |||
|| _ || _ || _ || _ || _ || _ | |||
|- 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)