kyleect / locks

A toy language branched from Lox to learn language implementation and tooling. Forked from loxcraft
https://kyleect.github.io/locks/#/docs
MIT License
0 stars 0 forks source link

Structs #19

Open kyleect opened 11 months ago

kyleect commented 11 months ago

Updated

Classes but...

struct BlogPost {
  public let id;
  public let title;
  public let content;
}

// Usage

let post = BlogPost {
  id = 0;
  title = "Example Post";
  content = "...";
}

print post; // out: <BlogPost { id = 0; title = "Example Post"; content = "..."; }>
print post.title; // out: Example Post

Original

struct BlogPost {
  id,
  title,
  content
}

// Typed

struct BlogPost {
  id: Int,
  title: String,
  content: String
}

// Usage

var post = BlogPost {
  id = 0;
  title = "Example Post";
  content = "...";
}

print post; // out: <BlogPost { id = 0; title = "Example Post"; content = "..."; }>
print post.title; // out: Example Post