bonsai
A library for building dynamic webapps, using Js_of_ocaml
1024" x-on:close-sidebar="sidebar=window.innerWidth > 1024 && true">
package bonsai
-
bonsai
-
-
bonsai.bench
-
bonsai.example_chat_open_source_native
-
bonsai.example_chat_open_source_native_common
-
-
bonsai.extra
-
-
bonsai.focus_ring
-
bonsai.protocol
-
bonsai.tailwind_colors
-
bonsai.test
-
bonsai.test.dot
-
bonsai.web_test
-
bonsai.web_ui_common_components
-
bonsai.web_ui_drag_and_drop
-
bonsai.web_ui_element_size_hooks
-
bonsai.web_ui_file
-
bonsai.web_ui_file_from_web_file
-
bonsai.web_ui_form
-
-
bonsai.web_ui_freeform_multiselect
-
bonsai.web_ui_multi_select
-
-
bonsai.web_ui_query_box
-
bonsai.web_ui_reorderable_list
-
bonsai.web_ui_typeahead
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
A value of type 'a Value.t
represents a value that may change during the lifetime of the program. For those familiar with the Incremental
library, this type is conceptually very similar to Incr.t
. The main method by which you acquire values of type Value.t
is by using the let%sub
syntax extension.
val c : int Computation.t
let%sub x = c in
(* [x] has type [int Value.t] here *)
In the example above, we run a computation c
and store the result of that computation in x
which has type Value.t
.
Value.t
is an applicative, which means that you can combine multiple Value
s into one by using Let_syntax
:
val a : int Value.t
val b : int Value.t
let open Let_syntax in
let%map a = a and b = b in
a + b
include Core.Applicative.S with type 'a t := 'a t
val return : 'a -> 'a t
module Applicative_infix : sig ... end
ON THIS PAGE
No table of contents