2024-01-30 11:34:50 +03:00
|
|
|
aqua A
|
2024-01-09 19:31:37 +03:00
|
|
|
|
2024-02-21 14:11:21 +03:00
|
|
|
export haveFun
|
2024-02-20 15:52:54 +03:00
|
|
|
|
2024-02-21 14:11:21 +03:00
|
|
|
ability Compute:
|
|
|
|
job() -> string
|
2024-01-11 11:00:32 +03:00
|
|
|
|
2024-02-21 14:11:21 +03:00
|
|
|
func lift() -> Compute:
|
|
|
|
job = () -> string:
|
|
|
|
<- "job done"
|
|
|
|
<- Compute(job)
|
2024-01-09 19:31:37 +03:00
|
|
|
|
2024-02-21 14:11:21 +03:00
|
|
|
ability Function:
|
|
|
|
run() -> string
|
2024-01-11 11:00:32 +03:00
|
|
|
|
2024-02-21 14:11:21 +03:00
|
|
|
func roundtrip{Function}() -> string:
|
|
|
|
res <- Function.run()
|
|
|
|
<- res
|
2024-01-09 19:31:37 +03:00
|
|
|
|
2024-02-21 14:11:21 +03:00
|
|
|
func disjoint_run{Compute}() -> Function:
|
|
|
|
run = func () -> string:
|
|
|
|
<- Compute.job()
|
|
|
|
<- Function(run = run)
|
2024-02-12 11:23:14 +03:00
|
|
|
|
2024-02-21 14:11:21 +03:00
|
|
|
func haveFun() -> string:
|
|
|
|
comp = lift()
|
|
|
|
fn = disjoint_run{comp}()
|
|
|
|
res <- roundtrip{fn}()
|
|
|
|
<- res
|