GHC to JavaScript backend
This is the homepage of GHC to JavaScript backend.
What this all about
There is a modern trend in web software development called AJAX. An essential thing is that the largest part of application's logic is moved to the client, i. e. user downloads some code and browser works as an interpreter for an application. Application usually makes some asynchronized calls to the server backend to fetch some data. But most of the logic is executed on the client side. The downside of this approach is the language of implementation. Developers have very narrow tool choice. An application has to be implemented in JavaScript. The situation tends to change, for example Google has implemented GWT the compiler for Java language and appropriate toolset. Java is translated to JavaScript and used to implement client side logic.
Haskell
Haskell is a modern programming language with static typing and non-strict semantics. For details see http://www.haskell.org/. The aim of the project is to bring one more alternative for developers, Haskell programming language. Haskell is known as a very good choice for prototyping and rapid application development.
GHC
GHC is a Haskell compiler developed in the Glasgow University. GHC is still actively developed and very popular. For details see http://www.haskell.org/ghc/. This implementation is derived from the Glasgow Haskell Compiler.
Previous work
This implementation is not the only one. Dmitry Golubovsky developed the backend for YHC http://haskell.org/haskellwiki/Yhc/Javascript. YHC is another Haskell compiler, so this project is just an alternative for YHC. Current implementation allows using of type system extensions provided by GHC that are not available on YHC.
Getting Started
- DevelopmentStatus -- What is done and where to go
- UserGuide -- How are examples implemented, how to use this backend
For a complete list of local wiki pages, see TitleIndex.
Trac
This page is made using Trac, an open source project management software, for details see
- TracGuide -- Built-in Documentation
- The Trac project -- Trac Open Source Project
- Trac FAQ -- Frequently Asked Questions
- TracSupport -- Trac Support
