CARBON is an interface-centric programming language named after the concept of an allotropy.

Overview

CARBON programming language

Status: just an idea

CARBON is an interface-centric programming language named after the concept of an allotropy. It is an experiment in hyper-dynamic programming. Programs do not define concrete representations. Instead, the runtime decides which representation to use. A type's representation can change during its lifetime. Users can opt in to prioritizing certain runtime characteristics, such as speed or memory, per instance. The runtime will run experiments to determine the optimal representation that satisfies the priorities. In some sense, profile-guided optimization at runtime.

Langjam #0002

Langjam's theme is patterns. CARBON treats this relatively lightly:

  • identifier rules, e.g. allowing them to be arbitrary Unicode characters, but all characters in each identifier must be in the same Unicode script

Tour

CARBON is an unusual programming language, so it may as well use unusual syntax. Its identifiers look a lot like lisp. Words are conventionally delimited by hyphens, e.g. a-variable. This style, known informally as kebab case, is also seen in Dylan.

Scalar types:

  • Atoms: whitespace-delimited, façade

  • Numbers: 1, 2.0, -9

  • Text: " some words "

  • Regular expressions: / [abc]+ /

  • Lists: [ 1 2 3 ]

  • Sets: { 1 2 3 }

  • Dictionaries: { "a" : 1 "b" : 2 "c" : 3 }

All types accept a hyper-parameter, which is what should be maximized by the representation optimizer.

  • [ 1 2 3 ] :: { speed }

Identifiers can be Unicode, with some restrictions. Characters within the identifier must belong to the same [Unicode script], although it's legal to include characters from the Common . That is, it is impossible to mix Cyrillic and Tamil in the same identifier.

You might also like...
Lisp-style programming language

Bobbylisp A programming language, syntax are like mal and clojure. This project follow mal guides, Planning to add some more features after finishing

An interpreter for the esoteric programming language, Brainf*ck.

Brainf*ck Interpreter This is just a normal Brainf*ck interpreter written in Rust. If you don't know what Brainf*ck is, you can check out the wikipedi

Pua-lang - a dialect of The Monkey Programming Language

pua-lang PUA Programming Language written in Rust. What's pua-lang? pua-lang is a dialect of The Monkey Programming Language, intended to mirror the i

The Fluet programming language.

fluet Fluet is a scripting language. License Fluet is licensed under the Mozilla Public License, v. 2.0. Contributors may dual license their contribut

Ethereal - a general-purpose programming language that is designed to be fast and simple
Ethereal - a general-purpose programming language that is designed to be fast and simple

Ethereal is a general-purpose programming language that is designed to be fast and simple. Heavly inspired by Monkey and written in Rust

Dc improved: Feature-added rewrite of a 50+ year old RPN calculator/stack machine/programming language

dcim [WIP] dc improved: Feature-added rewrite of a 50+ year old RPN calculator/stack machine/programming language This readme is currently incomplete.

Squirt is a easy-to-use programming language.

Squirt is a easy-to-use programming language.

Osmon's compiler crate. Programming language made for starter & novice Uzbek audience.

Osmon Tili Osmon bu registrlarga asoslangan virtual mashinalik va yengil dasturlash tili Osmon boshqa o'zbek open source dasturchisi Sukhrob Khakimovn

Rust library to interface with Lua

hlua This library is a high-level binding for Lua 5.2. You don't have access to the Lua stack, all you can do is read/write variables (including callb

Owner
Tim McNamara
Tim McNamara
Tyrade: a pure functional language for type-level programming in Rust

A pure functional language for type-level programming in Rust

Will Crichton 286 Jan 1, 2023
An OOP programming language I am making by following Crafting Interpreters.

horba An OOP programming language I am making by following Crafting Interpreters. https://craftinginterpreters.com/ I intend it to have a somewhat C-s

Thomas 3 Dec 5, 2021
Yet Another Programming Language

Yet Another Programming Language

null 4 Sep 15, 2021
luau bindings for the Rust programming language

?? luau-rs Luau bindings for the Rust programming language using bindgen ⚠️ Disclaimer This does not provide bindings for everything as luau does not

Vurv 18 Aug 3, 2022
Czech for the Rust programming language

rez Nejsi you tired from writing Rust programs in English? Do you like saying do prdele or pivo a lot? Would you like to try something different, in a

Radek Vít 13 Oct 9, 2022
The official home of the Nyson Programming Language, built off Rust.

Nyson Programming Language The official home of the Nyson Programming Language, built off Rust. (created by Nyelsonon and AMTitan, 2021) Advertisement

Nyson-Programing-Language 19 Aug 10, 2022
The programming language for scalable development

Pen programming language Pen is the programming language that makes software development scalable, focusing on software maintainability and portabilit

Pen programming language 390 Dec 30, 2022
A newborn programming language for extensible software

A newborn programming language for extensible software.

Alexey Shmalko 17 Nov 29, 2022
A simple programming language made for scripting inspired on rust and javascript.

FnXY Programming Language Quick move: CONTRIBUTING | LICENSE What? FnXY is a simple programming language made for scripting inspired on rust and javas

null 2 Nov 27, 2021
A multithreaded programming language!

hydracane A multithreaded programming language! Getting started Coming Soon! Features: Multithreaded Platform independent Folders: src/vm: The Virtual

Krishna Ramasimha 0 Dec 10, 2021