Skip to content
This repository has been archived by the owner on Apr 1, 2023. It is now read-only.

DevL/ClusterFuck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ClusterFuck - Distributed Programming Language

Introduction

ClusterFuck (working name, subject to change) is an experiment in creating a distributed programming language. It cannot be emphasised enough that it's not about creating programming language suitable for distributed computing. No, it's rather about creating a programming language that itself is distributed.

Instructions can be implemented in different programming languages and run on different hosts. The running program can be copied or even move between hosts.

Components

  • CAVEAT A virtual machine capable of loading and executing a program in a binary format.
  • An assembler for parsing virtual assembly and converting it to a binary format.
  • A mechanism for broadcasting and finding instruction capabilities.

Design Goals

  • More assembler! Assembley programming is fun, but not something that a fraction of developers get to do.
  • More computers! Distributed instruction set. An instruction should be able to be executed on a completely different host than the bulk of the program.
  • More languages! Simple protocol for discovering and broadcasting instruction implementations. It should be possible, nay encouraged, to implement an instruction in another programming language.

Virtual Machine Characteristics

  • The virtual machine should be simple and straightforward. With strictly limited resources, the VM can be small enough to be copied in its entirety from one node to another. About 64Kb of addressable memory is a likely candidate.
  • A Load/Store architecture entails that only registers and not the entire memory needs to be passed to an instruction node for computation.

Roadmap

TBD

About

ClusterFuck - Distributed Programming Language

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages