Giter Site home page Giter Site logo

cbpudding / link-all-the-languages Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 4.0 87 KB

Creating the world's most complex "Hello world" program

License: The Unlicense

C 48.59% Python 30.94% C++ 1.47% Rust 2.13% D 1.12% Go 0.99% Lua 0.60% Fortran 1.03% Java 1.62% Assembly 6.68% Ruby 0.37% Tcl 0.39% Kotlin 0.45% REXX 0.50% Nim 1.09% Zig 2.05%
c linking

link-all-the-languages's Introduction

Link All the Languages!

An ongoing project created by Alexander Hill where we link as many programming languages as possible into a single executable.

Theory

Most programming languages provide a foreign function interface to the C language. Therefore, language X should be able to call functions in language Y and language Y should be able to call functions in language X using the C ABI.

Languages

Tier 3 (Statically linked and fully interoperable)

  • Assembly
  • C
  • C++
  • Nim
  • Zig

Tier 2 (Can call C and be called by C)

  • D
  • Lua
  • Rust

Tier 1 (Can be called by C)

  • Fortran
  • Go
  • Java
  • Kotlin
  • Python
  • Rexx
  • Ruby
  • Tcl

To-do

  • Ada
  • Agda
  • ALGOL
  • APL
  • B
  • Ballerina
  • BCPL
  • Boo
  • Bosque
  • C#
  • C--
  • Caml
  • Carbon
  • Carp
  • Clojure
  • COBOL
  • CoffeeScript
  • Common Lisp
  • Coq
  • Dart
  • Eiffel
  • Elixir
  • Erlang
  • F
  • F#
  • Forth
  • FreeBasic
  • Futhark
  • Groovy
  • Hack
  • Haskell
  • Haxe
  • Hy
  • Idris
  • Janet
  • Javascript
  • Julia
  • MATLAB
  • Mercury
  • Modula-3
  • OCaml
  • Oz
  • Pascal
  • Perl
  • PL/I
  • PHP
  • PowerShell
  • Prolog
  • R
  • Racket
  • Raku
  • Ratfor
  • RPG
  • Scala
  • Scheme
  • Smalltalk
  • Squirrel
  • Swift
  • Typescript
  • Unison

Impossible

Rules for including languages

  1. Languages must be statically linked
  2. Languages must be able to use their standard library
  3. Languages must be able to call C and be called by C
  4. Languages must be stable(1.0.0 or greater in semantic versioning)

link-all-the-languages's People

Contributors

cbpudding avatar fabricatorzayac avatar grayjack avatar monadic-cat avatar nicksworld avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

link-all-the-languages's Issues

Missing Christmas Messages

I noticed that both Carp and Zig don't check the month to print a special message. While this isn't the end of the world, it'd be nice to have. Can you two add a special message to your code?

  • Added a Christmas message to Carp
  • Added a Christmas message to Nim
  • Added a Christmas message to Zig

Thanks in advance!

Custom Build System (Tracking Issue)

We are in the process of migrating from GNU Make to a custom build system.
We require the following features before we can safely deprecate our Makefile:

  • Incremental Builds
  • Parallel Builds

Once these have been implemented, a deprecation notice for the GNU Makefile shall be published.
After that, maintenance of the GNU Makefile shall end.

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.