Skip to content

Instantly share code, notes, and snippets.

@zakki
Last active August 29, 2015 13:56
Show Gist options
  • Save zakki/9068862 to your computer and use it in GitHub Desktop.
Save zakki/9068862 to your computer and use it in GitHub Desktop.
open Js
let f1 c =
c##prop1 <- true
(*
Val: val ff1 : < prop1 : < set : bool -> unit; .. > Js.gen_prop;
prop2 : < get : < prop1 : < set : bool -> unit; .. >
Js.gen_prop;
.. >
Js.t;
.. >
Js.gen_prop;
.. >
Js.t -> unit
*)
let ff1 a =
f1 a;
f1 a##prop2
(*
Val: val ff2 : (< prop1 : < set : bool -> unit; .. > Js.gen_prop;
prop2 : < get : 'a Js.t; .. > Js.gen_prop; .. >
as 'a)
Js.t -> unit
*)
let ff2 a =
let f2 c =
c##prop1 <- true
in
f2 a;
f2 a##prop2
(*
open Js
let f1 c =
let ae822624d : (< .. > as 'a30a5da5a) Js.t = c in
let _ =
fun (a023c5a49 : 'a30a5da5a) ->
(a023c5a49#prop1 : < set : 'a3ba5c17b -> unit; .. > Js.gen_prop)
in Js.Unsafe.set ae822624d "prop1" (true : 'a3ba5c17b)
let ff1 a =
(f1 a;
f1
(let a876d6906 : (< .. > as 'ade15b1f5) Js.t = a in
let _ =
fun (aa912e399 : 'ade15b1f5) ->
(aa912e399#prop2 : < get : 'a17ac33ed; .. > Js.gen_prop)
in (Js.Unsafe.get a876d6906 "prop2" : 'a17ac33ed)))
let ff2 a =
let f2 c =
let a927936a6 : (< .. > as 'abc9aab0e) Js.t = c in
let _ =
fun (ab2404233 : 'abc9aab0e) ->
(ab2404233#prop1 : < set : 'ae187c619 -> unit; .. > Js.gen_prop)
in Js.Unsafe.set a927936a6 "prop1" (true : 'ae187c619)
in
(f2 a;
f2
(let a33f5f750 : (< .. > as 'a9bc37f35) Js.t = a in
let _ =
fun (aa9483ccb : 'a9bc37f35) ->
(aa9483ccb#prop2 : < get : 'a83fec944; .. > Js.gen_prop)
in (Js.Unsafe.get a33f5f750 "prop2" : 'a83fec944)))
*)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment