Skip to main content

battery

Sym ⚡

The polyglot host. One file, ten ecosystems — none of them know the others exist.



What this is

Sym is a programming language I designed and built. Files use the .sym extension. The compiler is written in Python, lives in this repo, and produces two outputs:

  1. Python code for any function that touches the Python ecosystem (numpy, pandas, requests, anything pip-installable)
  2. C shared libraries for any function that's pure (only does math, no Python deps)

The compiler analyzes every function for purity, then routes the pure ones through C codegen for native speed while keeping Python-dependent ones as Python. They talk via ctypes. The user just runs sym run file.sym and never thinks about it.

The language has three syntax modes (Normal, Compact, Symbol) that all parse to the same AST. Whichever style you find readable is the one you write. Performance and behavior are identical.

THE MATRIX

Every language below can consume every library ecosystem below. 80/80 cells, tested:

              java     js  python    php   ruby      r   perl      c
  sym           ✅     ✅     ✅     ✅     ✅     ✅     ✅     ✅

Metadata

Release files for sym-lang 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sym-lang 0.2.0
File Size Uploaded
sym_lang-0.2.0.tar.gz 123.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sym-lang 0.2.0
File Interpreter ABI Platform
sym_lang-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 272.4 kB

Release files / sym_lang-0.2.0.tar.gz

Download URL sym_lang-0.2.0.tar.gz
Size 123.8 kB
Tags Source
SHA-256 checksum
How to use checksums
3b90465b3bd9f5e16f9920a4da2e41a96d21639f227141eba680aaa576e2d8f0
BLAKE2b-256 checksum
How to use checksums
3061e3a7f346fce175eb0ff9ac6fafee14d29ee89c993a0f76b0f08dd784fe58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / sym_lang-0.2.0-py3-none-any.whl

Download URL sym_lang-0.2.0-py3-none-any.whl
Size 148.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
266c5a9cee5c3322bda9e0627ac4ac1a213d257b156d443a6a3cf56f5404deb7
BLAKE2b-256 checksum
How to use checksums
7104bf365b5aef90d8762c70dd18aa4dac98c9d94059d547e1dc2c8bf4dfaf1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

0.2.2

2 release files

0.2.1

2 release files

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page