Giter VIP home page Giter VIP logo

merge-lang's Introduction

merge-lang's People

Contributors

orhnk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

merge-lang's Issues

Presentation

Merge Programming Language

A programming language that automates IPC communications across multiple languages in a fast, cross-platform and simple way.

There are a lot of programming languages out there and What's the reason to create a new one? (is it worth the effort?)

Why Merge Programming Language?

Across Multiple Programming Languages

Merge is not only a "programming language" but a meta programming language.

Merge sits on top of other language like python, c, rust, javascript (etc.) and manages the IPC communications done between them.

Merge would be a traffic police at the time. There are chaos and commotion everywhere which needs to get fixed immediately so you put someone to organize this moil.

So when you want to pelt a variable from python to rust, you will just kindly say it to the compiler and It will send the variable to the target language (so you can use it peacefully)

Performant

Merge tries to optimize for the best it could. A Brief List of Optimizations may be:

  • Ignoring unused bridges (the data communication pipes to whisper to each other) (inferred from variable)
  • Chunking (minimalisation of bridge number, similar to async but in software)

Simple

Merge uses the simplest and the most unambiguous way of bridging between languages.

  • Here is the bridge in Merge (This one sends and recieves no variables):

    [!NOTE]
    You can ommit the [] prefix when no variables are recieved.
    Or you can ommit the -> [] postfix when there is no variable to send.
    So all of the following representations are equal

    [] -> [] # 
    -> []    # `[]`      ommitted
    []         # `-> []` ommitted

Why Rust Programming Language?

Easy Documentation

Package Management

Modern

Fast

Safe

How Does It Work?

Tokenizer

Parser

Build

Runtime

What Are The Pros And Cons?

Comment literal

Comments

TLDR

Looking for a concise way to implement comments.

I think...

My initial idea is to use # as single-line comment:

[pour] -> [scoop] # means: [var_sending_to_python] -> [var_pulling_from_python]
python! {
   print("[Python]:", scoop)
   var_pulling_from_python = 10
}

Note

I don't think merge-lang includes anything that'll make multi-line comment crucial

Purpose of this thread

  • Should merge use comments?
    • if yes, What literal should merge use? (;, //, --, <!--, /* */, --[ ], <!-- -->)
    • if no, Why?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.