forsyde-shallow: ForSyDe's Haskell-embedded Domain Specific Language.

[ bsd3, language, library ] [ Propose Tags ]

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 a shallow implementation of ForSyDe as a Haskell-embedded Domain Specific Language (DSL). For more information, please see ForSyDe's website: http://forsyde.ict.kth.se/. For examples and tutorials using ForSyDe.Shallow, check the forsyde-shallow-examples repository.

This package is a spin-off of the ForSyDe project and it follows its versioning.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 3.3.1.0, 3.3.2.0, 3.3.3.0, 3.4.0.0, 3.4.0.1, 3.5.0.0
Dependencies base (>=4 && <6), directory, old-time, process, random [details]
License BSD-3-Clause
Copyright Copyright (c) 2003-2018 ForSyDe Group, KTH/EECS/ELE
Author ForSyDe Group, KTH/EECS/ELE
Maintainer ForSyDe Group <forsyde-dev@eecs.kth.se>
Category Language
Home page http://forsyde.ict.kth.se/
Source repo head: git clone git://github.com/forsyde/forsyde-shallow
Uploaded by ugeorge at 2018-01-18T19:39:38Z
Distributions NixOS:3.5.0.0
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 2668 total (18 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for forsyde-shallow-3.3.2.0

[back to package description]

Build Status

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 a shallow implementation of ForSyDe as a Haskell-embedded Domain Specific Language (DSL)

For more information, please see ForSyDe's website.

Installation

The forsyde-shallow package is available through HackageDB and the latest stable release can be installed via your favorite Haskell package manager, e.g.:

cabal update
cabal install forsyde-shallow

To install the latest updates and nightly builds you need clone this repository. To install and use the contents of this repository globally, some useful commands are:

cabal install -j4 --enable-tests
cabal configure --enable tests
cabal test                        # runs the test suites
cabal haddock                     # generates the API documentation
ghci                              # starts an interpreter session

To install and use the contents of this repository in a sandbox environment (recommended), the equivalent commands are:

cabal sandbox init
cabal install -j4 --enable-tests
cabal configure --enable tests
cabal test                        # runs the test suites
cabal haddock                     # generates the API documentation
cabal repl                        # starts an interpreter session with the sandbox loaded

Getting started

To get started with using ForSyDe.Shallow, once succesfully installed open an interpreter session and load the library:

> :m +ForSyDe.Shallow
> let s = signal [1..4] :: Signal Int
> mooreSY (+) (*2) 0 s
{0,2,6,12,20}

The example above implements a Moore finite state machine that calculates the running sum and multiplies the output with 2. For more examples and tutorials please check the forsyde-shallow-examples repository, and the online API documentation