From 94d481c940fb36da896e2e80a62f39d849477f53 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 2 Jul 2026 16:32:26 +0100 Subject: Add inductive data types example --- examples/05-native-type/hobgoblin.json5 | 19 ----------- examples/05-native-type/output/java/.gitignore | 2 -- examples/05-native-type/output/java/pom.xml | 39 ---------------------- .../src/main/java/org/zwobble/example/Main.java | 10 ------ .../example/types/point/HobgoblinNativePoint.java | 7 ---- .../org/zwobble/example/types/point/Point.java | 4 --- examples/05-native-type/output/rust/.gitignore | 1 - examples/05-native-type/output/rust/Cargo.lock | 7 ---- examples/05-native-type/output/rust/Cargo.toml | 6 ---- .../05-native-type/output/rust/rust-toolchain.toml | 2 -- .../05-native-type/output/rust/src/gen/point.rs | 7 ---- examples/05-native-type/output/rust/src/main.rs | 7 ---- examples/05-native-type/output/rust/src/point.rs | 3 -- examples/05-native-type/src/point.hob | 8 ----- 14 files changed, 122 deletions(-) delete mode 100644 examples/05-native-type/hobgoblin.json5 delete mode 100644 examples/05-native-type/output/java/.gitignore delete mode 100644 examples/05-native-type/output/java/pom.xml delete mode 100644 examples/05-native-type/output/java/src/main/java/org/zwobble/example/Main.java delete mode 100644 examples/05-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java delete mode 100644 examples/05-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java delete mode 100644 examples/05-native-type/output/rust/.gitignore delete mode 100644 examples/05-native-type/output/rust/Cargo.lock delete mode 100644 examples/05-native-type/output/rust/Cargo.toml delete mode 100644 examples/05-native-type/output/rust/rust-toolchain.toml delete mode 100644 examples/05-native-type/output/rust/src/gen/point.rs delete mode 100644 examples/05-native-type/output/rust/src/main.rs delete mode 100644 examples/05-native-type/output/rust/src/point.rs delete mode 100644 examples/05-native-type/src/point.hob (limited to 'examples/05-native-type') diff --git a/examples/05-native-type/hobgoblin.json5 b/examples/05-native-type/hobgoblin.json5 deleted file mode 100644 index a0f60c3..0000000 --- a/examples/05-native-type/hobgoblin.json5 +++ /dev/null @@ -1,19 +0,0 @@ -{ - outputs: { - langs: { - java: { - packageName: "org.zwobble.example.types", - }, - }, - generators: [ - { - generator: "java-types", - path: "output/java/src/gen/java", - }, - { - generator: "rust-types", - path: "output/rust/src/gen", - }, - ], - }, -} diff --git a/examples/05-native-type/output/java/.gitignore b/examples/05-native-type/output/java/.gitignore deleted file mode 100644 index ff511d4..0000000 --- a/examples/05-native-type/output/java/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/src/gen/ -/target/ diff --git a/examples/05-native-type/output/java/pom.xml b/examples/05-native-type/output/java/pom.xml deleted file mode 100644 index 7493667..0000000 --- a/examples/05-native-type/output/java/pom.xml +++ /dev/null @@ -1,39 +0,0 @@ - - 4.0.0 - - org.zwobble.hobgoblin.examples - example - 1.0-SNAPSHOT - - - UTF-8 - 25 - 25 - - - - - - org.codehaus.mojo - build-helper-maven-plugin - 3.6.1 - - - add-source - generate-sources - - add-source - - - - src/gen/java - - - - - - - - diff --git a/examples/05-native-type/output/java/src/main/java/org/zwobble/example/Main.java b/examples/05-native-type/output/java/src/main/java/org/zwobble/example/Main.java deleted file mode 100644 index b2efcc1..0000000 --- a/examples/05-native-type/output/java/src/main/java/org/zwobble/example/Main.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.zwobble.example; - -import org.zwobble.example.types.point.Line; -import org.zwobble.example.types.point.Point; - -public class Main { - public static void main() { - Line line = new Line(new Point(10, 25), new Point(25, 10)); - } -} diff --git a/examples/05-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java b/examples/05-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java deleted file mode 100644 index bdb5427..0000000 --- a/examples/05-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.zwobble.example.types.point; - -public class HobgoblinNativePoint { - public static Point arbitraryPoint() { - return new Point(0, 0); - } -} diff --git a/examples/05-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java b/examples/05-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java deleted file mode 100644 index cd26290..0000000 --- a/examples/05-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java +++ /dev/null @@ -1,4 +0,0 @@ -package org.zwobble.example.types.point; - -public record Point(int x, int y) { -} diff --git a/examples/05-native-type/output/rust/.gitignore b/examples/05-native-type/output/rust/.gitignore deleted file mode 100644 index ea8c4bf..0000000 --- a/examples/05-native-type/output/rust/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/target diff --git a/examples/05-native-type/output/rust/Cargo.lock b/examples/05-native-type/output/rust/Cargo.lock deleted file mode 100644 index 9dc6e3e..0000000 --- a/examples/05-native-type/output/rust/Cargo.lock +++ /dev/null @@ -1,7 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 4 - -[[package]] -name = "example" -version = "0.1.0" diff --git a/examples/05-native-type/output/rust/Cargo.toml b/examples/05-native-type/output/rust/Cargo.toml deleted file mode 100644 index 5d4c622..0000000 --- a/examples/05-native-type/output/rust/Cargo.toml +++ /dev/null @@ -1,6 +0,0 @@ -[package] -name = "example" -version = "0.1.0" -edition = "2024" - -[dependencies] diff --git a/examples/05-native-type/output/rust/rust-toolchain.toml b/examples/05-native-type/output/rust/rust-toolchain.toml deleted file mode 100644 index 4fedb95..0000000 --- a/examples/05-native-type/output/rust/rust-toolchain.toml +++ /dev/null @@ -1,2 +0,0 @@ -[toolchain] -channel = "1.96" diff --git a/examples/05-native-type/output/rust/src/gen/point.rs b/examples/05-native-type/output/rust/src/gen/point.rs deleted file mode 100644 index 01c9d43..0000000 --- a/examples/05-native-type/output/rust/src/gen/point.rs +++ /dev/null @@ -1,7 +0,0 @@ -// Generated by hobgoblin. - -/// A straight line from one point to another. -pub struct Line { - pub start: crate::point::Point, - pub end: crate::point::Point, -} diff --git a/examples/05-native-type/output/rust/src/main.rs b/examples/05-native-type/output/rust/src/main.rs deleted file mode 100644 index 4bd1cd0..0000000 --- a/examples/05-native-type/output/rust/src/main.rs +++ /dev/null @@ -1,7 +0,0 @@ -mod point; - -use point::{Line, Point}; - -fn main() { - let line = Line { start: Point(10, 25), end: Point(25, 10) }; -} diff --git a/examples/05-native-type/output/rust/src/point.rs b/examples/05-native-type/output/rust/src/point.rs deleted file mode 100644 index bc04e56..0000000 --- a/examples/05-native-type/output/rust/src/point.rs +++ /dev/null @@ -1,3 +0,0 @@ -include!("gen/point.rs"); - -pub struct Point(pub i32, pub i32); diff --git a/examples/05-native-type/src/point.hob b/examples/05-native-type/src/point.hob deleted file mode 100644 index 7178dcb..0000000 --- a/examples/05-native-type/src/point.hob +++ /dev/null @@ -1,8 +0,0 @@ -native Point { -} - -/// A straight line from one point to another. -struct Line { - field start: Point; - field end: Point; -} -- cgit v1.2.3