Giter Club home page Giter Club logo

exercism-red's Introduction

Exercism Red Track

configlet

Exercises and a course in Red.

Tooling:

Contributing

Please, see the official contributing guide's Building Tracks section. This track is already published, but there are many things to improve:

There is also some interesting general info about Exercism, but remember it's a legacy documentation and can be outdated and official docs always take precedence:

Exercise ideas

Generally, practice exercises are best taken from Exercism's problem-specifications repository, so the experience is similar for students in every language track. But in case you need some fresh ideas, here are some links with script examples you can check for inspiration, especially in topics specific to Red:

Scripts in Rebol (it's very similar to Red)

Practice exercises

First, read official documentation for background.

Now, here's how we do this in Red track:

  1. Createa an issue to let anybody know which exercises are being worked on,
  2. Clone this repo,
  3. Run our exercise generator, it will create all necessary files for the exercise:
$ red _tools/generate-practice-exercise.red <exercise-slug>
  1. In exercises/practice/<exercise-slug>/<exercise-slug>-test.red make change like this, to test your example solution:
; test-init/limit %exercise-slug.red 1
test-init/limit %.meta/example.red 1
  1. Solve exercise example, by editing exercises/practice/<exercise-slug>/.meta/example.red,
  2. Run tests. You'll need to change second argument of test-init function from 1 to how many tests you want to run in <exercise-slug>-test.red.
$ cd exercises/practice/<exercise-slug>
$ red <exercise-slug>-test.red
  1. Once your solution passes all the tests, remember to revert changes made โ†‘ atpoint 4 in test-init line: uncomment solution file, comment example file and change limit to 1 (second argument).
  2. Change exercise's difficulty in track's config,json. If you want, add practices and prerequisites concepts. Copy exercise's config to proper position, so that all exercises are sorted from easiest to toughest.
  3. Make a commit to a fresh branch and make Pull Requeset.

Concepts

Useful for concepts and concept exercises

Concepts are being developed in separate branch. More info in GitHub task: exercism#37 . There is no common source or list for concepts. Existing ones were created simply from looking at practice exercises example solutions and deducting what's needed to create and understand it.

There is a tool, that counts and prints exercises unlocked by each concept, and exercises that practice the concept:

_tools/concepts-practice.red

Contact

Besides creating issues and commenting in this repository, you are welcome to post on Red's "training" Gitter channel.

exercism-red's People

Contributors

dander avatar davidan-ts avatar dependabot[bot] avatar ee7 avatar erikschierboom avatar exercism-bot avatar ihid avatar kytrinyx avatar loziniak avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.