Ur/Web Examples
Check-in [208f87bd26]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:tiny updates to documentation
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:208f87bd265d1a7131ddbee1f9069243937c19ae
User & Date: beyert 2016-08-17 05:04:47
Context
2016-08-17
05:05
tiny updates to documentation (again) check-in: 44e95edf08 user: beyert tags: trunk
05:04
tiny updates to documentation check-in: 208f87bd26 user: beyert tags: trunk
05:03
add composable signals libary, providing various lift functions for signals, similar to liftA in Haskell check-in: 89123158a3 user: beyert tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to wiki/urweb_examples.wiki.

19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

A simple demo that generates random numbers using the C FFI, using a time-based seed (delays 10 microseconds at the minimum) to ensure uniqueness.

<h4>pseudoRandomIota/:</h4>

A simple demo that generates a sequence of random numbers over time.  Reuses the time-based production functions from the iota example and the random number generation functions from the pseudoRandom example.  A monadic version of periodic (periodicT) must be used, since we are dealing with transactional values.

<h4>jsonRpcUI:</h4>

An experimental demo of a JSON RPC client written in Haskell, called on the Ur/Web server side via the C FFI, which in turn communicates with another network service on the server (most likely, running in Haskell).  The benefit of this approach is that it is fully compliant with transactional semantics, which I believe is desirable for highly stateful applications (eg. that modify the file system, run long-running shell commands, read/write files, send/receive emails, and so on).

<h4>composableSignals:</h4>

Provides lift and map operations for signals, similar to liftA, liftA2, which in Haskell are used to lift functions to applicatives.  To be more specific, I noticed that lifting functions were used to compose wires in examples for the FRP library Netwire.  The intention of this library is exactly the same.  Aside from liftA in Haskell, it provides a similar analog to lift used on a ValueCell in Scala Lift web framework, combineWith in bacon.js, and likely many others, thus giving Ur/Web FRP parity with other systems...

<h3>Compatibility</h3>

Ideally, these demos should&hellip;








|



|







19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

A simple demo that generates random numbers using the C FFI, using a time-based seed (delays 10 microseconds at the minimum) to ensure uniqueness.

<h4>pseudoRandomIota/:</h4>

A simple demo that generates a sequence of random numbers over time.  Reuses the time-based production functions from the iota example and the random number generation functions from the pseudoRandom example.  A monadic version of periodic (periodicT) must be used, since we are dealing with transactional values.

<h4>jsonRpcUI:/</h4>

An experimental demo of a JSON RPC client written in Haskell, called on the Ur/Web server side via the C FFI, which in turn communicates with another network service on the server (most likely, running in Haskell).  The benefit of this approach is that it is fully compliant with transactional semantics, which I believe is desirable for highly stateful applications (eg. that modify the file system, run long-running shell commands, read/write files, send/receive emails, and so on).

<h4>composableSignals:/</h4>

Provides lift and map operations for signals, similar to liftA, liftA2, which in Haskell are used to lift functions to applicatives.  To be more specific, I noticed that lifting functions were used to compose wires in examples for the FRP library Netwire.  The intention of this library is exactly the same.  Aside from liftA in Haskell, it provides a similar analog to lift used on a ValueCell in Scala Lift web framework, combineWith in bacon.js, and likely many others, thus giving Ur/Web FRP parity with other systems...

<h3>Compatibility</h3>

Ideally, these demos should&hellip;