forked from nulang-org/nulang
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
120 lines (103 loc) · 3.92 KB
/
Copy pathCargo.toml
File metadata and controls
120 lines (103 loc) · 3.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
[workspace]
members = ["crates/nulang-ai"]
[package]
name = "nulang"
version = "0.13.0-alpha.1"
edition = "2021"
authors = ["David Porkka"]
license = "Apache-2.0"
description = "Nulang - Distributed Actor-Based Programming Language with AI Agent Support"
homepage = "https://nulang.org"
repository = "https://github.com/dporkka/nulang"
documentation = "https://nulang.org"
keywords = ["actor", "distributed", "programming-language", "ai", "compiler"]
categories = ["development-tools", "programming-languages"]
[package.metadata]
# The Nulang *language* version, distinct from the crate `version` above.
# The crate version may rev freely; this moves only on RFC-ratified change to
# Frozen or Stable surfaces (see GOVERNANCE.md and CHANGELOG.md). Recorded in
# every `.nbc` artifact as the `language_version` header field; a runtime
# rejects an artifact whose language version exceeds its own. The runtime
# truth is the `LANGUAGE_VERSION` const in src/format/constants.rs; this field
# is the human-readable mirror.
language-version = "1.0.0-frozen"
[features]
default = ["python", "sqlite", "lsp", "ai-runtime"]
python = ["dep:pyo3"]
sqlite = ["dep:libsql"]
lsp = ["dep:tower-lsp", "dep:tokio"]
ai-runtime = ["dep:nulang-ai", "dep:reqwest", "dep:tokio"]
wasm-backend = ["dep:wasm-encoder", "dep:wasmtime"]
http-client = ["dep:reqwest", "dep:tokio"]
# baked trip count, find_trip_count_hint always returns None). ~2700 lines of
# dead weight in production builds.
simd-experimental = []
# Experimental QUIC transport (disabled: empty stubs, panics in bind()).
quic-experimental = []
[dependencies]
# Memory & concurrency
mimalloc = "0.1"
crossbeam = "0.8"
httparse = "1"
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# Manifest/lockfile parsing for the `nula` package manager
toml = "1"
# Fast hashing for compiler-internal maps (already a transitive dep via cranelift)
rustc-hash = "2"
# Tracing/logging framework for structured diagnostics (zero-cost when off)
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# REPL line editing, history, and completion
rustyline = { version = "15", default-features = false, features = ["with-file-history"] }
# Cranelift JIT backend
cranelift = "0.132"
cranelift-jit = "0.132"
cranelift-module = "0.132"
cranelift-native = "0.132"
cranelift-frontend = "0.132"
# LSP server (optional, see [features])
tower-lsp = { version = "0.20", optional = true }
tokio = { version = "1.37.0", features = ["full", "macros", "net", "rt-multi-thread", "time"], optional = true }
# Python interop (optional, see [features])
pyo3 = { version = "0.29", features = ["auto-initialize", "py-clone"], optional = true }
# libSQL persistence backend (LibsqlStore + remote Turso support)
libsql = { version = "0.10.0-pre.4", optional = true }
# Native library loading
libloading = "0.8"
# AI runtime crate (optional; enabled by the `ai-runtime` feature).
nulang-ai = { path = "crates/nulang-ai", optional = true }
reqwest = { version = "0.12", features = ["json"], optional = true }
wasm-encoder = { version = "0.220", optional = true }
# WASM runtime using Wasmtime (optional, see [features])
wasmtime = { version = "46", optional = true, default-features = false, features = ["cranelift", "runtime", "std", "anyhow", "component-model", "wat"] }
blake3 = "1.8"
quinn = "0.11"
rustls = { version = "0.23", default-features = false, features = ["std", "tls12", "ring", "logging"] }
rcgen = "0.14"
multihash = "0.19.1"
ed25519-dalek = { version = "2.1.1", features = ["rand_core"] }
hex = "0.4.3"
rand_core = { version = "0.6.4", features = ["getrandom"] }
[lib]
name = "nulang"
crate-type = ["rlib", "cdylib"]
path = "src/lib.rs"
[[bin]]
name = "nulang"
path = "src/main.rs"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
[profile.dev]
opt-level = 0
debug = true
incremental = true
split-debuginfo = "unpacked"
[profile.dev.package."*"]
opt-level = 1
[profile.test]
lto = false
codegen-units = 16