Stop fighting your data. Let dataType win.
Most languages make you choose between the safety of structs and the convenience of maps. Chuks gives you both, with built-in validation, generics, embedding, and nullable safety baked right into the type system.
chuks dataType is a lightweight, fields-only container. No constructor boilerplate. No class overhead. Initialize with a map literal and the compiler checks every field.
@validate: one annotation, full validation.
Attach validation rules directly to fields. Call validate(x) and get back every error. No third-party library. No schema duplication. It lives with your data.
Custom validators: your rules, first class
Need a strongPassword rule? Write a function, annotate it with @validator, and use it in any dataType across your whole codebase, including imported modules.
Nullable types + type narrowing
Append ? to any type and it can hold null. Chuks does control-flow analysis, after a null guard, the compiler narrows the type automatically. No casts. No optional chaining syntax. The compiler just knows.
Embedding: compose shapes, not hierarchies
Embed one dataType inside another, and its fields are promoted directly. The Go embedding model without the Go verbosity. Perfect for Auditable, Identifiable, and any shared schema pattern.
@json — rename fields for the wire
Your internal field names stay clean. Your API contract stays happy. One annotation handles both serialization and parsing, no mapping layer needed.
Read more chuks
Follow chukslang on X: https://x.com/Chukslang
Join chukslang community: https://cleset.com/community/ChuksProgrammingLanguage?t=567d480d-7a28-4782-b8d0-db097adc2010




