nirum: Distributed object framework built on top of REST HTTP and JSON

[ gpl, language, library, program ] [ Propose Tags ]

Distributed object framework for microservices, built on top of RESTful HTTP and JSON


[Skip to Readme]
Versions [faq] 0.1.0, 0.2.0, 0.3.0, 0.3.2, 0.3.3, 0.4.0, 0.4.1, 0.4.2, 0.5.0
Dependencies base (>=4.7 && <5), cmdargs (>=0.10.14 && <0.11), containers (>=0.5.6.2 && <0.6), directory (>=1.2.5 && <1.3), filepath (==1.4.*), interpolatedstring-perl6 (>=1.0.0 && <1.1.0), megaparsec (>=5 && <5.1), nirum, semver (>=0.3.0 && <1.0), text (>=0.9.1.0 && <1.3) [details]
License GPL-3.0-only
Copyright (c) 2016 Nirum team
Author Nirum team
Maintainer Nirum team
Category Language
Home page https://github.com/spoqa/nirum
Bug tracker https://github.com/spoqa/nirum/issues
Uploaded by hongminhee at Sun Feb 11 15:07:35 UTC 2018
Distributions NixOS:0.5.0
Executables nirum-static, nirum
Downloads 1044 total (149 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2018-02-11 [all 3 reports]

Modules

  • Nirum
    • Nirum.Cli
    • Nirum.Constructs
      • Nirum.Constructs.Annotation
      • Nirum.Constructs.Declaration
      • Nirum.Constructs.DeclarationSet
      • Nirum.Constructs.Identifier
      • Nirum.Constructs.Module
      • Nirum.Constructs.ModulePath
      • Nirum.Constructs.Name
      • Nirum.Constructs.Service
      • Nirum.Constructs.TypeDeclaration
      • Nirum.Constructs.TypeExpression
    • Nirum.Package
    • Nirum.Parser
    • Targets
      • Nirum.Targets.Python
    • Nirum.Version

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for nirum-0.1.0

[back to package description]

Nirum

Nirum is an IDL compiler and RPC/distributed object framework for microservices, built on top of the modern Web server technologies such as RESTful HTTP and JSON.

You can find how its IDL looks like from source codes in the examples/ directory.

Note that its design is highly unstable and could be changed. Also the feature set is incomplete yet.

Installation

If you already installed Haskell Platform or Haskell Stack, you can build the project in the same way other Haskell projects are built:

$ cabal sandbox init
$ cabal install --only-dependencies
$ cabal configure
$ cabal build

or:

$ stack build

Getting Started

In order to compile a Nirum package (examples/) to a Python package:

$ mkdir out/  # directory to place generated Python files
$ nirum -o out/ examples/

For more infomration, use --help option:

$ nirum --help
Nirum Compiler 0.1.0

nirum [OPTIONS] DIR

Common flags:
  -o --output-dir=DIR   The directory to place object files
  -? --help             Display help message
  -V --version          Print version information
     --numeric-version  Print just the version number

Etymology

니름 (IPA: /niɾɯm/; nireum) is a sort of telepathy in the fictional world of The Bird That Drinks Tears (눈물을 마시는 새 Nunmureul masineun sae) by Lee Yeongdo (이영도).