Darren Duncan wrote:

Dave Whipp wrote:

## Advertising

sub sqrt(Num where { 0 <= $_ <= Real::Max } $x) { (0..$x/2 :by(Real::Epsilon)).min: { abs $x - $^candidate ** 2 } }So do you really mean "as declarative a manner as possible"? Or wouldyou consider this example to go beyond "possible"?I would declare sqrt this way instead (the body is the important change): sub sqrt(Num where { 0 <= $_ <= Real::Max } $x) { $x ** (1/2) }

`In other words, you prefer explicit definition to implicit declaration`

`(in this case, you're basically saying that "sqrt" is a curried`

`exponentiation). Do you have any examples of what you'd propose as`

`declarative forms for prelude.pm?`