japl-lang / japl-lang/japl

Design Discussion: Classes and Instances

Open
#47 0 comments 0 reactions 0 assignees View on GitHub
Discussion
Dominant language
Nim
Stars
32
Forks
1
PR merge metrics
No merged PRs in 30d

Description

JAPL is an object oriented language, so at some point we'll implement classes.

Specifically, I'd like to have:
- "magic" methods (a la Python) for built-in behavior like string representation or operator behavior (`magic method toString() {...}`)
- abstract classes and methods (`abstract class` and `abstract method`)
- Multiple inheritance like so: `class Child < Parent1, Parent2 {}`. Layout conflicts are resolved at compile time
- `static` methods (i.e. not bound to an instance)
- Private Fields? (and methods maybe). I kinda have to figure this one out

Anything else?

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or entry points are identified in this issue. Begin by reviewing the JAPL language implementation and establish an agreed, implementable scope for classes and instances; done is a settled design rather than a completed patch.

Written by the indexing model from the issue text.

Assessment

Tech stack
nim
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.