Skip to main content

DOOMS Programming Language

DOOMS is a custom, strict-typed, dynamically evaluated scripting language. It features a robust type-checker, custom functions, arrays, dictionaries, and more!

Roadmap & Status

Below is the current roadmap. We are currently finishing Phase 8!

  • Phase 1: Basic interpreter pipeline (Lexer, Parser, AST, Interpreter) and print
  • Phase 2: Explicitly Typed Variables (int, str, boo, any)
  • Phase 3: Arithmetic (+, -, *, /)
  • Phase 4: Conditionals (if / else)
  • Phase 5: Block Scoping ({...}) and Loops (while, <, >, ==)
  • Phase 6: Custom Functions
  • Phase 7: Arrays / Lists
  • Phase 8: Dictionaries, String Methods, and input()
  • Phase 9: Modules System (import)
  • Phase 10: Classes (OOP)
  • Phase 11: Bytecode Compilation (Virtual Machine)

Features Overview

  • Explicit Typing (int, str, boo, any)
  • Arithmetic operators (+, -, *, /)
  • Comparison operators (<, >, ==)
  • Loops (while)
  • Custom Functions with explicit typing (func add(int a) { return a + 1; })
  • Arrays ([1, 2]), Tuple Types ([int, str]), and Array Methods (.push(), .pop())
  • Dictionaries ({}) with methods (.get(), .keys()) and index access (obj["key"])
  • String Operations (.length(), .upper(), .split())
  • Built-in print() and input() with automatic type coercion
  • Modules System (import "file.dooms" and import "file.dooms" as name)
  • Classes (OOP) with class and this binding

Installation

DOOMS is available on PyPI! You can install it globally using pip:

pip install dooms

Running DOOMS

Once installed, you can use the dooms command anywhere in your terminal:

dooms run examples/hello.dooms

Metadata

Release files for dooms 1.0.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 dooms 1.0.0
File Size Uploaded Provenance
dooms-1.0.0.tar.gz 15.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for dooms 1.0.0
File Interpreter ABI Platform
dooms-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 32.8 kB

Release files / dooms-1.0.0.tar.gz

Download URL dooms-1.0.0.tar.gz
Size 15.9 kB
Tags Source
SHA-256 checksum
How to use checksums
fef5dca16577e63e57f5386d5fa2913015ec2a2d461fe98fbeb7119eca2762ce
BLAKE2b-256 checksum
How to use checksums
e797ece0b78c10aca73e51c0c128afdcd299119579d12ba3bcb5de91e6165a79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / dooms-1.0.0-py3-none-any.whl

Download URL dooms-1.0.0-py3-none-any.whl
Size 16.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eb04f24d5aaaf071bad504fae4b64dfa74b51a6fe76d719dc3e61f02e08c81f2
BLAKE2b-256 checksum
How to use checksums
c4a45206055165e7eac71cc0e75e91cbcfa9bb569adefb1e9292772d63275f79
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Security for dooms 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

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