packages feed

arduino-copilot 1.5.2 → 1.5.3

raw patch · 31 files changed

+232/−27 lines, 31 filesdep ~copilotdep ~copilot-c99dep ~copilot-languagePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: copilot, copilot-c99, copilot-language

API changes (from Hackage documentation)

- Copilot.Arduino: [UType] :: forall a. Typeable a => {uTypeType :: Type a} -> UType
- Copilot.Arduino: [Value] :: forall a (s :: Symbol) t. (Typeable t, KnownSymbol s, Show t) => Type t -> Field s t -> Value a
+ Copilot.Arduino: UType :: Type a -> UType
+ Copilot.Arduino: Value :: Type t -> Field s t -> Value a
+ Copilot.Arduino: [uTypeType] :: UType -> Type a
+ Copilot.Arduino: bitReverse16 :: Word16 -> Word16
+ Copilot.Arduino: bitReverse32 :: Word32 -> Word32
+ Copilot.Arduino: bitReverse64 :: Word64 -> Word64
+ Copilot.Arduino: bitReverse8 :: Word8 -> Word8
+ Copilot.Arduino: class Monad m => MonadFail (m :: Type -> Type)
- Copilot.Arduino: (#) :: (KnownSymbol s, Typed t, Typed a, Struct a) => Stream a -> (a -> Field s t) -> Stream t
+ Copilot.Arduino: (#) :: forall (s :: Symbol) t a. (KnownSymbol s, Typed t, Typed a, Struct a) => Stream a -> (a -> Field s t) -> Stream t
- Copilot.Arduino: ($!) :: () => (a -> b) -> a -> b
+ Copilot.Arduino: ($!) :: forall (r :: RuntimeRep) a (b :: TYPE r). (a -> b) -> a -> b
- Copilot.Arduino: ($) :: () => (a -> b) -> a -> b
+ Copilot.Arduino: ($) :: forall (r :: RuntimeRep) a (b :: TYPE r). (a -> b) -> a -> b
- Copilot.Arduino: (.!!) :: (KnownNat n, t' ~ InnerType t, Flatten t t', Typed t, Typed t') => Stream (Array n t) -> Stream Word32 -> Stream t
+ Copilot.Arduino: (.!!) :: forall (n :: Nat) t' t. (KnownNat n, t' ~ InnerType t, Flatten t t', Typed t, Typed t') => Stream (Array n t) -> Stream Word32 -> Stream t
- Copilot.Arduino: (.) :: () => (b -> c) -> (a -> b) -> a -> c
+ Copilot.Arduino: (.) :: (b -> c) -> (a -> b) -> a -> c
- Copilot.Arduino: Field :: t -> Field t
+ Copilot.Arduino: Field :: t -> Field (s :: Symbol) t
- Copilot.Arduino: [Array] :: forall a (n :: Nat) t. (KnownNat n, Typed t, Typed (InnerType t), Flatten t (InnerType t)) => Type t -> Type (Array n t)
+ Copilot.Arduino: [Array] :: forall (n :: Nat) t. (KnownNat n, Typed t, Typed (InnerType t), Flatten t (InnerType t)) => Type t -> Type (Array n t)
- Copilot.Arduino: [Bool] :: forall a. () => Type Bool
+ Copilot.Arduino: [Bool] :: Type Bool
- Copilot.Arduino: [Double] :: forall a. () => Type Double
+ Copilot.Arduino: [Double] :: Type Double
- Copilot.Arduino: [Float] :: forall a. () => Type Float
+ Copilot.Arduino: [Float] :: Type Float
- Copilot.Arduino: [Int16] :: forall a. () => Type Int16
+ Copilot.Arduino: [Int16] :: Type Int16
- Copilot.Arduino: [Int32] :: forall a. () => Type Int32
+ Copilot.Arduino: [Int32] :: Type Int32
- Copilot.Arduino: [Int64] :: forall a. () => Type Int64
+ Copilot.Arduino: [Int64] :: Type Int64
- Copilot.Arduino: [Int8] :: forall a. () => Type Int8
+ Copilot.Arduino: [Int8] :: Type Int8
- Copilot.Arduino: [SArray] :: forall t. () => Type t -> SimpleType
+ Copilot.Arduino: [SArray] :: forall t. Type t -> SimpleType
- Copilot.Arduino: [SBool] :: () => SimpleType
+ Copilot.Arduino: [SBool] :: SimpleType
- Copilot.Arduino: [SDouble] :: () => SimpleType
+ Copilot.Arduino: [SDouble] :: SimpleType
- Copilot.Arduino: [SFloat] :: () => SimpleType
+ Copilot.Arduino: [SFloat] :: SimpleType
- Copilot.Arduino: [SInt16] :: () => SimpleType
+ Copilot.Arduino: [SInt16] :: SimpleType
- Copilot.Arduino: [SInt32] :: () => SimpleType
+ Copilot.Arduino: [SInt32] :: SimpleType
- Copilot.Arduino: [SInt64] :: () => SimpleType
+ Copilot.Arduino: [SInt64] :: SimpleType
- Copilot.Arduino: [SInt8] :: () => SimpleType
+ Copilot.Arduino: [SInt8] :: SimpleType
- Copilot.Arduino: [SStruct] :: () => SimpleType
+ Copilot.Arduino: [SStruct] :: SimpleType
- Copilot.Arduino: [SWord16] :: () => SimpleType
+ Copilot.Arduino: [SWord16] :: SimpleType
- Copilot.Arduino: [SWord32] :: () => SimpleType
+ Copilot.Arduino: [SWord32] :: SimpleType
- Copilot.Arduino: [SWord64] :: () => SimpleType
+ Copilot.Arduino: [SWord64] :: SimpleType
- Copilot.Arduino: [SWord8] :: () => SimpleType
+ Copilot.Arduino: [SWord8] :: SimpleType
- Copilot.Arduino: [Word16] :: forall a. () => Type Word16
+ Copilot.Arduino: [Word16] :: Type Word16
- Copilot.Arduino: [Word32] :: forall a. () => Type Word32
+ Copilot.Arduino: [Word32] :: Type Word32
- Copilot.Arduino: [Word64] :: forall a. () => Type Word64
+ Copilot.Arduino: [Word64] :: Type Word64
- Copilot.Arduino: [Word8] :: forall a. () => Type Word8
+ Copilot.Arduino: [Word8] :: Type Word8
- Copilot.Arduino: accessorname :: (Struct a, KnownSymbol s) => (a -> Field s t) -> String
+ Copilot.Arduino: accessorname :: forall a (s :: Symbol) t. (Struct a, KnownSymbol s) => (a -> Field s t) -> String
- Copilot.Arduino: array :: KnownNat n => [t] -> Array n t
+ Copilot.Arduino: array :: forall (n :: Nat) t. KnownNat n => [t] -> Array n t
- Copilot.Arduino: arrayelems :: () => Array n a -> [a]
+ Copilot.Arduino: arrayelems :: forall (n :: Nat) a. Array n a -> [a]
- Copilot.Arduino: asTypeOf :: () => a -> a -> a
+ Copilot.Arduino: asTypeOf :: a -> a -> a
- Copilot.Arduino: badUsage :: () => String -> a
+ Copilot.Arduino: badUsage :: String -> a
- Copilot.Arduino: break :: () => (a -> Bool) -> [a] -> ([a], [a])
+ Copilot.Arduino: break :: (a -> Bool) -> [a] -> ([a], [a])
- Copilot.Arduino: curry :: () => ((a, b) -> c) -> a -> b -> c
+ Copilot.Arduino: curry :: ((a, b) -> c) -> a -> b -> c
- Copilot.Arduino: dropWhile :: () => (a -> Bool) -> [a] -> [a]
+ Copilot.Arduino: dropWhile :: (a -> Bool) -> [a] -> [a]
- Copilot.Arduino: either :: () => (a -> c) -> (b -> c) -> Either a b -> c
+ Copilot.Arduino: either :: (a -> c) -> (b -> c) -> Either a b -> c
- Copilot.Arduino: error :: HasCallStack => [Char] -> a
+ Copilot.Arduino: error :: forall (r :: RuntimeRep) (a :: TYPE r). HasCallStack => [Char] -> a
- Copilot.Arduino: errorWithoutStackTrace :: () => [Char] -> a
+ Copilot.Arduino: errorWithoutStackTrace :: forall (r :: RuntimeRep) (a :: TYPE r). [Char] -> a
- Copilot.Arduino: fail :: Monad m => String -> m a
+ Copilot.Arduino: fail :: MonadFail m => String -> m a
- Copilot.Arduino: fieldname :: KnownSymbol s => Field s t -> String
+ Copilot.Arduino: fieldname :: forall (s :: Symbol) t. KnownSymbol s => Field s t -> String
- Copilot.Arduino: filter :: () => (a -> Bool) -> [a] -> [a]
+ Copilot.Arduino: filter :: (a -> Bool) -> [a] -> [a]
- Copilot.Arduino: flatten :: Flatten a b => Array n a -> [b]
+ Copilot.Arduino: flatten :: forall (n :: Nat). Flatten a b => Array n a -> [b]
- Copilot.Arduino: flip :: () => (a -> b -> c) -> b -> a -> c
+ Copilot.Arduino: flip :: (a -> b -> c) -> b -> a -> c
- Copilot.Arduino: fst :: () => (a, b) -> a
+ Copilot.Arduino: fst :: (a, b) -> a
- Copilot.Arduino: head :: () => [a] -> a
+ Copilot.Arduino: head :: [a] -> a
- Copilot.Arduino: id :: () => a -> a
+ Copilot.Arduino: id :: a -> a
- Copilot.Arduino: impossible :: () => String -> String -> a
+ Copilot.Arduino: impossible :: String -> String -> a
- Copilot.Arduino: infixl 6 -
+ Copilot.Arduino: infixl 6 +
- Copilot.Arduino: init :: () => [a] -> [a]
+ Copilot.Arduino: init :: [a] -> [a]
- Copilot.Arduino: ioError :: () => IOError -> IO a
+ Copilot.Arduino: ioError :: IOError -> IO a
- Copilot.Arduino: iterate :: () => (a -> a) -> a -> [a]
+ Copilot.Arduino: iterate :: (a -> a) -> a -> [a]
- Copilot.Arduino: last :: () => [a] -> a
+ Copilot.Arduino: last :: [a] -> a
- Copilot.Arduino: map :: () => (a -> b) -> [a] -> [b]
+ Copilot.Arduino: map :: (a -> b) -> [a] -> [b]
- Copilot.Arduino: maybe :: () => b -> (a -> b) -> Maybe a -> b
+ Copilot.Arduino: maybe :: b -> (a -> b) -> Maybe a -> b
- Copilot.Arduino: prop :: () => String -> Prop a -> Writer [SpecItem] (PropRef a)
+ Copilot.Arduino: prop :: String -> Prop a -> Writer [SpecItem] (PropRef a)
- Copilot.Arduino: pwm :: Behavior Word8 -> TypedBehavior 'PWM Word8
+ Copilot.Arduino: pwm :: Behavior Word8 -> TypedBehavior 'PWM Word8
- Copilot.Arduino: readParen :: () => Bool -> ReadS a -> ReadS a
+ Copilot.Arduino: readParen :: Bool -> ReadS a -> ReadS a
- Copilot.Arduino: reify :: () => Spec' a -> IO Spec
+ Copilot.Arduino: reify :: Spec' a -> IO Spec
- Copilot.Arduino: repeat :: () => a -> [a]
+ Copilot.Arduino: repeat :: a -> [a]
- Copilot.Arduino: replicate :: () => Int -> a -> [a]
+ Copilot.Arduino: replicate :: Int -> a -> [a]
- Copilot.Arduino: reverse :: () => [a] -> [a]
+ Copilot.Arduino: reverse :: [a] -> [a]
- Copilot.Arduino: scanl :: () => (b -> a -> b) -> b -> [a] -> [b]
+ Copilot.Arduino: scanl :: (b -> a -> b) -> b -> [a] -> [b]
- Copilot.Arduino: scanl1 :: () => (a -> a -> a) -> [a] -> [a]
+ Copilot.Arduino: scanl1 :: (a -> a -> a) -> [a] -> [a]
- Copilot.Arduino: scanr :: () => (a -> b -> b) -> b -> [a] -> [b]
+ Copilot.Arduino: scanr :: (a -> b -> b) -> b -> [a] -> [b]
- Copilot.Arduino: scanr1 :: () => (a -> a -> a) -> [a] -> [a]
+ Copilot.Arduino: scanr1 :: (a -> a -> a) -> [a] -> [a]
- Copilot.Arduino: seq :: () => a -> b -> b
+ Copilot.Arduino: seq :: forall (r :: RuntimeRep) a (b :: TYPE r). a -> b -> b
- Copilot.Arduino: size :: (Flatten a b, b ~ InnerType a) => Array n a -> Int
+ Copilot.Arduino: size :: forall a (n :: Nat) b. (Flatten a b, b ~ InnerType a) => Array n a -> Int
- Copilot.Arduino: snd :: () => (a, b) -> b
+ Copilot.Arduino: snd :: (a, b) -> b
- Copilot.Arduino: span :: () => (a -> Bool) -> [a] -> ([a], [a])
+ Copilot.Arduino: span :: (a -> Bool) -> [a] -> ([a], [a])
- Copilot.Arduino: splitAt :: () => Int -> [a] -> ([a], [a])
+ Copilot.Arduino: splitAt :: Int -> [a] -> ([a], [a])
- Copilot.Arduino: tail :: () => [a] -> [a]
+ Copilot.Arduino: tail :: [a] -> [a]
- Copilot.Arduino: takeWhile :: () => (a -> Bool) -> [a] -> [a]
+ Copilot.Arduino: takeWhile :: (a -> Bool) -> [a] -> [a]
- Copilot.Arduino: theorem :: () => String -> Prop a -> Proof a -> Writer [SpecItem] (PropRef a)
+ Copilot.Arduino: theorem :: String -> Prop a -> Proof a -> Writer [SpecItem] (PropRef a)
- Copilot.Arduino: tylength :: KnownNat n => Type (Array n t) -> Int
+ Copilot.Arduino: tylength :: forall (n :: Nat) t. KnownNat n => Type (Array n t) -> Int
- Copilot.Arduino: type family InnerType x :: Type
+ Copilot.Arduino: type family InnerType x
- Copilot.Arduino: tysize :: KnownNat n => Type (Array n t) -> Int
+ Copilot.Arduino: tysize :: forall (n :: Nat) t. KnownNat n => Type (Array n t) -> Int
- Copilot.Arduino: uncurry :: () => (a -> b -> c) -> (a, b) -> c
+ Copilot.Arduino: uncurry :: (a -> b -> c) -> (a, b) -> c
- Copilot.Arduino: undefined :: HasCallStack => a
+ Copilot.Arduino: undefined :: forall (r :: RuntimeRep) (a :: TYPE r). HasCallStack => a
- Copilot.Arduino: unzip :: () => [(a, b)] -> ([a], [b])
+ Copilot.Arduino: unzip :: [(a, b)] -> ([a], [b])
- Copilot.Arduino: unzip3 :: () => [(a, b, c)] -> ([a], [b], [c])
+ Copilot.Arduino: unzip3 :: [(a, b, c)] -> ([a], [b], [c])
- Copilot.Arduino: zip :: () => [a] -> [b] -> [(a, b)]
+ Copilot.Arduino: zip :: [a] -> [b] -> [(a, b)]
- Copilot.Arduino: zip3 :: () => [a] -> [b] -> [c] -> [(a, b, c)]
+ Copilot.Arduino: zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
- Copilot.Arduino: zipWith :: () => (a -> b -> c) -> [a] -> [b] -> [c]
+ Copilot.Arduino: zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
- Copilot.Arduino: zipWith3 :: () => (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
+ Copilot.Arduino: zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
- Copilot.Arduino.Nano: a0 :: Pin '[ 'AnalogInput, 'DigitalIO]
+ Copilot.Arduino.Nano: a0 :: Pin '[ 'AnalogInput, 'DigitalIO]
- Copilot.Arduino.Nano: a1 :: Pin '[ 'AnalogInput, 'DigitalIO]
+ Copilot.Arduino.Nano: a1 :: Pin '[ 'AnalogInput, 'DigitalIO]
- Copilot.Arduino.Nano: a2 :: Pin '[ 'AnalogInput, 'DigitalIO]
+ Copilot.Arduino.Nano: a2 :: Pin '[ 'AnalogInput, 'DigitalIO]
- Copilot.Arduino.Nano: a3 :: Pin '[ 'AnalogInput, 'DigitalIO]
+ Copilot.Arduino.Nano: a3 :: Pin '[ 'AnalogInput, 'DigitalIO]
- Copilot.Arduino.Nano: a4 :: Pin '[ 'AnalogInput, 'DigitalIO]
+ Copilot.Arduino.Nano: a4 :: Pin '[ 'AnalogInput, 'DigitalIO]
- Copilot.Arduino.Nano: a5 :: Pin '[ 'AnalogInput, 'DigitalIO]
+ Copilot.Arduino.Nano: a5 :: Pin '[ 'AnalogInput, 'DigitalIO]
- Copilot.Arduino.Nano: pin10 :: Pin '[ 'DigitalIO, 'PWM]
+ Copilot.Arduino.Nano: pin10 :: Pin '[ 'DigitalIO, 'PWM]
- Copilot.Arduino.Nano: pin11 :: Pin '[ 'DigitalIO, 'PWM]
+ Copilot.Arduino.Nano: pin11 :: Pin '[ 'DigitalIO, 'PWM]
- Copilot.Arduino.Nano: pin3 :: Pin '[ 'DigitalIO, 'PWM]
+ Copilot.Arduino.Nano: pin3 :: Pin '[ 'DigitalIO, 'PWM]
- Copilot.Arduino.Nano: pin5 :: Pin '[ 'DigitalIO, 'PWM]
+ Copilot.Arduino.Nano: pin5 :: Pin '[ 'DigitalIO, 'PWM]
- Copilot.Arduino.Nano: pin6 :: Pin '[ 'DigitalIO, 'PWM]
+ Copilot.Arduino.Nano: pin6 :: Pin '[ 'DigitalIO, 'PWM]
- Copilot.Arduino.Nano: pin9 :: Pin '[ 'DigitalIO, 'PWM]
+ Copilot.Arduino.Nano: pin9 :: Pin '[ 'DigitalIO, 'PWM]
- Copilot.Arduino.Uno: a0 :: Pin '[ 'AnalogInput, 'DigitalIO]
+ Copilot.Arduino.Uno: a0 :: Pin '[ 'AnalogInput, 'DigitalIO]
- Copilot.Arduino.Uno: a1 :: Pin '[ 'AnalogInput, 'DigitalIO]
+ Copilot.Arduino.Uno: a1 :: Pin '[ 'AnalogInput, 'DigitalIO]
- Copilot.Arduino.Uno: a2 :: Pin '[ 'AnalogInput, 'DigitalIO]
+ Copilot.Arduino.Uno: a2 :: Pin '[ 'AnalogInput, 'DigitalIO]
- Copilot.Arduino.Uno: a3 :: Pin '[ 'AnalogInput, 'DigitalIO]
+ Copilot.Arduino.Uno: a3 :: Pin '[ 'AnalogInput, 'DigitalIO]
- Copilot.Arduino.Uno: a4 :: Pin '[ 'AnalogInput, 'DigitalIO]
+ Copilot.Arduino.Uno: a4 :: Pin '[ 'AnalogInput, 'DigitalIO]
- Copilot.Arduino.Uno: a5 :: Pin '[ 'AnalogInput, 'DigitalIO]
+ Copilot.Arduino.Uno: a5 :: Pin '[ 'AnalogInput, 'DigitalIO]
- Copilot.Arduino.Uno: pin10 :: Pin '[ 'DigitalIO, 'PWM]
+ Copilot.Arduino.Uno: pin10 :: Pin '[ 'DigitalIO, 'PWM]
- Copilot.Arduino.Uno: pin11 :: Pin '[ 'DigitalIO, 'PWM]
+ Copilot.Arduino.Uno: pin11 :: Pin '[ 'DigitalIO, 'PWM]
- Copilot.Arduino.Uno: pin3 :: Pin '[ 'DigitalIO, 'PWM]
+ Copilot.Arduino.Uno: pin3 :: Pin '[ 'DigitalIO, 'PWM]
- Copilot.Arduino.Uno: pin5 :: Pin '[ 'DigitalIO, 'PWM]
+ Copilot.Arduino.Uno: pin5 :: Pin '[ 'DigitalIO, 'PWM]
- Copilot.Arduino.Uno: pin6 :: Pin '[ 'DigitalIO, 'PWM]
+ Copilot.Arduino.Uno: pin6 :: Pin '[ 'DigitalIO, 'PWM]
- Copilot.Arduino.Uno: pin9 :: Pin '[ 'DigitalIO, 'PWM]
+ Copilot.Arduino.Uno: pin9 :: Pin '[ 'DigitalIO, 'PWM]

Files

CHANGELOG view
@@ -1,3 +1,10 @@+arduino-copilot (1.5.3) unstable; urgency=medium++  * Update to copilot-3.2.+  * Update the Examples to build using stack.++ -- Joey Hess <id@joeyh.name>  Thu, 14 Jan 2021 13:22:42 -0400+ arduino-copilot (1.5.2) unstable; urgency=medium    * Zurihac 2020 edition.
+ Examples/Blink/Demo.cabal view
@@ -0,0 +1,10 @@+Name: Demo+Cabal-Version: >= 1.10+Build-Type: Simple+Version: 0.0++Library+  GHC-Options: -Wall -fno-warn-tabs+  Default-Language: Haskell2010+  Exposed-Modules: Demo+  Build-Depends: arduino-copilot, base (>= 4.5 && < 5)
Examples/Blink/README view
@@ -2,7 +2,7 @@  To build the C code: -	runghc Demo.hs+	stack runghc Demo.hs  The resulting `.ino` sketch can be loaded into the Arduino IDE and flashed to an Arduino board using the IDE.
Examples/Blink/pre-build-hook.sh view
@@ -1,2 +1,2 @@ #!/bin/sh-exec runghc Demo.hs+exec stack runghc Demo.hs
+ Examples/Blink/stack.yaml view
@@ -0,0 +1,16 @@+packages:+- '.'+- '../..'+resolver: lts-16.29+extra-deps: +- copilot-3.2+- copilot-c99-3.2+- copilot-core-3.2+- copilot-language-3.2+- copilot-libraries-3.2+- copilot-theorem-3.2+- language-c99-0.1.2+- language-c99-simple-0.1.2+- language-c99-util-0.1.1+- ansi-terminal-0.9.1+- bimap-0.3.3
+ Examples/Button/Demo.cabal view
@@ -0,0 +1,10 @@+Name: Demo+Cabal-Version: >= 1.10+Build-Type: Simple+Version: 0.0++Library+  GHC-Options: -Wall -fno-warn-tabs+  Default-Language: Haskell2010+  Exposed-Modules: Demo+  Build-Depends: arduino-copilot, base (>= 4.5 && < 5)
Examples/Button/README view
@@ -2,7 +2,7 @@  To build the C code: -	runghc Demo.hs+	stack runghc Demo.hs  The resulting `.ino` sketch can be loaded into the Arduino IDE and flashed to an Arduino Uno board using the IDE.
Examples/Button/pre-build-hook.sh view
@@ -1,2 +1,2 @@ #!/bin/sh-exec runghc Demo.hs+exec stack runghc Demo.hs
+ Examples/Button/stack.yaml view
@@ -0,0 +1,16 @@+packages:+- '.'+- '../..'+resolver: lts-16.29+extra-deps: +- copilot-3.2+- copilot-c99-3.2+- copilot-core-3.2+- copilot-language-3.2+- copilot-libraries-3.2+- copilot-theorem-3.2+- language-c99-0.1.2+- language-c99-simple-0.1.2+- language-c99-util-0.1.1+- ansi-terminal-0.9.1+- bimap-0.3.3
+ Examples/EEPROM/Demo.cabal view
@@ -0,0 +1,10 @@+Name: Demo+Cabal-Version: >= 1.10+Build-Type: Simple+Version: 0.0++Library+  GHC-Options: -Wall -fno-warn-tabs+  Default-Language: Haskell2010+  Exposed-Modules: Demo+  Build-Depends: arduino-copilot, base (>= 4.5 && < 5)
Examples/EEPROM/README view
@@ -15,11 +15,11 @@ First, run this to build and upload a sketch that zeros out some values of the EEPROM. -	ZERO=y runghc Demo.hs+	ZERO=y stack runghc Demo.hs 	ZERO=y make upload  Then, you can build and upload the sketch that actually does something interesting. -	runghc Demo.hs+	stack runghc Demo.hs 	make upload
Examples/EEPROM/pre-build-hook.sh view
@@ -1,2 +1,2 @@ #!/bin/sh-exec runghc Demo.hs+exec stack runghc Demo.hs
+ Examples/EEPROM/stack.yaml view
@@ -0,0 +1,16 @@+packages:+- '.'+- '../..'+resolver: lts-16.29+extra-deps: +- copilot-3.2+- copilot-c99-3.2+- copilot-core-3.2+- copilot-language-3.2+- copilot-libraries-3.2+- copilot-theorem-3.2+- language-c99-0.1.2+- language-c99-simple-0.1.2+- language-c99-util-0.1.1+- ansi-terminal-0.9.1+- bimap-0.3.3
+ Examples/EEPROMrange/Demo.cabal view
@@ -0,0 +1,10 @@+Name: Demo+Cabal-Version: >= 1.10+Build-Type: Simple+Version: 0.0++Library+  GHC-Options: -Wall -fno-warn-tabs+  Default-Language: Haskell2010+  Exposed-Modules: Demo+  Build-Depends: arduino-copilot, base (>= 4.5 && < 5)
Examples/EEPROMrange/README view
@@ -16,11 +16,11 @@ First, run this to build and upload a sketch that zeros out the entire EEPROM. -	ZERO=y runghc Demo.hs+	ZERO=y stack runghc Demo.hs 	ZERO=y make upload  Then, you can build and upload the sketch that actually does something interesting. -	runghc Demo.hs+	stack runghc Demo.hs 	make upload
Examples/EEPROMrange/pre-build-hook.sh view
@@ -1,2 +1,2 @@ #!/bin/sh-exec runghc Demo.hs+exec stack runghc Demo.hs
+ Examples/EEPROMrange/stack.yaml view
@@ -0,0 +1,16 @@+packages:+- '.'+- '../..'+resolver: lts-16.29+extra-deps: +- copilot-3.2+- copilot-c99-3.2+- copilot-core-3.2+- copilot-language-3.2+- copilot-libraries-3.2+- copilot-theorem-3.2+- language-c99-0.1.2+- language-c99-simple-0.1.2+- language-c99-util-0.1.1+- ansi-terminal-0.9.1+- bimap-0.3.3
+ Examples/Random/Demo.cabal view
@@ -0,0 +1,10 @@+Name: Demo+Cabal-Version: >= 1.10+Build-Type: Simple+Version: 0.0++Library+  GHC-Options: -Wall -fno-warn-tabs+  Default-Language: Haskell2010+  Exposed-Modules: Demo+  Build-Depends: arduino-copilot, base (>= 4.5 && < 5)
Examples/Random/README view
@@ -2,7 +2,7 @@  To build the C code: -	runghc Demo.hs+	stack runghc Demo.hs  The resulting `.ino` sketch can be loaded into the Arduino IDE and flashed to an Arduino board using the IDE.
Examples/Random/pre-build-hook.sh view
@@ -1,2 +1,2 @@ #!/bin/sh-exec runghc Demo.hs+exec stack runghc Demo.hs
+ Examples/Random/stack.yaml view
@@ -0,0 +1,16 @@+packages:+- '.'+- '../..'+resolver: lts-16.29+extra-deps: +- copilot-3.2+- copilot-c99-3.2+- copilot-core-3.2+- copilot-language-3.2+- copilot-libraries-3.2+- copilot-theorem-3.2+- language-c99-0.1.2+- language-c99-simple-0.1.2+- language-c99-util-0.1.1+- ansi-terminal-0.9.1+- bimap-0.3.3
+ Examples/SerialPort/Demo.cabal view
@@ -0,0 +1,10 @@+Name: Demo+Cabal-Version: >= 1.10+Build-Type: Simple+Version: 0.0++Library+  GHC-Options: -Wall -fno-warn-tabs+  Default-Language: Haskell2010+  Exposed-Modules: Demo+  Build-Depends: arduino-copilot, base (>= 4.5 && < 5)
Examples/SerialPort/README view
@@ -2,7 +2,7 @@  To build the C code: -	runghc Demo.hs+	stack runghc Demo.hs  The resulting `.ino` sketch can be loaded into the Arduino IDE and flashed to an Arduino Uno board using the IDE.
Examples/SerialPort/pre-build-hook.sh view
@@ -1,2 +1,2 @@ #!/bin/sh-exec runghc Demo.hs+exec stack runghc Demo.hs
+ Examples/SerialPort/stack.yaml view
@@ -0,0 +1,16 @@+packages:+- '.'+- '../..'+resolver: lts-16.29+extra-deps: +- copilot-3.2+- copilot-c99-3.2+- copilot-core-3.2+- copilot-language-3.2+- copilot-libraries-3.2+- copilot-theorem-3.2+- language-c99-0.1.2+- language-c99-simple-0.1.2+- language-c99-util-0.1.1+- ansi-terminal-0.9.1+- bimap-0.3.3
+ Examples/WaterHeater/Demo.cabal view
@@ -0,0 +1,10 @@+Name: Demo+Cabal-Version: >= 1.10+Build-Type: Simple+Version: 0.0++Library+  GHC-Options: -Wall -fno-warn-tabs+  Default-Language: Haskell2010+  Exposed-Modules: Demo+  Build-Depends: arduino-copilot, base (>= 4.5 && < 5)
Examples/WaterHeater/README view
@@ -2,7 +2,7 @@  To build the C code: -	runghc Demo.hs+	stack runghc Demo.hs  The resulting `.ino` sketch can be loaded into the Arduino IDE and flashed to an Arduino Uno board using the IDE.
Examples/WaterHeater/pre-build-hook.sh view
@@ -1,2 +1,2 @@ #!/bin/sh-exec runghc Demo.hs+exec stack runghc Demo.hs
+ Examples/WaterHeater/stack.yaml view
@@ -0,0 +1,16 @@+packages:+- '.'+- '../..'+resolver: lts-16.29+extra-deps: +- copilot-3.2+- copilot-c99-3.2+- copilot-core-3.2+- copilot-language-3.2+- copilot-libraries-3.2+- copilot-theorem-3.2+- language-c99-0.1.2+- language-c99-simple-0.1.2+- language-c99-util-0.1.1+- ansi-terminal-0.9.1+- bimap-0.3.3
arduino-copilot.cabal view
@@ -1,5 +1,5 @@ Name: arduino-copilot-Version: 1.5.2+Version: 1.5.3 Cabal-Version: >= 1.10 License: BSD3 Maintainer: Joey Hess <id@joeyh.name>@@ -36,24 +36,38 @@   Examples/Blink/Makefile   Examples/Blink/README   Examples/Blink/pre-build-hook.sh+  Examples/Blink/Demo.cabal+  Examples/Blink/stack.yaml   Examples/Button/Makefile   Examples/Button/README   Examples/Button/pre-build-hook.sh+  Examples/Button/Demo.cabal+  Examples/Button/stack.yaml   Examples/EEPROM/Makefile   Examples/EEPROM/README   Examples/EEPROM/pre-build-hook.sh+  Examples/EEPROM/Demo.cabal+  Examples/EEPROM/stack.yaml   Examples/EEPROMrange/Makefile   Examples/EEPROMrange/README   Examples/EEPROMrange/pre-build-hook.sh+  Examples/EEPROMrange/Demo.cabal+  Examples/EEPROMrange/stack.yaml   Examples/Random/Makefile   Examples/Random/README   Examples/Random/pre-build-hook.sh+  Examples/Random/Demo.cabal+  Examples/Random/stack.yaml   Examples/SerialPort/Makefile   Examples/SerialPort/README   Examples/SerialPort/pre-build-hook.sh+  Examples/SerialPort/Demo.cabal+  Examples/SerialPort/stack.yaml   Examples/WaterHeater/Makefile   Examples/WaterHeater/README   Examples/WaterHeater/pre-build-hook.sh+  Examples/WaterHeater/Demo.cabal+  Examples/WaterHeater/stack.yaml  test-suite test   Main-Is: test.hs@@ -94,9 +108,9 @@     Copilot.Arduino.Main   Build-Depends:     base (>= 4.5 && < 5),-    copilot (== 3.1.*),-    copilot-c99 (== 3.1.*),-    copilot-language (== 3.1.*),+    copilot (== 3.2.*),+    copilot-c99 (== 3.2.*),+    copilot-language (== 3.2.*),     filepath,     directory,     mtl,
stack.yaml view
@@ -1,14 +1,16 @@ packages: - '.'-resolver: lts-13.29+resolver: lts-16.29 extra-deps:-- copilot-3.1-- copilot-c99-3.1-- copilot-core-3.1-- copilot-language-3.1-- copilot-libraries-3.1-- copilot-theorem-3.1+- copilot-3.2+- copilot-c99-3.2+- copilot-core-3.2+- copilot-language-3.2+- copilot-libraries-3.2+- copilot-theorem-3.2 - language-c99-0.1.2 - language-c99-simple-0.1.2 - language-c99-util-0.1.1+- ansi-terminal-0.9.1+- bimap-0.3.3 explicit-setup-deps: