{"body":"❯ cat main.go\npackage main\nimport \"C\"\nimport (\n \"fmt\"\n \"math\"\n \"sort\"\n \"sync\"\n)\nvar count int\nvar mtx sync.Mutex\n//export Add\nfunc Add(a, b int) int { return a + b }\n//export Cosine\nfunc Cosine(x float64) float64 { return math.Cos(x) }\n//export Sort\nfunc Sort(vals []int) { sort.Ints(vals) }\n//export Log\nfunc Log(msg string) int {\n  mtx.Lock()\n  defer mtx.Unlock()\n  fmt.Println(msg)\n  count++\n  return count\n}\nfunc main() {}\n// See awesome.go GitHub\n❯ go build -o test.so -buildmode=c-shared main.go\n❯ raku -e 'use NativeCall; sub Add(int64, int64 --> int64) is native(\"./test.so\") {*}; say Add 1, 2'\n3","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/fbud7nyO","modified":1726873227,"id":"fbud7nyO","size":610,"lines":30,"own_paste":false,"theme":"","date":1726873227}