Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
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 (email@example.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