{
"version": "0.1.1",
"name": "ptr",
"types": {
"ptr": {
"extension": "ptr",
"name": "ptr",
"params": [
{
"tp": "Type",
"b": "C"
}
],
"description": "Standard extension pointer type.",
"bound": {
"b": "Explicit",
"bound": "C"
}
}
},
"operations": {
"New": {
"extension": "ptr",
"name": "New",
"description": "Create a new pointer from a value.",
"signature": {
"params": [
{
"tp": "Type",
"b": "C"
}
],
"body": {
"input": [
{
"t": "V",
"i": 0,
"b": "C"
}
],
"output": [
{
"t": "Opaque",
"extension": "ptr",
"extension_version": "0.1.1",
"id": "ptr",
"args": [
{
"tya": "Type",
"ty": {
"t": "V",
"i": 0,
"b": "C"
}
}
],
"bound": "C"
}
]
}
},
"binary": false
},
"Read": {
"extension": "ptr",
"name": "Read",
"description": "Read a value from a pointer.",
"signature": {
"params": [
{
"tp": "Type",
"b": "C"
}
],
"body": {
"input": [
{
"t": "Opaque",
"extension": "ptr",
"extension_version": "0.1.1",
"id": "ptr",
"args": [
{
"tya": "Type",
"ty": {
"t": "V",
"i": 0,
"b": "C"
}
}
],
"bound": "C"
}
],
"output": [
{
"t": "V",
"i": 0,
"b": "C"
}
]
}
},
"binary": false
},
"Write": {
"extension": "ptr",
"name": "Write",
"description": "Write a value to a pointer, overwriting existing value.",
"signature": {
"params": [
{
"tp": "Type",
"b": "C"
}
],
"body": {
"input": [
{
"t": "Opaque",
"extension": "ptr",
"extension_version": "0.1.1",
"id": "ptr",
"args": [
{
"tya": "Type",
"ty": {
"t": "V",
"i": 0,
"b": "C"
}
}
],
"bound": "C"
},
{
"t": "V",
"i": 0,
"b": "C"
}
],
"output": []
}
},
"binary": false
}
}
}