Introducing Cadence, A New Resource-Oriented Language

Hello Movers!

My name is Dieter Shirley, and I’m the co-creator of CryptoKitties and the CTO of Dapper Labs.

Our team has been working on the Flow blockchain for a couple of years now, and – like the Libra team – created a new programming language inspired by linear types for our smart contracts. We like to call this new paradigm “resource-oriented programming”, and our language, Cadence, is the first high-level resource-oriented programming language available for use.

Cadence is designed to be easy to read and write, with a familiar syntax inspired by Rust and Swift. Of course, it has Move-style resources built into it as a core concept, with a built in <- operator for moving resources between variables (let x <- y instead of let x = y). It uses a strong, static type system to minimize runtime errors, and allows all methods, interfaces, and transactions to include pre- and post-conditions to enforce expected behaviour (“design by contract”). This results in a language that is easier to learn, significantly easier to audit, and ultimately much more productive than any current alternatives.

Cadence is currently an interpreted language, but I’m excited to say we are working with @sam and the rest of the Move team to find a way to compile Cadence down to Move bytecode for execution on the Move VM. (More details coming soon!)

In the meantime, you can try out Cadence today by using our web-based playground at play.onflow.org. If you act fast, you can join round 2 of the Cadence Cup, a fun, async hackathon that let’s you show off your smart contract skillz to other resource-oriented developers. This week’s challenge: Create a resource-oriented smart contract that enables groups to vote on various actions and outcomes, as per a DAO.

You can read more about Cadence (with a primer on resource-oriented programming) here.

27 Likes

Hi there.
I refer to your email you send me. I am interested in libra because, as an entrepreneur it seems an opportunity to build a. business startup to promote the digital currency and reap some benefits.

Being computer literate and business minded I have read through the document and engaged myself through the community. I have created a group on Facebook which numbers 200 plus and increasing day by day.

Now I wish to create an exchange in order to distribute the libra wallet and give value to Libra by buying and selling libra.

I am not a programmer and think that according to your mail you can be useful technically to my project and evemtually any future ones.

Regards

Harold Marie

:mauritius: Libra (Mauritius)