summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbertoCorona <>2017-03-20 15:50:00 (GMT)
committerhdiff <hdiff@hdiff.luite.com>2017-03-20 15:50:00 (GMT)
commita695818fe30e53763b00d2d2f89d8bc26ef49856 (patch)
treecb4a91a34f2d46e6ac1966e138de238175c5e0dc
parentcbe24d5a1214b5c1bdacd6dda7f0d4588c13bdc2 (diff)
version 0.4.40.4.4
-rw-r--r--README.md24
-rw-r--r--Setup.lhs12
-rw-r--r--axiom.cabal6
-rw-r--r--src/GHCJS/HPlay/View.hs5
4 files changed, 29 insertions, 18 deletions
diff --git a/README.md b/README.md
index 31817a9..3a222e0 100644
--- a/README.md
+++ b/README.md
@@ -1,19 +1,31 @@
[![Hackage](https://img.shields.io/hackage/v/ghcjs-hplay.svg)](http://hackage.haskell.org/package/ghcjs-hplay)
[![Stackage LTS](http://stackage.org/package/ghcjs-hplay/badge/lts)](http://stackage.org/lts/package/ghcjs-hplay)
[![Stackage Nightly](http://stackage.org/package/ghcjs-hplay/badge/nightly)](http://stackage.org/nightly/package/ghcjs-hplay)
-[![Build Status](https://travis-ci.org/agocorona/ghcjs-hplay.png?branch=master)](https://travis-ci.org/agocorona/ghcjs-hplay)
+[![Build Status](https://travis-ci.org/transient-haskell/ghcjs-hplay.png?branch=master)](https://travis-ci.org/agocorona/ghcjs-hplay)
-ghcjs-hplay
+Axiom (ghcjs-hplay)
==========
+![](http://vignette3.wikia.nocookie.net/pixar/images/6/6d/Wall-E_Axiom_Deck_Analysis_Map.jpg/revision/latest/scale-to-width-down/185?cb=20120718160701)
-![](https://raw.githubusercontent.com/agocorona/ghcjs-hplay/master/axiom.png)
+For some examples, see the [transient-examples](https://github.com/transient-haskell/transient-examples) repository: [distributedApps.hs](https://github.com/transient-haskell/transient-examples/blob/master/distributedApps.hs) and [webapp.hs](https://github.com/transient-haskell/transient-examples/blob/master/webapp.hs)
+
+The source code can be executed in the commmand line if you have docker installed.
[![Gitter](https://badges.gitter.im/theam/haskell-do.svg)](https://gitter.im/Transient-Transient-Universe-HPlay/Lobby?utm_source=share-link&utm_medium=link&utm_campaign=share-link)
-This package [hplayground](https://github.com/agocorona/hplayground) is compilable with [GHCJS](https://github.com/ghcjs), the Haskell-to-JavaScript compiler. It is also the Web user interface of [Transient](https://github.com/agocorona/transient).
+Axiom (the new name of ghcjs-hplay) is also the Web user interface of [Transient](https://github.com/agocorona/transient). The Web functionality of transient will be called **Axiom**, like the cruise starship of Wall-e. Axiom is made to let you navigate the universe of nodes in the cloud trough your browser while you are comfortably seated in your [hoverchair](https://www.youtube.com/watch?v=uOL2W9JQmo8).
+
+Unlike his predecessor, [hplayground](http://github.com/agocorona/hplayground), Axiom has full integration with Transient and can run widgets that run code on the server, the client or both.
-Unlike hplayground, ghcjs-hplay has full integration with Transient and can run widgets that run code on the server, the client or both.
+Axiom execute browser widgets that are reactive, can be composed monadically and algebraically (applicative, alternative, monoidal..). At the same time they participate in cloud computations. A widget can execute code in the server and, trough the server, in any node on the cloud using the same cloud primitives defined in transient-universe. The example applications include widgets that perform distributed map-reduce and federated chat servers as well as stream fibonacci numbers from server to client and from client to server.
To see how it integrates with Transient and how to create client-server applications, see the web paragraphs of the [transient tutorial](https://github.com/agocorona/transient/wiki/Transient-tutorial).
-To see how to create client side applications and widgets (not yet with full server code integration), look for the [hplayground](https://github.com/agocorona/hplayground) package.
+To see how to create client side applications and widgets (with no server code integration), look for [hplayground](https://github.com/agocorona/hplayground) package. [Tutorial](https://www.airpair.com/haskell-tutorial/intro-to-haskell-web-apps)
+
+Plans:
+======
+
+Axiom is in the process of becoming a Server-side as well as Client-side library for creating Web application. The last release support page templates for the creation of server-side content.
+
+In the future it will manage routes in the server side besides client side, and will generate dinamic HTML content in the server as well as in the client.
diff --git a/Setup.lhs b/Setup.lhs
index a630405..57ab288 100644
--- a/Setup.lhs
+++ b/Setup.lhs
@@ -1,6 +1,6 @@
-#!/usr/bin/runhaskell
-> module Main where
-> import Distribution.Simple
-> main :: IO ()
-> main = defaultMain
-
+#!/usr/bin/runhaskell
+> module Main where
+> import Distribution.Simple
+> main :: IO ()
+> main = defaultMain
+
diff --git a/axiom.cabal b/axiom.cabal
index 559d0b6..bf805d9 100644
--- a/axiom.cabal
+++ b/axiom.cabal
@@ -1,6 +1,6 @@
name: axiom
-version: 0.4.3
+version: 0.4.4
cabal-version: >=1.10
build-type: Simple
@@ -11,7 +11,7 @@ maintainer: agocorona@gmail.com
homepage: https://github.com/transient-haskell/axiom
bug-reports: https://github.com/transient-haskell/axiom/issues
-synopsis: Web EDSL running over transient running in browsers and server nodes
+synopsis: Web EDSL for running in browsers and server nodes using transient
description: Client-and Server-side Haskell framework that compiles to javascript with the GHCJS compiler and run over Transient. See homepage
category: Web
cabal-version: >=1.10
@@ -23,7 +23,7 @@ extra-source-files: README.md
source-repository head
type: git
- location: http://github.com/transient-haskell/axiom
+ location: http://github.com/agocorona/ghcjs-hplay
library
build-depends: base > 4.0 && <6.0
diff --git a/src/GHCJS/HPlay/View.hs b/src/GHCJS/HPlay/View.hs
index 24c621c..65432aa 100644
--- a/src/GHCJS/HPlay/View.hs
+++ b/src/GHCJS/HPlay/View.hs
@@ -105,7 +105,7 @@ module GHCJS.HPlay.View(
) where
-import Transient.Internals hiding (input, option, parent, try)
+import Transient.Internals hiding (input, option, parent)
import Transient.Logged
import Transient.Move.Utils
import qualified Prelude(id,span,div)
@@ -278,6 +278,7 @@ instance AdditionalOperators Widget where
Widget . Transient $ do
mn <- getData
mrepeat <-getData
+ liftIO $ print ("IDNUM",mn)
when (isJust mn && mrepeat == Just ExecEvent) $ do
let IDNUM n = fromJust mn in modify $ \s -> s{mfSequence= n}
-- !> ("SET IDMUN", n)
@@ -1351,10 +1352,8 @@ addSData y= do
-- must be an identifier instead of an DOM element since links may reload the whole page
data IdLine= IdLine Int JSString -- deriving(Read,Show)
-
data ExecMode= ExecEvent deriving (Eq, Read, Show)
-
execTemplate= unsafePerformIO $ newIORef False
-- first identifier for an applicative widget expression