{"id":18898421,"url":"https://github.com/hychen/iclang","last_synced_at":"2026-03-01T10:30:17.554Z","repository":{"id":27799551,"uuid":"31288711","full_name":"hychen/iclang","owner":"hychen","description":"A coordination language for compositing things of internet.","archived":false,"fork":false,"pushed_at":"2015-06-29T09:28:18.000Z","size":983,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-31T08:45:43.653Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hychen.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-02-25T00:08:45.000Z","updated_at":"2015-06-08T16:47:16.000Z","dependencies_parsed_at":"2022-08-02T10:45:10.979Z","dependency_job_id":null,"html_url":"https://github.com/hychen/iclang","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hychen%2Ficlang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hychen%2Ficlang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hychen%2Ficlang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hychen%2Ficlang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hychen","download_url":"https://codeload.github.com/hychen/iclang/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239879317,"owners_count":19712176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T08:42:33.881Z","updated_at":"2026-03-01T10:30:16.441Z","avatar_url":"https://github.com/hychen.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+TITLE: Internet Combinator Language\n#+AUTHOR:Hsin-Yi Chen (hychen)\n#+OPTIONS: H:2 num:t toc:nil\n#+OPTIONS: ^:nil\n#+OPTIONS: \u003c:nil todo:nil *:t ^:{} @:t ::t |:t TeX:t\n\n/WARNING: This is work in progress. The APIs will remain in flux until 1.0.0. Suggestions welcome!/\n\nThe things of internet is a highly interconnected collection of computational resources, and\nas such it can be considred as forming a big computer. It is obviously to have some kind\nof abstract programming language runs on this wired computer.\n\nInternet Combinator Language, ICLang in short, is a cordination language for compositing things on internet.\nand designed in dataflow mindset with [[en.wikipedia.org/wiki/Configurable_modularity][configurable modularity]].\n\nNot like how we do when we building a application in conventional programming language, building a pplication\nin ICLang is totally different, and almost like building a electronic circuit by wiring pins of integrated\ncircuits.\n\nWhich means a developer defines applications as networks of \"black box\" processes, which exchange data across\npredefined connections by message passing, where the connections are specified externally to the processes.\n\nThese black box processes can be reconnected endlessly to form different applications without having to be changed\ninternally. So, when a developer programs, he is doing visual thinking in his mind.\n\n#+BEGIN_SRC ditaa\n   +-----------------------------------------------+\n   |      +-------------+     +--------------+     |\n   |      |             |     |              |     |\nstr|[]---\u003e[]in Read out[]----\u003e[]in Print out[]---\u003e[]status\n   |      |             |     |              |     |\n   |      +-------------+     +--------------+     |\n   +-----------------------------------------------+\n#+END_SRC\n\nfor more details, please check the [[file:spec/spec-iclang.org][specification]] in *spec* directory.\n\n* Get started\n\n** Install [[https://travis-ci.org/hychen/iclang.svg?branch=master]]\nThe Node.JS implementation of IClang requires [[https://github.com/imatix/zguide][ØMQ]] for send/receive data between components.\n\n#+BEGIN_SRC shell\n$ brew install zmq\n#+END_SRC\n\nand then get recent version of Node.js and the IClang source code via Github.\n\n#+BEGIN_SRC shell\n$ git clone https://github.com/hychen/iclang.git\n#+END_SRC\n\nthen simply type\n\n#+BEGIN_SRC shell\n$ npm i\n#+END_SRC\n\nnow, you can run test.\n\n#+BEGIN_SRC shell\n$ npm run test\n#+END_SRC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhychen%2Ficlang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhychen%2Ficlang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhychen%2Ficlang/lists"}