Skip to content

Instantly share code, notes, and snippets.

@rudolph9
Last active July 28, 2020 16:01
Show Gist options
  • Save rudolph9/bb87e8205353dd2ff28d3d080dc70992 to your computer and use it in GitHub Desktop.
Save rudolph9/bb87e8205353dd2ff28d3d080dc70992 to your computer and use it in GitHub Desktop.
Currency conversion
// cue v0.3.0-alpha1
given: {
INC: USD: v: 2.0
USD: GBP: v: 3.0
}
_hydrated: given & {
for k, v in given
for _, v1 in given
for k2, _ in v1 {
"\(k)": "\(k)": v: 1.0
"\(k2)": "\(k2)": v: 1.0
"\(k)": "\(k2)": v: number
"\(k2)": "\(k)": v: number
}
}
_keys: [ for k,_ in _hydrated { k } ]
fromToRate: _hydrated & {
[a=_]: {
[b=(!=a)]: {
for k in _keys if a != k && b != k {
v: fromToRate[a][k].v * fromToRate[k][b].v
}
}
}
}
@rudolph9
Copy link
Author

$ cue eval --e fromToRate.INC.GBP.v currency.cue
6.00

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment