Git Product home page Git Product logo

hlang's Introduction

Hlang







A Flow-based programming language for universal applications.


Hlang aims to make programming easier, faster and more comfortable. It avoids coding, repetition and frustration.




Ecosystem

UI & Devtool

devtool

Feature

  • ๐Ÿ˜Š Another FBP-Inspired System, totally Reactive.
  • ๐Ÿš€ Powerful ecosystem, abundant internal nodes.
  • ๐Ÿ‘ฌ Just use Node-Like Readable | Writable | Transform Stream API to become a node developer.
  • โœŠ Production-ready and Enterprise-ready, High Performance.

๐ŸŒฐ Quick Start

const {
  Flow,
  ReadableNode,
  WriteableNode,
  TransformNode,
  Port,
} = require("@hlang/runtime");

const flowIns = new Flow();

class OneReadableNode extends ReadableNode {
  constructor() {
    super();

    // dig a port named `out`
    Port.O("out").attach(this);
  }

  _read($o) {
    // send packet to `out` port
    $o("out").send({ payload: "hello, world" });
  }
}

class OneTransformNode extends TransformNode {
  constructor() {
    super();

    // dig `in` `out` port
    Port.I("in").attach(this);
    Port.O("out").attach(this);
  }

  _transform($i, $o) {
    $i("in").on((payload) => {
      $o("out").send(payload);
    });
  }
}

class OneWriteableNode extends WriteableNode {
  constructor() {
    super();
    Port.I("in").attach(this);
  }

  _write($i) {
    $i("in").on(console.log);
  }
}

const $R = new OneReadableNode();
const $T = new OneTransformNode();
const $W = new OneWriteableNode();

// connect
$R.O("out").connect($T.I("in"));
$T.O("out").connect($W.I("in"));

// for fun!
flowIns.run($R);

Become a contributer ?

Install

step-1

$ npm install

step-2

$ npm run pm_install

hlang's People

Contributors

archersado avatar qddegtya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

hlang's Issues

How to run it?

How to run the quickstart, or anything?

(1)
I tried
npm run pm_install
output:

> [email protected] pm_install
> ./node_modules/.bin/pm run install

[pm] execute [npm i] in [/home/sohail/cs-external/hlang/packages/runtime]......
npm WARN deprecated [email protected]: Use your platform's native performance.now() and performance.timeOrigin.

added 382 packages, and audited 383 packages in 22s

31 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

What next?

Is it a web server wrapped in pm that I need to navigate to?

(2)
I tried the quick-start too:
node ../../quick-start.js

in
~/cs-external/hlang/packages/runtime

Output:

node:internal/modules/cjs/loader:1078
  throw err;
  ^

Error: Cannot find module '@hlang/runtime'
Require stack:
- /home/sohail/cs-external/hlang/quick-start.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1075:15)
    at Module._load (node:internal/modules/cjs/loader:920:27)
    at Module.require (node:internal/modules/cjs/loader:1141:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (/home/sohail/cs-external/hlang/quick-start.js:7:5)
    at Module._compile (node:internal/modules/cjs/loader:1254:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
    at Module.load (node:internal/modules/cjs/loader:1117:32)
    at Module._load (node:internal/modules/cjs/loader:958:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ '/home/sohail/cs-external/hlang/quick-start.js' ]
}

Node.js v18.16.0

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.