Dst is a functional and imperative programming language and bytecode interpreter. It is a modern lisp, but lists are replaced by other data structures with better utility and performance (arrays, tables, structs, tuples). The language can also easily bridge to native code written in C, and supports abstract datatypes for interfacing with C. Also support meta programming with macros, and bytecode assembly for the dst abstract machine. The bytecode vm is a register based vm loosely inspired by the LuaJIT bytecode format, but simpler and safer (bytecode can be verified by the assembler). There is a repl for trying out the language, as well as the ability to run script files. This client program is separate from the core runtime, so dst could be embedded into other programs.