From 6e2815e80aad20fc96ea9df03ea2d2ebad856584 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Wed, 7 Feb 2018 22:47:58 -0400 Subject: - Fixed tests in stdlib. --- stdlib/source/lux/data/number/complex.lux | 6 ++---- stdlib/source/lux/data/text/format.lux | 2 +- stdlib/source/lux/macro/poly/json.lux | 7 ++++--- stdlib/source/lux/time/instant.lux | 17 ++++++++--------- 4 files changed, 15 insertions(+), 17 deletions(-) (limited to 'stdlib/source') diff --git a/stdlib/source/lux/data/number/complex.lux b/stdlib/source/lux/data/number/complex.lux index d17180530..876ab66d1 100644 --- a/stdlib/source/lux/data/number/complex.lux +++ b/stdlib/source/lux/data/number/complex.lux @@ -8,8 +8,6 @@ ["p" parser]) (data [number "frac/" Number "f/" Codec] [text "text/" Monoid] - text/format - ["E" error] [maybe] (coll [list "L/" Monad])) [macro] @@ -127,8 +125,8 @@ (let [(^slots [#real #imaginary]) subject] {#real (f/* (math.cosh imaginary) (math.cos real)) - #imaginary (f/* (math.sinh imaginary) - (frac/negate (math.sin real)))})) + #imaginary (frac/negate (f/* (math.sinh imaginary) + (math.sin real)))})) (def: #export (cosh subject) (-> Complex Complex) diff --git a/stdlib/source/lux/data/text/format.lux b/stdlib/source/lux/data/text/format.lux index 80d672d67..c511d194d 100644 --- a/stdlib/source/lux/data/text/format.lux +++ b/stdlib/source/lux/data/text/format.lux @@ -51,7 +51,7 @@ [%hex Nat (:: number.Hex@Codec encode)] [%xml xml.XML (:: xml.Codec encode)] [%json json.JSON (:: json.Codec encode)] - [%instant instant.Instant (:: instant.Codec encode)] + [%instant instant.Instant instant.to-text] [%duration duration.Duration (:: duration.Codec encode)] [%date date.Date (:: date.Codec encode)] ) diff --git a/stdlib/source/lux/macro/poly/json.lux b/stdlib/source/lux/macro/poly/json.lux index 9a3096dff..cbe3877d7 100644 --- a/stdlib/source/lux/macro/poly/json.lux +++ b/stdlib/source/lux/macro/poly/json.lux @@ -17,7 +17,7 @@ [sequence #+ Sequence sequence "sequence/" Monad] ["d" dict]) (format ["//" json #+ JSON])) - (time ["i" instant] + (time ## ["i" instant] ["du" duration] ["da" date]) [macro #+ with-gensyms] @@ -50,6 +50,7 @@ (|> low nat-to-int int-to-frac #//.Number))))) (def: (decode input) (<| (//.run input) + //.array (do p.Monad [high //.number low //.number]) @@ -97,7 +98,7 @@ (|>> (:: (~' encode)) #//.String)))))] [du.Duration du.Codec] - [i.Instant i.Codec] + ## [i.Instant i.Codec] [da.Date da.Codec] [da.Day da.Codec] [da.Month da.Codec])] @@ -209,7 +210,7 @@ (p.codec //.string)))))] [du.Duration du.Codec] - [i.Instant i.Codec] + ## [i.Instant i.Codec] [da.Date da.Codec] [da.Day da.Codec] [da.Month da.Codec])] diff --git a/stdlib/source/lux/time/instant.lux b/stdlib/source/lux/time/instant.lux index 334b05115..22d57a06e 100644 --- a/stdlib/source/lux/time/instant.lux +++ b/stdlib/source/lux/time/instant.lux @@ -192,7 +192,7 @@ day-time])) ## Based on this: https://stackoverflow.com/a/42936293/6823464 -(def: (encode instant) +(def: #export (to-text instant) (-> Instant Text) (let [[[year month day] day-time] (extract-date instant) day-time (if (duration/>= duration.empty day-time) @@ -200,8 +200,7 @@ (duration.merge duration.day day-time)) [hours day-time] [(duration.query duration.hour day-time) (duration.frame duration.hour day-time)] [minutes day-time] [(duration.query duration.minute day-time) (duration.frame duration.minute day-time)] - [seconds millis] [(duration.query duration.second day-time) (duration.frame duration.second day-time)] - ] + [seconds millis] [(duration.query duration.second day-time) (duration.frame duration.second day-time)]] ($_ text/compose (int/encode year) "-" (pad month) "-" (pad day) "T" (pad hours) ":" (pad minutes) ":" (pad seconds) (|> millis @@ -299,13 +298,13 @@ (-> Text (e.Error Instant)) (l.run input lex-instant)) -(struct: #export _ - {#.doc "Based on ISO 8601. +## (struct: #export _ +## {#.doc "Based on ISO 8601. - For example: 2017-01-15T21:14:51.827Z"} - (Codec Text Instant) - (def: encode encode) - (def: decode decode)) +## For example: 2017-01-15T21:14:51.827Z"} +## (Codec Text Instant) +## (def: encode encode) +## (def: decode decode)) (def: #export now (IO Instant) -- cgit v1.2.3