language-ecmascript alternatives and similar packages
Based on the "Language" category.
Alternatively, view language-ecmascript alternatives based on common mentions on social networks and blogs.
-
purescript
A strongly-typed language that compiles to JavaScript -
elm-compiler
Compiler for Elm, a functional language for reliable webapps. -
stylish-haskell
Haskell code prettifier [Moved to: https://github.com/haskell/stylish-haskell] -
elm-reactor
Interactive development tool for Elm programs -
haskell-src-exts
Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer -
haskell-tools-ast-fromghc
Developer tools for Haskell -
haskell-tools-ast-gen
Developer tools for Haskell -
language-javascript
Parser for JavaScript, in Haskell -
nirum
Nirum: IDL compiler and RPC/distributed object framework for microservices -
language-python
A parser for Python 2.x and 3.x written in Haskell -
liquid-fixpoint
Horn Clause Constraint Solving for Liquid Types -
elm-export
Create Elm types and JSON decoders from Haskell source. -
shentong
A Haskell implementation of the Shen programming language. -
tal
An implementation of Typed Assembly Language (Morrisett, Walker, Crary, Glew) -
camfort
Light-weight verification and transformation tools for Fortran -
language-c-quote
C/CUDA/OpenCL/Objective-C quasiquoting library. -
language-rust
Parser and pretty-printer for the Rust language -
fortran-src
Fortran parsing and static analysis infrastructure -
formura
Describe stencil formurae without even translating them -
aterm-utils
Utility functions for working with aterms as generated by Minitermite -
homplexity
Haskell code complexity and quality measurement -
ministg
Ministg is an interpreter for a high-level, small-step, operational semantics for the STG machine. -
purescript-tsd-gen
TypeScript Declaration File (.d.ts) generator for PureScript -
haskell-names
Haskell suite library for name resolution
Free Global Payroll designed for tech teams
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of language-ecmascript or a related project?
README
Overview
Language-ecmascript is a Haskell library for parsing, transforming and pretty-printing ECMAScript (popularly known as JavaScript) source code. It is geared towards program analysis and transformation, but has also been used as a backend for compilers targeting JavaScript. The library aims to be 100% standards-compatible with an extensive test-suite and documentation. It is part of both Hackage and Stackage Haskell package databases. Language-ecmascript is licenced under the 3-clause BSD license (see LICENSE for details).
The library has started as WebBits at Brown University, and many people have contributed to it since. See language-ecmascript.cabal for the list of contributors and copyright information.
Versioning
Since version 0.17.0.1 the library follows Haskell Package Versioning Policy (https://wiki.haskell.org/Package_versioning_policy) for its version numbers. The version is a triple of numbers MAJOR1.MAJOR2.MINOR(.PATCH), where the last number is optional and:
- MAJOR1 and MAJOR2 are incremented only on backwards-incompatible and reverse-dependency-breaking changes,
- MINOR is incremented on any additional backwards-compatible features,
- PATCH is incremented on any other changes, mostly bug/build-fixes.
If your publicly-released package depends on this library you are strongly encouraged to restrict allowed versions to at least the MAJOR version you are using.
Starting the next major version release, the library is going to follow the following versioning scheme (compatible with PVP): ESS.MAJOR.MINOR.PATCH, where
- MAJOR, MINOR and PATCH are as above, and
- ESS corresponds to the version of the ECMAScript standard the library supports.
Contributing
Contributions are welcome, provided they are in agreement with the terms of the BSD3 license. Generally, any non-trivial (beyond formatting, spelling or simple bug/build fixes) contribution is to be reflected in the list of contributors. The preferred method of contribution is via pull requests. If you intend to contribute a lot, after your first pull request is accepted, you can get direct commit rights to the repository. As a contributor you are expected to follow the general formatting style and document your efforts in the source code comments and in the issue discussion.
If you would like to contribute, here's how you can get started:
- Read the Roadmap wiki page (https://github.com/jswebtools/language-ecmascript/wiki/Roadmap) to get an idea of where the project is heading and where the current efforts are focused.
- Head to the issues list (https://github.com/jswebtools/language-ecmascript/issues), read through the issues and pick an issue to work on. If someone is already working on it, contact them first to make sure you are not stepping on each other's toes.
- (Optional) Send an e-mail to the maintainer, Andrey Chudnov [email protected], to let him know what you are planning to work on and ask any questions you have about the problem or the code base.
*Note that all licence references and agreements mentioned in the language-ecmascript README section above
are relevant to that project's source code only.