Giter Club home page Giter Club logo

advent-of-cljc's Introduction

Advent of CLJC

CircleCI

Cross platform Clojure Advent of Code solutions.

scores

Contribute

What's in it for you?

  • Most of all, you will be encouraged to write portable Clojure code: a solution that runs on the JVM via Clojure and on Node via ClojureScript.
  • Your Advent of Code solutions will be checked against the same input as others. This diminishes the possibility that your solution only works for your specific input.
  • The performance of your solution can be compared with others via CircleCI (see Scores).

What's in it for the Clojure community?

  • You are helping advance the speculative project, a collection of core specs.
  • You are helping to build a large Clojure corpus for various purposes (see the Rationale for coal-mine).

PRs welcome. Make a new solution file with the new script:

script/new 2017 1 username

where username is your Github or Bitbucket username. Then fill in the solution in the file. If the input and answers are still empty you will have to provide it in data.cljc.

This repo will not accept multiple inputs and answers (see this issue for details).

Dev

Read here how to get an nREPL for this project.

Tests

Make sure the tests for your solution pass with the test-one script.

Please do not run calculations outside the tests. Memoized functions are permitted. Top-level lazy sequences are fine as long as they are not realized outside the tests.

CircleCI runs tests for changed namespaces with the .circle/test-diff script.

Tests support the following metadata:

  • :skip-cljs: used for skipping Node tests. Used in .circle/test-diff, script/test and script/test-one.
  • :slow: used for skipping long running tests. Only used in script/test.

Run all tests:

script/test

Run one test:

script/test-one 2017 1 username

Run with instrumentation:

INSTRUMENT=true script/test
INSTRUMENT=true script/test-one aoc.y2017.d01.username

Skip Clojure or ClojureScript:

SKIP_CLJ=true script/test
SKIP_CLJS=true script/test

Scores

To view a time comparison of your solutions to others, go to CircleCI, open "Test changed namespaces" and scroll to the end.

The entire list of scores can be viewed and downloaded in CSV format here.

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.