Skip to content

Design and build FelixScript: a modern, concise programming language in Go #2

@wilkolbrzym-coder

Description

@wilkolbrzym-coder

Overview

Create a new programming language called FelixScript with the following characteristics:

  • Modern, ultra-concise, and extremely readable syntax (even more so than Python)
  • Target a code density 20% higher than Python (i.e., less code for the same logic)
  • Easy to learn and use; all function names are short, clear, and expressive
  • Exceptionally detailed interpreter errors, with actionable suggestions and precise locations
  • Designed for extensibility—allowing APIs, parsers, and advanced integration
  • File extension: .fs

Core Requirements

  • The language should be implemented in Go
  • Modular architecture: ~30 modules, grouped into files of 5-7 modules each
  • Each module should be very modern, minimalistic, and powerful, even if not all modules are used by the core language (allowing future API/extensibility)
  • Syntax should be extremely readable and modern, suitable for new-generation coding paradigms
  • Error messages must be millimeter-accurate and include suggestions for fixing issues
  • Project structure and code should allow for easy future extension and robust API integrations

Tasks

  • Design the syntax and grammar for FelixScript
  • Plan and document around 30 language modules (grouped into files, 5-7 per file)
  • Implement a modular interpreter in Go
  • Ensure interpreter errors are extremely detailed and actionable
  • Create clear documentation and examples
  • Structure the project for extensibility and modern development

Notes

  • This is a foundational issue for the entire project. Sub-issues can be created for module design, parser, interpreter core, error handling, documentation, etc.
  • Inspiration should be drawn from Python, but with more modern, readable, and concise syntax.
  • Consider the needs of future API/plugin developers when designing extensibility and error reporting.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions