fortran-src alternatives and similar packages
Based on the "Language" category.
Alternatively, view fortran-src alternatives based on common mentions on social networks and blogs.
elm-compiler10.0 3.4 fortran-src VS elm-compilerCompiler for Elm, a functional language for reliable webapps.
cryptol9.9 9.1 fortran-src VS cryptolCryptol: The Language of Cryptography
liquidhaskell9.9 9.7 fortran-src VS liquidhaskellLiquid Types For Haskell
brittany9.9 0.0 fortran-src VS brittanyhaskell source code formatter
stylish-haskell9.9 6.4 fortran-src VS stylish-haskellHaskell code prettifier [Moved to: https://github.com/haskell/stylish-haskell]
polysemy9.9 4.4 fortran-src VS polysemy:gemini: higher-order, no-boilerplate monads
ivory9.8 0.0 fortran-src VS ivoryThe Ivory EDSL
elm-server9.8 0.0 fortran-src VS elm-serverServer for developing Elm projects
elm-reactor9.8 0.0 fortran-src VS elm-reactorInteractive development tool for Elm programs
elm-get9.7 0.0 fortran-src VS elm-getTool for sharing and using Elm libraries
haskell-src-exts9.7 0.0 fortran-src VS haskell-src-extsManipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer
elm-package9.7 0.0 fortran-src VS elm-packagePackage manager for Elm libraries
frp-arduino9.6 0.0 fortran-src VS frp-arduinoArduino programming without the hassle of C.
haskell-tools-ast-fromghcDeveloper tools for Haskell
haskell-tools-ast-genDeveloper tools for Haskell
haskell-tools-ast9.6 0.0 fortran-src VS haskell-tools-astDeveloper tools for Haskell
nirum9.5 0.0 fortran-src VS nirumNirum: IDL compiler and RPC/distributed object framework for microservices
liquid-fixpoint9.5 9.0 fortran-src VS liquid-fixpointHorn Clause Constraint Solving for Liquid Types
language-python9.5 0.0 fortran-src VS language-pythonA parser for Python 2.x and 3.x written in Haskell
elm-export9.4 0.0 fortran-src VS elm-exportCreate Elm types and JSON decoders from Haskell source.
elsa9.4 0.0 fortran-src VS elsaElsa is a lambda calculus evaluator
axel9.4 5.5 fortran-src VS axelHaskell + Lisp
tal9.3 0.0 fortran-src VS talAn implementation of Typed Assembly Language (Morrisett, Walker, Crary, Glew)
shentong9.3 0.0 fortran-src VS shentongA Haskell implementation of the Shen programming language.
language-java9.3 0.0 fortran-src VS language-javaJava parser and printer for haskell
camfort9.2 0.0 fortran-src VS camfortLight-weight verification and transformation tools for Fortran
hfmt9.2 0.0 fortran-src VS hfmtFormat Haskell programs. Inspired by the gofmt utility.
elm-bridge9.2 5.0 fortran-src VS elm-bridgeHaskell: Derive Elm types from Haskell types
peggy9.1 0.0 fortran-src VS peggyThe Parser Generator for Haskell
type-of-html9.1 0.0 fortran-src VS type-of-htmlHigh performance type safe html generation
jvm-parser9.1 0.0 fortran-src VS jvm-parserA Haskell parser for JVM bytecode files
hgrep9.1 0.8 fortran-src VS hgrepSearch Haskell source code from the command line
ghc-justdoit9.1 0.0 fortran-src VS ghc-justdoitA magic typeclass that just does it
exference9.0 0.0 fortran-src VS exferenceHaskell tool to generate expressions from types
language-c-quote9.0 1.0 fortran-src VS language-c-quoteC/CUDA/OpenCL/Objective-C quasiquoting library.
language-ecmascriptHaskell library: ECMAScript parser, pretty-printer and additional tools
aterm-utils8.9 0.0 fortran-src VS aterm-utilsUtility functions for working with aterms as generated by Minitermite
language-rust8.9 0.0 fortran-src VS language-rustParser and pretty-printer for the Rust language
formura8.8 0.0 L3 fortran-src VS formuraDescribe stencil formurae without even translating them
ministg8.8 0.0 fortran-src VS ministgMinistg is an interpreter for a high-level, small-step, operational semantics for the STG machine.
homplexity8.8 0.0 fortran-src VS homplexityHaskell code complexity and quality measurement
why38.8 0.0 fortran-src VS why3Haskell support for the Why3 input format
LibClang8.7 0.0 fortran-src VS LibClangHaskell FFI to libclang
nomyx-library8.7 0.0 fortran-src VS nomyx-libraryThe Nomyx game
imprevu8.7 0.0 fortran-src VS imprevuThe Nomyx game
haskell-names8.7 0.0 fortran-src VS haskell-namesHaskell suite library for name resolution
pyfi8.6 0.0 fortran-src VS pyfiCall python inline from haskell
purescript-tsd-genTypeScript Declaration File (.d.ts) generator for PureScript
Access the most powerful time series database as a service
* 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 fortran-src or a related project?
Provides lexing/parsing and early static analyses of Fortran code. The following Fortran standards are covered:
- FORTRAN 66 (ANSI X3.9-1966)
- FORTRAN 77 (ANSI X3.9-1978 / ISO 1539:1980)
- Fortran 90 (ISO/IEC 1539:1991)
- Fortran 95 (ISO/IEC 1539-1:1997
- Fortran 2003 (partial)
Parsing is configurable, and you can select the Fortran standard to target, including special extended modes for nonstandard FORTRAN 77.
Includes data flow and basic block analysis, a renamer, and type analysis.
This package primarily exports a Haskell library, but also builds an executable that can be used for testing and debugging. For example usage, see the CamFort project, which uses fortran-src as its front end.
We provide prebuilt binaries for Windows, Mac and Linux.
fortran-src as a dependency in your Haskell project. We're on
Hackage and also on
You can also invoke
fortran-src on the command line.
For features that output graphs, the intended usage is to pipe it into the
dot -Tpdf and redirect that into a PDF file. The
dot command is part
of the GraphViz project, please see their manual
for the many other options that can be explored for visualisation purposes.
Usage: fortran-src [OPTION...] <file> -v VERSION, -F VERSION --fortranVersion=VERSION Fortran version to use, format: Fortran[66/77/77Legacy/77Extended/90] -a ACTION --action=ACTION lex or parse action -t --typecheck parse and run typechecker -R --rename parse and rename variables -B --bblocks analyse basic blocks -S --supergraph analyse super graph of basic blocks -r --reprint Parse and output using pretty printer --dot output graphs in GraphViz DOT format --dump-mod-file dump the information contained within mod files -I DIR --include-dir=DIR directory to search for precompiled 'mod files' -c --compile compile an .fsmod file from the input --show-block-numbers[=LINE-NUM] Show the corresponding AST-block identifier number next to every line of code. --show-flows-to=AST-BLOCK-ID dump a graph showing flows-to information from the given AST-block ID; prefix with 's' for supergraph --show-flows-from=AST-BLOCK-ID dump a graph showing flows-from information from the given AST-block ID; prefix with 's' for supergraph
You will need the GMP library plus header files: on many platforms, this will be
via the package
Haskell library dependencies are listed in
package.yaml. fortran-src supports
building with Stack or Cabal.
fortran-src supports GHC 9.0 through GHC 9.2. We regularly test at least the minimum and maximum supported GHCs. Releases prior to/newer than those may have issues. We welcome fixes that would let us support a wider range of compilers.
You will likely need at least 3 GiBs of memory to build fortran-src.
For installing GHC and build tools, we strongly recommend ghcup.
When latest recommended is used, it means the latest version of the tool
that ghcup tags with
recommended. This sometimes lags behind the
latest-tagged version. With ghcup installed, run
ghcup list for a better
Following are general guides for any OS that provides the relevant tools. If you
have trouble, consider checking the CI workflow files in
We support the latest recommended version of Stack (as of 2021-09-17, Stack 2.7). Generally, any Stack 2.x should work. (Stack 1.x may work with minor alternations -- you may have to download the resolver manually.)
For an interactive shell:
stack build stack ghci
Note that running
stack ghci before running
stack build won't work properly,
stack ghci not running build tools like Alex and Happy. So parser
modules will not be built, and you'll receive an error after building the other
modules. You can cheat a bit and run
stack build until you see
library for [...] (= preprocessing has finished), then hit
<Ctrl-C> to stop
the build and run
stack ghci as usual.
We support the latest recommended version of Cabal (as of 2021-09-17, Cabal 3.4)
Unit tests are stored in
test. Run with
stack test or
As a dependency
fortran-src is available on Hackage and Stackage, so for Cabal or Stack projects
you should only need to add
fortran-src to your project dependencies.
If you need a specific version of fortran-src in a Stack setup, you can stuff a
Hackage reference into
resolver: ... ... extra-deps: - ... - fortran-src-$VERSION
As a CLI tool
If you have Cabal properly configured, you should be able install fortran-src from Hackage:
cabal install fortran-src
We provide prebuilt binaries for some platforms: see the Releases tab.
Otherwise, you can build from source and use convenience commands like
stack run. See #Building for details.
We welcome bug reports, fixes and feature proposals. Add an issue or create a pull request on the GitHub repository.
You may be able to find maintainers on the Libera.Chat IRC network. Check in #fortran-src and #camfort . Otherwise, you could get into contact with one of the team on the CamFort team page -- or create an issue describing your problem and we'll have a look.