1
exercism fetch sml two-fer

Two Fer

Two-fer or 2-fer is short for two for one. One for you and one for me.

1
"One for X, one for me."

When X is a name or "you".

If the given name is "Alice", the result should be "One for Alice, one for me." If no name is given, the result should be "One for you, one for me."

Test-Driven Development

As programmers mature, they eventually want to test their code.

Here at Exercism we simulate Test-Driven Development (TDD), where you write your tests before writing any functionality. The simulation comes in the form of a pre-written test suite, which will signal that you have solved the problem.

It will also provide you with a safety net to explore other solutions without breaking the functionality.

A typical TDD workflow on Exercism:

  1. Run the test file and pick one test that's failing.
  2. Write some code to fix the test you picked.
  3. Re-run the tests to confirm the test is now passing.
  4. Repeat from step 1.
  5. Submit your solution (exercism submit /path/to/file)

Instructions

Submissions are encouraged to be general, within reason. Having said that, it's also important not to over-engineer a solution.

It's important to remember that the goal is to make code as expressive and readable as we can.

Loading your exercise implementation in PolyML

1
$ poly --use {exercise}.sml

Or:

1
2
$ poly
> use "{exercise}.sml";

Note: You have to replace {exercise}.

Running the tests

1
$ poly -q --use test.sml

Feedback, Issues, Pull Requests

The exercism/sml repository on GitHub is the home for all of the Standard ML exercises.

If you have feedback about an exercise, or want to help implementing a new one, head over there and create an issue. We'll do our best to help you!

Source

This is an exercise to introduce users to basic programming constructs, just after hello World. https://en.wikipedia.org/wiki/Two-fer

Submitting Incomplete Solutions

It's possible to submit an incomplete solution so you can see how others have completed the exercise.