Difference between revisions of "Talk:The JavaScript Problem"

From HaskellWiki
Jump to: navigation, search
m (Comparison table: oops rm)
(Comparison table: Transposition is not trivial when you are not a computer.)
Line 32: Line 32:
 
|| ✓ || ✓ || ✓ || ✓* || ✓* || 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 || _ || _ || _ || _ || _
  
--[[User:419928194516|419928194516]] 22:50, 21 September 2012 (UTC)
+
|}

Revision as of 21:31, 22 September 2012

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 _ _ _ _ _