<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class="">On Aug 2, 2017, at 6:37 PM, Nicolas Fezans via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: Helvetica; font-size: 12.800000190734863px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">I am of course not talking about a syntax sugar to call a sin or cos function, but rather to manipulate other objects such as N-dimensional matrices, defining maths functions that can take such matrices as argument e.g. sin(A) with A as matrix produces a matrix of the same size where all elements are the sinus values of the elements of A (sorry but things like this calling map() with 'sin' looks quite ugly for scientists).</span></div></blockquote></div><div class=""><br class=""></div><div class="">You’re on very shaky ground here. It is not at all obvious that sin(A) should be the “elementwise” sine that you suggest, and not the matrix sine (defined by plugging A into the power series for sine, which is globally convergent). Depending on what branch of science/math you come from, one of these is “obviously” the right answer, but I assure you that it’s very much not obvious.</div><div class=""><br class=""></div><div class="">Yes, we want libraries to build this sort of thing to exist.</div><div class=""><br class=""></div><div class="">No, it’s not clear what the “right” way to expose some of these operations in the language/library are.</div><div class=""><br class=""></div><div class="">It is better to be verbose but correct than to be terse and cause bugs.</div><div class=""><br class=""></div><div class="">– Steve</div></body></html>