Giter Site home page Giter Site logo

rosetta-rock's Introduction

rosetta-rock

Project for building a rosetta-code repository based on http://rosettacode.org programming chrestomathy.

The goal of this project is to have a command-line utility that can be used to create and manage programming problem-set and solutions in various languages. The idea is to have a quick way to add a 'problem' to a github repo or source folder, then point to a description, input, and output files, and then build various 'solutions' for each problem using 'languages'. To make the repo browsable and relatable, the idea is to have the problem_repo and solutions located in the same location, and automatically generate a language_repo using github's README syntax to link all of the solutions for each language.

  problem_repo
  > problem
    - name # the short problem name - will be the directory name also
    - short_description # a short description of the problem for the readme
    - long_description # a long description (usually a separate file) with the full problem details
    - source_link # a url or other link to attribute the original problem source
    - input # file(s) to pass into the executable - e.g. text input, pictures, etc.
    - output # expected result(s) from solving the problem (optional)
    - solution(s)
       + source # the source code to solve the problem
       + language # the programming language to use (links to language_repo)
       + executable # the location of a compiled executable if the compiler support isn't available yet - e.g. esoteric languages or complex languages
       + command # the command-line string to execute and solve the problem - e.g. java -jar RobotMow.jar lawns.txt
       + notes # any additional notes about the problem set that should be stored in a separate file and displayed on the readme.
  language_repo
  > language # a root location for a supported language
      x version # what version / edition to use, if it matters (it usually will)
      x compiler # what compiler to use to allow automatic processing
      x command_builder # if possible, a utility to build executables and commands for solutions
      - notes # additional notes about a language outside solutions
      - example(s) # additional language examples outside problem_sets and solutions
    *** (link to solutions) ***

rosetta-rock's People

Contributors

nealsr avatar

Stargazers

Dan Wiechert avatar

Watchers

James Cloos avatar  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.