3 ms·
Impressive. They seem to have added operator overloading to CoffeeScript, among other things: # 1. Matrix multiplication m1 = matrix([1, 2, 5],
by j4mie 15y ago
Impressive. They seem to have added operator overloading to CoffeeScript, among other things:
# 1. Matrix multiplication
m1 = matrix([1, 2, 5],
[2, -1, 6],
[5, 10, -1])
m2 = matrix([2, 3, 1],
[-3, -1, -3],
[4, 9, -2])
show m1 * m2
Not sure how this could be used for "serious" number crunching (as it runs in-browser) but I imagine it would be a fantastic teaching tool.
- Vivtek 15y agoYou could use it as a prototyping tool, then run JS on a server for "serious" crunching, maybe.
- deleted 15y ago[deleted]
- jashkenas 15y agoOne major problem with any JS-based language for number crunching is JS' lack of any numeric types other than a double. I don't know how well the string-based workarounds really work, for arbitrary precision math ... but I'd imagine that they wouldn't be terribly fast or convenient. It's a real shame.
- mbrubeck 15y agoCurrent versions of Firefox and Chrome have typed arrays, which add more numeric types for performance optimization. Hopefully we will see them in other browsers soon: https://developer.mozilla.org/en/javascript_typed_arrays https://developer.mozilla.org/en/javascript_typed_arrays
- Someone 15y agoIt would need lots and lots and lots of work before I would call it a fantastic teaching tool. For example, it is spectacularly naive at plotting functions. Even a relatively simple function such as 1/sin(x) already brings it to its knees.