git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Remove multi arg functions from Prelude
commit063ef3ceb731542c07f8f3c0cf0ed52511f54fc6 authorPhil Freeman <paf31@cantab.net> dateSun 2 Feb 2014, 16:08 (13 years ago) parente7d219e
2 files changed+83−23
libraries/prelude/prelude.purs+81−21 libraries/prelude/tests/Eff.purs+2−2
libraries/prelude/prelude.purs+81−21
@@ -407,28 +407,76 @@ module Global where
407407
408408module Math where
409409
410− type Math =
411− { abs :: Number -> Number
412− , acos :: Number -> Number
413− , asin :: Number -> Number
414− , atan :: Number -> Number
415− --, atan2 :: (Number, Number) -> Number
416− , aceil :: Number -> Number
417− , cos :: Number -> Number
418− , exp :: Number -> Number
419− , floor :: Number -> Number
420− , log :: Number -> Number
421− --, max :: (Number, Number) -> Number
422− --, pow :: (Number, Number) -> Number
423− --, random :: () -> Number
424− , round :: Number -> Number
425− , sin :: Number -> Number
426− , sqrt :: Number -> Number
427− , tan :: Number -> Number
428− }
410+ foreign import abs "function abs(n){\
411+ \ return Math.abs(n);\
412+ \}" :: Number -> Number
413+
414+ foreign import acos "function acos(n){\
415+ \ return Math.acos(n);\
416+ \}" :: Number -> Number
417+
418+ foreign import asin "function asin(n){\
419+ \ return Math.asin(n);\
420+ \}" :: Number -> Number
421+
422+ foreign import atan "function atan(n){\
423+ \ return Math.atan(n);\
424+ \}" :: Number -> Number
425+
426+ foreign import atan2 "function atan2(y){\
427+ \ return function (x) {\
428+ \ return Math.atan2(y, x);\
429+ \ };\
430+ \}" :: Number -> Number -> Number
431+
432+ foreign import aceil "function aceil(n){\
433+ \ return Math.aceil(n);\
434+ \}" :: Number -> Number
435+
436+ foreign import cos "function cos(n){\
437+ \ return Math.cos(n);\
438+ \}" :: Number -> Number
439+
440+ foreign import exp "function exp(n){\
441+ \ return Math.exp(n);\
442+ \}" :: Number -> Number
443+
444+ foreign import floor "function floor(n){\
445+ \ return Math.floor(n);\
446+ \}" :: Number -> Number
447+
448+ foreign import log "function log(n){\
449+ \ return Math.log(n);\
450+ \}" :: Number -> Number
451+
452+ foreign import max "function max(n){\
453+ \ return Math.max(n);\
454+ \}" :: Number -> Number
455+
456+ foreign import min "function min(n){\
457+ \ return Math.min(n);\
458+ \}" :: Number -> Number
459+
460+ foreign import pow "function pow(n){\
461+ \ return Math.pow(n);\
462+ \}" :: Number -> Number
463+
464+ foreign import round "function round(n){\
465+ \ return Math.round(n);\
466+ \}" :: Number -> Number
467+
468+ foreign import sin "function sin(n){\
469+ \ return Math.sin(n);\
470+ \}" :: Number -> Number
471+
472+ foreign import sqrt "function sqrt(n){\
473+ \ return Math.sqrt(n);\
474+ \}" :: Number -> Number
475+
476+ foreign import tan "function tan(n){\
477+ \ return Math.tan(n);\
478+ \}" :: Number -> Number
429479
430− foreign import math "var math = Math;" :: Math
431−
432480module Eff where
433481
434482 foreign import data Eff :: # ! -> * -> *
@@ -457,6 +505,18 @@ module Eff where
457505 ret = retEff
458506 (>>=) = bindEff
459507
508+module Random where
509+
510+ import Eff
511+
512+ foreign import data Random :: !
513+
514+ foreign import random "function random() {\
515+ \ return function() {\
516+ \ return Math.random();\
517+ \ };\
518+ \}" :: forall e. Eff (random :: Random | e) Number
519+
460520module Errors where
461521
462522 import Eff
libraries/prelude/tests/Eff.purs+2−2
@@ -37,7 +37,7 @@ test6 s = do
3737
3838import ST
3939
40−test7 = \ -> do
40+test7 _ = do
4141 n <- runST $ do
4242 r <- newSTRef 0
4343 modifySTRef r $ \n -> n + 1
@@ -48,4 +48,4 @@ module Main where
4848
4949import Tests
5050
51−main = test7 ()
51+main = test7 {}