All Projects → kwanghoon → polyrpc

kwanghoon / polyrpc

Licence: BSD-3-Clause license
PolyRPC, A multi-tier functional programming language

Programming Languages

haskell
3896 projects
Ragel
52 projects

Projects that are alternatives of or similar to polyrpc

Observable
The easiest way to observe values in Swift.
Stars: ✭ 346 (+2062.5%)
Mutual labels:  functional, programming
mimsa
small programming language. pls be gentle.
Stars: ✭ 23 (+43.75%)
Mutual labels:  functional, programming
Remeda
A utility library for JavaScript and TypeScript.
Stars: ✭ 774 (+4737.5%)
Mutual labels:  functional, programming
Swiftz-Validation
A data structure for validations. It implements the applicative functor interface
Stars: ✭ 15 (-6.25%)
Mutual labels:  functional, programming
Arare
Lightweight curried functional programming library
Stars: ✭ 127 (+693.75%)
Mutual labels:  functional, programming
go-im
基于Golang编写的高性能im服务器 🚀
Stars: ✭ 220 (+1275%)
Mutual labels:  rpc
core
Enterprise Grade #NodeJS Platform implementing Industry Standards & Patterns in order to provide Connectivity, Stability, High-Availability and High-Performance
Stars: ✭ 54 (+237.5%)
Mutual labels:  rpc
FTAPIKit
Declarative and generic REST API framework using Codable.
Stars: ✭ 18 (+12.5%)
Mutual labels:  functional
consize
Consize is a concatenative programming language
Stars: ✭ 27 (+68.75%)
Mutual labels:  programming
iOS-Programming-Documents
iOS Programming Documents in Korean
Stars: ✭ 64 (+300%)
Mutual labels:  programming
blockchain-rpc
JSON RPC client for Bitcoin, Ethereum and Omni
Stars: ✭ 26 (+62.5%)
Mutual labels:  rpc
rpcx-rs
rpcx microservice framework in Rust
Stars: ✭ 95 (+493.75%)
Mutual labels:  rpc
CC33Z
Curso de Ciência da Computação
Stars: ✭ 50 (+212.5%)
Mutual labels:  programming
h4sci-course
ETH PhD Program course
Stars: ✭ 19 (+18.75%)
Mutual labels:  programming
Kriptofolio
Free open source minimalistic cryptocurrencies portfolio app for Android.
Stars: ✭ 79 (+393.75%)
Mutual labels:  programming
Dica Python Linkedin
⚡ Este repositório é direcionado para dicas com a linguagem python, que estão sendo postadas em meu linkedin.
Stars: ✭ 54 (+237.5%)
Mutual labels:  programming
nodejs grpc
GRPC based API CRUD using Nodejs at both server and client side
Stars: ✭ 17 (+6.25%)
Mutual labels:  rpc
nestjs-throttler-storage-redis
Redis storage provider for the nestjs-throttler package.
Stars: ✭ 56 (+250%)
Mutual labels:  rpc
Diccionario-JavaScript
project-dictionary.gitbooks.io/diccionario-javascript/content/
Stars: ✭ 13 (-18.75%)
Mutual labels:  programming
server-framework
纯C的分布式服务器框架通用模板,跨平台,模块动态加载,tcp/可靠UDP,协程RPC,日志,集群建立
Stars: ✭ 24 (+50%)
Mutual labels:  rpc

Polyrpc

A multi-tier functional programming language based on the polymorphic rpc calculus

  • Allow to write client, server, and location-polymorphic functions
  • A polyrpc programming language system including a parser, a poly rpc type checker, a slicing compiler, a poly cs type checker, and a poly cs interpter.
  • A polymorphic location inference algorithm based on bidirectional typechecking.
  • Syntactic sugar for location annotations (particularly for location-independent functions)

News

  • A bidirectional location inference algorithm is available in the master branch. Examples are available at examples.
  • Use --debug-parse to see a desugared term before the inference and --dump-typecheck to check a location inferenced term
  • For experts, --debug-typecheck is available to see how the bidirectional inference is working in detail.

Download and build

  $ git clone https://github.com/kwanghoon/polyrpc
  $ cd polyrpc
  $ stack build

Run an polyrpc interpreter

$ stack exec -- polyrpc ./examples/helloworld.rl
POLYRPC, version 0.1.0: http://github.com/kwanghoon/polyrpc/
[Reading] ./examples/helloworld.rl
[Lexing]
[Parsing]
[Type checking]
[Compiling]
[Verifying generated codes]
[Executing codes]
Hello World
[Success]

Documents

Web runtime systems for PolyRPC

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].