MyNixOS website logo
Description

ForSyDe's Haskell-embedded Domain Specific Language.

The ForSyDe (Formal System Design) methodology has been developed with the objective to move system design to a higher level of abstraction and to bridge the abstraction gap by transformational design refinement. This library provides ForSyDe's implementation as a Haskell-embedded Domain Specific Language (DSL). For more information, please see ForSyDe's website: https://forsyde.github.io/. This library provides the deep implementation of ForSyDe in Haskell.

ForSyDe's Haskell-embedded Domain Specific Language.

DESCRIPTION

The ForSyDe (Formal System Design) methodology has been developed with the objective to move system design to a higher level of abstraction and to bridge the abstraction gap by transformational design refinement.

This library provides ForSyDe's implementation as a Haskell-embedded Domain Specific Language (DSL).

For more information, please see ForSyDe's website: https://forsyde.github.io/

INSTALLATION

ForSyDe depends on GHC vesions 7.10.3 or 8.0.1 due to the use of numerous extensions, namely Template Haskell (TH).

It depends on the type-level and parameterized-data packages and some others normally bundled with GHC distributions.

For synthesis and simulation of the generated VHDL the Altera toolchain is supported. Quartus and Modelsim need to be on the PATH for these features to work. Additionally the open-source VHDL simulator Ghdl is supported from version ghdl-0.33 onwards.

This package can be installed with:

  • Cabal, provided you have installed the right version of GHC and its dependent cabal-install package using the commands:

      cabal install # --with-ghc=path/to/ghc-version # installs forsyde-deep
      cabal haddock                                  # generates documentation. Needs Haddock > 2.0
    
  • Stack, which takes care of all dependencies and installs everything (including the compiler) in a sandboxed environment:

      stack install    # installs forsyde-deep
      stack haddock    # generates documentation
    
Metadata

Version

0.2.0

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows