objective-lol

module
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 1, 2026 License: MIT

README

Objective-LOL

A programming language inspired by LOLCODE.

Key Features

  • Strong Type System: Seven built-in types with automatic and explicit casting
  • Object-Oriented Programming: Classes with inheritance, constructors, and visibility modifiers
  • Functions & Scoping: Lexical scoping with parameters, return values, and recursion
  • Module System: Import built-in and file modules with selective import syntax
  • Exception Handling: Comprehensive try-catch-finally blocks with custom exceptions
  • Rich Collections: Dynamic arrays and maps with extensive methods
  • Standard Library: File I/O, mathematics, time, string utilities, threading, and buffered I/O

Quick Start

Installation
git clone https://github.com/bjia56/objective-lol.git
cd objective-lol
go build -o olol cmd/olol/main.go
Hello World

Create hello.olol:

BTW This is a comment - Hello World program

HAI ME TEH FUNCSHUN MAIN
    I CAN HAS STDIO?
    SAYZ WIT "Hello, World!"
KTHXBAI

Run it:

./olol hello.olol
Next Steps

Building and Development

Build Commands
# Build the interpreter
go build -o olol cmd/olol/main.go

# Build LSP server (optional)
go build -o olol-lsp cmd/olol-lsp/main.go

# Format code
go fmt ./...

# Check compilation
go build ./...
Testing
# Run all tests
go test ./...

# Run with verbose output
go test -v ./...

# Run integration tests
./olol pkg/integration/tests/01_basic_syntax.olol

License

MIT

Directories

Path Synopsis
cmd
docs command
olol command
olol-lsp command
pkg
api
ast
cli

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL