Personal tools

Talk:The JavaScript Problem

From HaskellWiki

(Difference between revisions)
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)
+
|}

Latest revision as of 21:31, 22 September 2012

[edit] 1 Goals

[edit] 1.1 Individual projects

[edit] 1.2 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 _ _ _ _ _