Name: arduino-copilot
Version: 0.0.1
Cabal-Version: >= 1.8
License: BSD3
Maintainer: Joey Hess <id@joeyh.name>
Author: Joey Hess
Stability: Experimental
Copyright: 2020 Joey Hess
License-File: LICENSE
Build-Type: Simple
Category: Embedded, Language
Synopsis: Arduino programming in haskell using the stream DSL
Description:
arduino-copilot contains the basic building blocks to program your
Arduino Nano, Arduino Uno or compatible hardware using Haskell
and Functional Reactive Programming (FRP).
.
arduino-copilot uses the Copilot stream domain-specific language (DSL)
to generate an Arduino sketch, which can be loaded in the Arduino IDE
and uploaded to the board. Other methods of deploying sketches to the
Arduino, such as the Arduino-Makefile, can also be used with a sketch
generated by arduino-copilot.
.
All the messy details are abstracted away, letting you focus on the
desired behavior of the Arduino. This is all the code needed to make
it blink its LED:
.
-- > import Arduino
-- > main = arduino $ do
-- > led =: clk (period 2) (phase 1)
-- > delay =: const16 100
.
Copilot is a stream (i.e., infinite lists) domain-specific language
(DSL) in Haskell that compiles into embedded C. Copilot contains an
interpreter, multiple back-end compilers, and other verification tools.
A tutorial, bug reports, and todos are available at
<https://github.com/Copilot-Language/copilot-discussion>.
Extra-Source-Files:
CHANGELOG
TODO
stack.yaml
demo/Makefile
demo/README
demo/demo.hs
demo/pre-build-hook.sh
Library
GHC-Options: -Wall -fno-warn-tabs
Hs-Source-Dirs: src
Exposed-Modules:
Arduino
Build-Depends:
base (>= 4.5 && < 5),
copilot (== 3.1.*),
copilot-c99 (== 3.1.*),
filepath,
directory,
mtl,
unix
source-repository head
type: git
location: git://git.joeyh.name/haskell-arduino-copilot.git