Higher-Order Types and Meta-Programming for Global Computing