Talk:The JavaScript Problem: Difference between revisions

From HaskellWiki
 
(2 intermediate revisions by 2 users not shown)
Line 27: Line 27:
|- align="center"
|- align="center"
! scope="row" | [[#Elm|Elm]]
! scope="row" | [[#Elm|Elm]]
|| ? || ? || ✓ || ✗ || ? || ? || ? || many || yes || good || active || yes || none || no || ? || || || ||
|| || ? || ✓ || ✗ || || ? || ? || many || yes || good || active || yes || none || no || ? || || || ||
|- align="center"
! scope="row" | [[#PureScript|PureScript]]
|| ✗ || ✓ || ✓ || ✗ || ✗  || ? || ? || some || yes || ? || active || few || none || no || ? || || || ||
|- align="center"
|- align="center"
! scope="row" | [[#Fay|Fay]]
! scope="row" | [[#Fay|Fay]]
|| ✓ || ✓ || ✓ || ✓* || ✓* || good || limited || many || yes || strong || active || no || some || no || none || || || ||
|| ✓ || ✓ || ✓ || ✓* || ✓* || 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? ==


--[[User:419928194516|419928194516]] 22:50, 21 September 2012 (UTC)
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)