Lightning talk at dotSwift 2014. Shows how we can utilise knowledge of the memory layout for functions to dynamically call into C and call Swift from C.
let orig = unsafeBitCast(my_floor, f_trampoline.self) let new = f_trampoline(prototype: orig, new_fp: pointer) let my_ceil = unsafeBitCast(new, FunctionType.self) println(my_ceil(6.7))