Skip to content

Commit

Permalink
Merge pull request #269 from koto-lang/derive-macros
Browse files Browse the repository at this point in the history
Introduce macros for deriving KotoObject traits
  • Loading branch information
irh authored Dec 24, 2023
2 parents da1aa8b + 4cfd2d9 commit 1b6b925
Show file tree
Hide file tree
Showing 121 changed files with 1,268 additions and 991 deletions.
13 changes: 12 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,19 @@ The format of this changelog is based on
The Koto project adheres to
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Unreleased
## [0.13.0] Unreleased

### Added

#### Language

- The `+` operator has been reintroduced for tuples, lists, and maps.

#### API

- The `koto_derive` crate has been introduced containing derive macros that make
it easier to implement `KotoObject`s.

### Changed

#### Core Library
Expand All @@ -31,6 +36,12 @@ The Koto project adheres to
- e.g.
`export { edit_mode: 'vi' }` is now `export { repl: { edit_mode: 'vi' }}`

### Removed

#### API

- `ObjectEntryBuilder` has been replaced with macros from `koto_derive`.


## [0.12.0] 2023.10.18

Expand Down
31 changes: 21 additions & 10 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 7 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[workspace]
members = ["core/*", "examples/*", "libs/*"]
members = ["crates/*", "examples/*", "libs/*"]
resolver = "2"

[workspace.dependencies]
Expand Down Expand Up @@ -37,8 +37,12 @@ nannou_core = "0.18.0"
palette = "0.7.2"
# An ultra simple CLI arguments parser.
pico-args = { version = "0.3.4", default-features = false }
# A substitute implementation of the compiler's `proc_macro` API
proc-macro2 = "1.0.70"
# A pull parser for CommonMark
pulldown-cmark = { version = "0.9.1", default-features = false }
# Quasi-quoting macro quote!(...)
quote = "1.0.33"
# Random number generators and other randomness functionality.
rand = "0.8.5"
# ChaCha random number generator
Expand All @@ -55,6 +59,8 @@ serde_json = { version = "1.0.0", features = ["preserve_order", "std"] }
serde_yaml = "0.8.20"
# 'Small vector' optimization: store up to a small number of items on the stack
smallvec = { version = "1.11.1", features = ["const_generics", "union"] }
# Parser for Rust source code
syn = { version = "2.0.41", features = ["full"] }
# A library for managing temporary files and directories.
tempfile = "3.1"
# A crate for getting the crate binary in an integration test.
Expand Down
198 changes: 0 additions & 198 deletions core/runtime/src/core_lib/os.rs

This file was deleted.

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
1 change: 0 additions & 1 deletion core/bytecode/src/lib.rs → crates/bytecode/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
//!
//! Contains Koto's compiler and its bytecode operations

#![warn(missing_docs)]
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
18 changes: 18 additions & 0 deletions crates/derive/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[package]
name = "koto_derive"
version = "0.13.0"
authors = ["irh <ian.r.hobson@gmail.com>"]
edition = "2021"
license = "MIT"
description = "Macros for working with the Koto programming language"
homepage = "https://koto.dev"
repository = "https://github.com/koto-lang/koto"
keywords = ["scripting", "language", "koto"]

[lib]
proc-macro = true

[dependencies]
proc-macro2 = { workspace = true }
quote = { workspace = true }
syn = { workspace = true }
Loading

0 comments on commit 1b6b925

Please sign in to comment.