pec: pec embedded compiler

[ bsd3, language, library, program ] [ Propose Tags ] [ Report a vulnerability ]

The intent of pec is to provide a drop-in replacement for C, but with modern language features. Pec is a procedural language with a functional/declarative feel. Programming in pec is very similar to monadic programming in Haskell. The primary use case for pec is to provide a productive environment for writing safe, efficient, embedded applications.


[Skip to Readme]

Modules

[Last Documentation]

  • Language
    • C
      • Language.C.Abs
    • LLVM
      • Language.LLVM.Abs
    • Pds
      • Language.Pds.Abs
    • Pec
      • Language.Pec.Abs
      • Language.Pec.Par
    • Pir
      • Language.Pir.Abs
  • Pec
    • Pec.Base
    • Pec.C
    • Pec.Desugar
    • Pec.HUtil
    • Pec.IUtil
    • Pec.LLVM
    • Pec.PUtil

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1, 0.1.1, 0.2.0, 0.2.1, 0.2.2, 0.2.3
Change log CHANGES
Dependencies array, base (<5), Cabal, cmdargs, containers, deepseq, derive, directory, filepath, grm, mtl, old-time, pec, process, shake (>=0.2.9), syb, uniplate, wl-pprint [details]
License BSD-3-Clause
Copyright Brett Letner 2011-2012
Author Brett Letner <brettletner@gmail.com>
Maintainer Brett Letner <brettletner@gmail.com>
Category Language
Source repo head: git clone git://github.com/stevezhee/pec.git
Uploaded by BrettLetner at 2012-03-31T00:10:39Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables pecgencnt, pec, pecgen
Downloads 4383 total (6 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-25 [all 8 reports]

Readme for pec-0.2.3

[back to package description]
Introducing the pec language and pec embedded compiler. The intent of pec is to provide a drop-in replacement for C, but with modern language features. Pec is a procedural language with a functional/declarative feel. Programming in pec is very similar to monadic programming in Haskell. The primary use case for pec is to provide a productive environment for writing safe, efficient, embedded applications. Feature list - Easy C integration - No garbage collection - Strong typing with Hindley-Milner type inference - Safe pointers, no indexing out of bounds - Variants, arrays, tuples, records, arbitrary sized integers - User defined, polymorphic data structures - Parametric polymorphism, limited ad-hoc polymorphism - Modules - Compiles to C and LLVM - Haskell-ish syntax/layout - BSD license Building - type 'make' - resolve all hackage dependencies - type 'make' again - go and get a cup of coffee :) Pec (the language and the compiler) is in the alpha stage of development. The compiler is implemented in Haskell and has a very small codebase (thanks to several existing Haskell tools/libraries). You can download and install pec via cabal or access the git repository on github (git@github.com:stevezhee/pec.git). You'll need to have a c compiler installed to build the examples. Any feedback on the design and/or implementation of pec would be greatly appreciated :) Thanks, Brett brettletner at gmail dot com