Skip to content

7mind/idealingua-v1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

822 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gitter Patreon Build Status License Awesome

Izumi


Izumi


Latest Release Maven Central Sonatype releases Sonatype snapshots Latest version

IdeaLingua RPC/DML

IdeaLingua is an RPC framework & Domain Modeling Language, it’s purpose is to:

  • Share & publish APIs and data models in a common concise format
  • Allow remote calls to services given their public API definitions.
  • Create idiomatic API clients and servers for all programming languages – currently Scala, TypeScript, C# & Go.
  • Support frontend-to-backend and backend-to-frontend calls (ala push notifications, via buzzer definitions)
  • Abstract away details such as the network protocol or the serialization format.
  • Save developers from untyped and brittle REST.

IdeaLingua is a part of the Izumi Project. Izumi (jp. 泉水, spring) is a set of independent libraries and frameworks allowing you to significantly increase productivity of your Scala development.

including the following components:

  1. distage – Transparent and debuggable Dependency Injection framework for Pure FP Scala,
  2. logstage – Automatic structural logs from Scala string interpolations,
  3. idealingua (moved to 7mind/idealingua-v1) – API Definition, Data Modeling and RPC Language, optimized for fast prototyping – like gRPC, but with a human face. Currently generates servers and clients for Go, TypeScript, C# and Scala,
  4. Opinionated SBT plugins (moved to 7mind/sbtgen) – Reduces verbosity of SBT builds and introduces new features – inter-project shared test scopes and BOM plugins (from Maven)
  5. Percept-Plan-Execute-Repeat (PPER) – a pattern that enables modeling very complex domains and orchestrate deadly complex processes a lot easier than you're used to.

Syntax Highlighting

Project Status

Currently this project is in maintanance-only phase. It may be useful, although new features will not be added.

Have a look at Baboon DML

Docs

Example projects:

Support Chats:

Release process

nix must be installed and available.

./build.sh release