fregel-1.2.0: fregel.cabal
cabal-version: 3.0
-- The cabal-version field refers to the version of the .cabal specification,
-- and can be different from the cabal-install (the tool) version and the
-- Cabal (the library) version you are using. As such, the Cabal (the library)
-- version used must be equal or greater than the version stated in this field.
-- Starting from the specification version 2.2, the cabal-version field must be
-- the first thing in the cabal file.
-- Initial package description 'fregel' generated by
-- 'cabal init'. For further documentation, see:
-- http://haskell.org/cabal/users-guide/
--
-- The name of the package.
name: fregel
-- The package version.
-- See the Haskell package versioning policy (PVP) for standards
-- guiding when and how versions should be incremented.
-- https://pvp.haskell.org
-- PVP summary: +-+------- breaking API changes
-- | | +----- non-breaking API additions
-- | | | +--- code changes with no API change
version: 1.2.0
-- A short (one-line) description of the package.
synopsis: A functional DSL for vertex-centric large-scale graph processing
-- A longer description of the package.
description:
Fregel (Functional Pregel) is a functional domain-specific language for developing programs of vertex-centric (i.e., Pregel) style of big graph processing, in which the computation at every vertex is abstracted as a higher-order function. Fregel has clear functional semantics and supports declarative description of vertex computation.
The current Fregel processor is a translator (compiler) from Fregel code into Giraph code in Java / Pregel+ code in C++.
Technical details can be found in the JFP paper (DOI: https://doi.org/10.1017/S0956796821000277 ).
Note that some optimization options need Z3, an SMT solver, to be installed in your system.
-- URL for the project homepage or repository.
homepage: https://ipl.cs.uec.ac.jp/~iwasaki/Fregel
-- The license under which the package is released.
license: MIT
-- The file containing the license text.
license-file: LICENSE
-- The package author(s).
author: Hideya Iwasaki, Kento Emoto, Akimasa Morihata, Kiminori Matsuzaki, Zhenjiang Hu
-- An email address to which users can send suggestions, bug reports, and patches.
maintainer: emoto@csn.kyutech.ac.jp, iwasaki@cs.meiji.ac.jp
-- A copyright notice.
-- copyright:
category: Language
build-type: Simple
-- Extra doc files to be distributed with the package, such as a CHANGELOG or a README.
extra-doc-files: CHANGELOG.md
-- Extra source files to be distributed with the package, such as examples, or a tutorial module.
-- extra-source-files:
common warnings
ghc-options: -Wall
executable fregel
-- Import common warning flags.
import: warnings
-- .hs or .lhs file containing the Main module.
main-is: Main.hs
-- Modules included in this executable, other than Main.
other-modules:
ASTData
, ASTTrans
, AggregatorExtraction
, Analysis
, Convert0
, DependencySimple
, GenSMT
, IR
, IRtoPregel
, Inlining
, Lexer
, Normalization
, NtoIR
, Parser
, Spec
, Spec0
, TypeChecker
, TypeInstantiation
, VCOutputNormalization
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
-- Other library packages from which modules are imported.
build-depends:
base >=4.14.0.0 && < 4.19.0.0
, array ^>=0.5.4.0
, groom ^>=0.1.2.1
, process ^>=1.6.16.0
, mtl ^>=2.2.2
-- Directories containing source files.
hs-source-dirs: compiler
-- needs happy and alex
build-tool-depends: happy:happy, alex:alex
-- Base language which the package is written in.
default-language: Haskell2010