Skip to content

Commit 929d058

Browse files
committed
docs: update CONTRIBUTING.md and README.md for clarity and links
- Added a note in CONTRIBUTING.md to clarify that this repository contains only the toolset integration and to direct PRs to the appropriate tool repositories. - Updated README.md to correct and enhance links to the online documentation and reference materials, ensuring users have easy access to the latest resources.
1 parent 77ab9d1 commit 929d058

File tree

2 files changed

+63
-13
lines changed

2 files changed

+63
-13
lines changed

CONTRIBUTING.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
- Contributing to The Ovum Language is fairly easy. This document shows you how to get started
44

5+
> Note that this repository contains ONLY the toolset integration. That means that the actual tool implementations are in different repositories. For example, the compiler is in the [OvumCompiler](https://github.com/Ovum-Programming-Language/OvumCompiler) repository.
6+
> DO NOT submit PRs to this repository, only to the repositories of the actual tools, unless you are sure that the change is applicable to the toolset integration itself (e.g. introduction of a new tool).
7+
58
## General
69
- The [Codebase Structure](./CODEBASE_STRUCTURE.md) has detailed information about how the various files in this project are structured
710
- Please ensure that any changes you make are in accordance with the [Coding Guidelines](./CODING_GUIDELINES.md) of this repo

README.md

Lines changed: 60 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
Ovum is a strongly statically typed, single-threaded language focused on safety, clarity, and performance. It uses Kotlin-like syntax, immutability by default, a GC + JIT VM, interface-based polymorphism, and support for pure functions and functional objects.
44

55
- Contribute: see [`CONTRIBUTING.md`](CONTRIBUTING.md).
6-
- Project docs: [Online](https://ovum-programming-language.github.io/OvumDocs/) or [`docs/README.md`](docs/README.md).
7-
- Full language reference: [Online](https://ovum-programming-language.github.io/OvumDocs/reference/) or [`docs/reference/README.md`](docs/reference/README.md).
6+
- Project docs: [Online](https://ovum-programming-language.github.io/OvumDocs/).
7+
- Full language reference: [Online](https://ovum-programming-language.github.io/Ovumhttps://ovum-programming-language.github.io/OvumDocs/reference/).
88

99
---
1010

11-
## [Overview](docs/reference/design.md)
11+
## [Overview](https://ovum-programming-language.github.io/OvumDocs/reference/design)
1212

1313
- Memory safety via GC; no manual memory management.
1414
- Immutable by default; explicit mutation with `var`.
@@ -20,7 +20,7 @@ Ovum is a strongly statically typed, single-threaded language focused on safety,
2020

2121
---
2222

23-
## [Syntax at a Glance](docs/reference/syntax.md)
23+
## [Syntax at a Glance](https://ovum-programming-language.github.io/OvumDocs/reference/syntax)
2424

2525
- Files: `.ovum`. Names: PascalCase for types/methods.
2626
- Functions: `fun Name(a: T): U { ... }`; pure: `pure fun ...`.
@@ -30,7 +30,7 @@ Ovum is a strongly statically typed, single-threaded language focused on safety,
3030

3131
---
3232

33-
## [Types](docs/reference/types.md) and [Nullability](docs/reference/nullable.md)
33+
## [Types](https://ovum-programming-language.github.io/OvumDocs/reference/types) and [Nullability](https://ovum-programming-language.github.io/OvumDocs/reference/nullable)
3434

3535
- **Fundamental types**: `int`, `float`, `byte`, `char`, `bool`, `pointer` (value types, not nullable, not Objects)
3636
- **Primitive reference types**: `Int`, `Float`, `Byte`, `Char`, `Bool`, `Pointer` (reference wrappers, nullable, Objects)
@@ -42,18 +42,18 @@ Ovum is a strongly statically typed, single-threaded language focused on safety,
4242

4343
---
4444

45-
## [Control Flow](docs/reference/control_flow.md)
45+
## [Control Flow](https://ovum-programming-language.github.io/OvumDocs/reference/control_flow)
4646

4747
- `if/else`, `while`, `for (x in xs)`.
4848
- `return`, `break`, `continue`; no `goto`.
4949

5050
---
5151

52-
## [Expressions and Operators](docs/reference/expressions_and_operators.md)
52+
## [Expressions and Operators](https://ovum-programming-language.github.io/OvumDocs/reference/expressions_and_operators)
5353

5454
- Arithmetic: `+ - * / %`
5555
- Comparison: `== != < <= > >=`
56-
- Boolean: `&& || ! xor` (short‑circuit `&&`/`||`).
56+
- Boolean: `&& || ! ^` (short‑circuit `&&`/`||`).
5757
- Assignment: `=` (reference assignment), `:=` (copy assignment)
5858
- Member/calls: `. ()` and safe `?.`
5959
- Null handling: `?. ?:`
@@ -62,7 +62,7 @@ Ovum is a strongly statically typed, single-threaded language focused on safety,
6262

6363
---
6464

65-
## [Object Model](docs/reference/object_model.md)
65+
## [Object Model](https://ovum-programming-language.github.io/OvumDocs/reference/object_model)
6666

6767
- Classes implement interfaces; no class inheritance.
6868
- Methods declare access; support `override` and `pure`.
@@ -75,7 +75,7 @@ Ovum is a strongly statically typed, single-threaded language focused on safety,
7575

7676
---
7777

78-
## [Runtime and Tooling](docs/reference/runtime.md)
78+
## [Runtime and Tooling](https://ovum-programming-language.github.io/OvumDocs/reference/runtime)
7979

8080
- Pipeline: `.ovum` → bytecode → Ovum VM.
8181
- GC for memory safety; JIT compiles hot paths.
@@ -87,7 +87,7 @@ Build & Run (conceptual): write `.ovum`, compile (parse, type‑check, enforce c
8787

8888
---
8989

90-
## [System Library and Interop](docs/reference/system_library.md)
90+
## [System Library and Interop](https://ovum-programming-language.github.io/OvumDocs/reference/system_library)
9191

9292
- `sys::Print(msg: String): Void`
9393
- `sys::Time(): Int`
@@ -97,7 +97,7 @@ Build & Run (conceptual): write `.ovum`, compile (parse, type‑check, enforce c
9797

9898
---
9999

100-
## [Unsafe (recap)](docs/reference/unsafe.md)
100+
## [Unsafe (recap)](https://ovum-programming-language.github.io/OvumDocs/reference/unsafe)
101101

102102
Only inside `unsafe { ... }`:
103103
- Global `var` and `static var` writes.
@@ -107,7 +107,54 @@ Only inside `unsafe { ... }`:
107107

108108
---
109109

110-
## [Code Examples](docs/reference/code_examples.md)
110+
## [Bytecode](https://ovum-programming-language.github.io/OvumDocs/reference/bytecode)
111+
112+
Bytecode is the intermediate representation of the Ovum program. It is generated by the compiler and executed by the Ovum VM.
113+
114+
**Ovum Bytecode:**
115+
```oil
116+
// Simple program that prints numbers 1 to 5
117+
function _Global_Main_StringArray {
118+
PushInt 1
119+
SetLocal 1
120+
121+
while {
122+
LoadLocal 1
123+
PushInt 5
124+
IntLessEqual
125+
} then {
126+
LoadLocal 1
127+
CallConstructor Int
128+
Call _Int_ToString_<C>
129+
PrintLine
130+
LoadLocal 1
131+
PushInt 1
132+
IntAdd
133+
SetLocal 1
134+
}
135+
136+
PushInt 0
137+
Return
138+
}
139+
```
140+
141+
**Ovum Source Code:**
142+
```ovum
143+
fun Main(args: StringArray): Int {
144+
var i: int = 1
145+
146+
while (i <= 5) {
147+
sys::PrintLine(Int(i).ToString())
148+
i = i + 1
149+
}
150+
151+
return 0
152+
}
153+
```
154+
155+
---
156+
157+
## [Code Examples](https://ovum-programming-language.github.io/OvumDocs/reference/code_examples)
111158

112159
### Entry point (`StringArray`)
113160

0 commit comments

Comments
 (0)