on master help sign in
Move all infix ops out of elm to get code gen right
commit29578e5b6351b464ffdf8fc4086e68057bf84b27 authorEvan Czaplicki <info@elm-lang.org> dateSun 15 Jun 2014, 14:53 (12 years ago) parent577fc17
2 files changed+26−4
libraries/Basics.elm+4−4 libraries/Native/Basics.js+22
libraries/Basics.elm+4−4
@@ -58,25 +58,25 @@ radians t = t
5858
5959{-| Convert degrees to standard Elm angles (radians). -}
6060degrees : Float -> Float
61−degrees d = d * Native.Basics.pi / 180
61+degrees = Native.Basics.degrees
6262
6363{-| Convert turns to standard Elm angles (radians).
6464One turn is equal to 360&deg;.
6565-}
6666turns : Float -> Float
67−turns r = 2 * Native.Basics.pi * r
67+turns = Native.Basics.turns
6868
6969{-| Start with polar coordinates (r,&theta;)
7070and get out cartesian coordinates (x,y).
7171-}
7272fromPolar : (Float,Float) -> (Float,Float)
73−fromPolar (r,t) = (r * Native.Basics.cos t, r * Native.Basics.sin t)
73+fromPolar = Native.Basics.fromPolar
7474
7575{-| Start with cartesian coordinates (x,y)
7676and get out polar coordinates (r,&theta;).
7777-}
7878toPolar : (Float,Float) -> (Float,Float)
79−toPolar (x,y) = (Native.Basics.sqrt (x^2 + y^2), Native.Basics.atan2 y x)
79+toPolar = Native.Basics.toPolar
8080
8181(+) : number -> number -> number
8282(+) = Native.Basics.add
libraries/Native/Basics.js+22
@@ -23,6 +23,23 @@ Elm.Native.Basics.make = function(elm) {
2323
2424 function truncate(n) { return n|0; }
2525
26+ function degrees(d) {
27+ return d * Math.PI / 180;
28+ }
29+ function turns(t) {
30+ return 2 * Math.PI * t;
31+ }
32+ function fromPolar(point) {
33+ var r = point._0;
34+ var t = point._1;
35+ return Utils.Tuple2(r * Math.cos(t), r * Math.sin(t));
36+ }
37+ function toPolar(point) {
38+ var x = point._0;
39+ var y = point._1;
40+ return Utils.Tuple2(Math.sqrt(x * x + y * y), Math.atan2(y,x));
41+ }
42+
2643 var basics = {
2744 div:F2(div),
2845 rem:F2(rem),
@@ -38,6 +55,11 @@ Elm.Native.Basics.make = function(elm) {
3855 atan:Math.atan,
3956 atan2:F2(Math.atan2),
4057
58+ degrees: degrees,
59+ turns: turns,
60+ fromPolar: fromPolar,
61+ toPolar: toPolar,
62+
4163 sqrt:Math.sqrt,
4264 abs:abs,
4365 logBase:F2(logBase),