exercism / generic-track

MIT License
22 stars 22 forks source link

Add the Cadence Language #120

Open jacob-tucker opened 2 years ago

jacob-tucker commented 2 years ago

What programming language should we add? Cadence - the Smart Contract programming language for the Flow blockchain.

What is the official website for the language? https://docs.onflow.org/cadence/

Is this a language that comes in many variants? If so, which variant should we support? No.

Does the language have an official logo? If so

Is there a testing framework available for the language? Yes, you can mess around with Cadence code on the Flow playground here: https://play.onflow.org/

If it is not supported by Highlightjs, what is the closest supported language it maps to? It is not officially supported, likely because this language is still relatively new and is also a part of the Blockchain space, which has not seen wide adoption yet. Although I do see Solidity is listed there.

It is closest to the Swift programming language.

Who will be leading the effort to launch the track? Jacob Tucker (me) and a Decentralized Autonomous Organization (DAO) that is operating to educate members of the Flow community. The DAO acts as a community of people who will continuously produce content to help out in this effort.

ynfle commented 2 years ago

@iHiD and team were on break and probably working through approximately 10 million GitHub notifications. I'm sure you'll be assisted shortly

iHiD commented 2 years ago

Hi there! Thanks for this. Couple of things to check:

  1. Is Cadence turing complete?
  2. What is required to actually run a Cadence program? Thinking of our online editor enviornment for example - what would we need to do (conceptually) to get that running?
jacob-tucker commented 2 years ago

Hey @iHiD , thank you for your response!

  1. Yes Cadence is turing complete.
  2. You can run a Cadence program pretty easily at https://play.onflow.org

Steps to running your first program:

  1. Go to https://play.onflow.org
  2. Click on the 0x01 tab on the left and click 'Deploy.'
  3. Click on the 'Transaction' tab on the left and click 'Submit' on the right hand side.
  4. You'll see in the console that you ran your first program :)
kytrinyx commented 2 years ago

This must have gotten lost. So sorry about that!

@jacob-tucker you've linked to play.onflow.org but this is not a testing framework, and it also doesn't help us understand what we would have to do in order to build out the environment to support the language within the Exercism platform.

From the little digging that I've done, I'm not sure this is something that we can support at the moment, but I'd be happy to be proven wrong on that point!