Yolc

A safe, expressive, fun language for Ethereum

-- ⭐ pattern matching coming to Ethereum
\x y def -> match (x + y) \case
  Nothing -> def  -- number overflown
  Just z  -> z    -- just do it

-- enforced linear type safety for side effects
sputs $ -- ⚠️ after this, data version increased by 1
  senderBalanceRef   := newSenderBalance   :|
  receiverBalanceRef := newReceiverBalance : []

-- linearly versioned data is here to help: --->
-- 🌟 reentrance vulnerability gone forever 🌟
externalCall onTokenMinted hackerAccount mintAmount

Safe

Yolc is purely functional with linear-type safety and is made for the Ethereum virtual machine.

What does linear type safety mean here? (Coming soon...)

Expressive

Yolc embeds itself in the Haskell language before being compiled into Solidity/Yul code.

What does embedding mean here to expressiveness? (Coming soon...)

Fun

Yolc allows you to write safe code in production, a joyful experience for super coders.

How can I get started?