I'm having issues passing math functions (procs) in Nim (version 0.10.2).
import math
var s1 = @[1.1, 1.2, 1.3, 1.4]
var s2 = map(s1, math.sqrt)
I get the error
Error: 'sqrt' cannot be passed to a procvar
If I write a wrapper function for sqrt, it works just fine.
proc fxn(x: float): float = math.sqrt(x)
var s2 = map(s1, fxn)
I'm using square root and map as examples, but eventually I'll be passing sqrt (and other math procs) to another proc. Is there a way to do this without writing wrapper functions?
There are plans to make this work by default, by enabling the procvar
pragma by default and making a wrapping procvar for C-imported procs: https://github.com/nim-lang/Nim/issues/2172
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With