Page Menu
Home
Xreate
Search
Configure Global Search
Log In
Docs
Questions
Repository
Issues
Patches
Internal API
Files
F2731029
example1-wr.xreate
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sat, Mar 14, 3:04 AM
Size
971 B
Mime Type
text/plain
Expires
Mon, Mar 16, 3:04 AM (1 d, 12 h)
Engine
blob
Format
Raw Data
Handle
243789
Attached To
rXR Xreate
example1-wr.xreate
View Options
//Only Direct implementatino defined
import raw ("scripts/dfa/propagation.lp").
import raw ("scripts/dfa/polymorphism.lp").
import raw ("scripts/effects-communication/communication.lp").
import raw ("scripts/effects-communication/config.lp").
CommGuard = type variant{Invalid, Valid, Outdated}.
CommDirect = type {
value:: int
}.
CommGuarded = type {
value:: int,
state:: CommGuard
}.
guard:: commDirect {
init=function::CommDirect{
{value = 0}
}
read= function(vault1:: CommDirect):: int{
(vault1::CommDirect; commop(read))["value"]
}
write= function(vault2:: CommDirect, valueNew:: int)::CommDirect{
(vault2::CommDirect;dfa_pseudo(vault2)) + {value = valueNew}:: int; commop(write); dfa_uppy(vault2)
}
}
main=function::int; entry {
x1 = init()::Comm; dfa_polym(ret).
x2 = write(x1, 1)::Comm; dfa_polym(arg).
a = read(x2)::int; dfa_polym(arg).
a
}
Event Timeline
Log In to Comment