Sha256: ba4cdbd1b6aa78a1b085bab7a07c352d63d49ee9c81ce23974c9ad1de4482da8

Contents?: true

Size: 1.26 KB

Versions: 46

Compression:

Stored size: 1.26 KB

Contents

# Accumulate

Implement the `accumulate` operation, which, given a collection and an
operation to perform on each element of the collection, returns a new
collection containing the result of applying that operation to each element of
the input collection.

Given the collection of numbers:

- 1, 2, 3, 4, 5

And the operation:

- square a number (`x => x * x`)

Your code should be able to produce the collection of squares:

- 1, 4, 9, 16, 25

Check out the test suite to see the expected function signature.

## Restrictions

Keep your hands off that collect/map/fmap/whatchamacallit functionality
provided by your standard library!
Solve this one yourself using other basic tools instead.

Lisp specific: it's perfectly fine to use `MAPCAR` or the equivalent,
as this is idiomatic Lisp, not a library function.

## Running the tests

Even though there are multiple implementations, we encourage to use Poly/ML.

```
$ poly -q < test_{ exercise }.sml
```

If you want to start an interactive session:
```
$ poly --use test_{ exercise }.sml
```

## Source

Conversation with James Edward Gray II [https://twitter.com/jeg2](https://twitter.com/jeg2)

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

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
trackler-2.2.1.42 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.41 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.40 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.39 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.38 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.37 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.36 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.35 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.34 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.33 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.32 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.31 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.30 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.29 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.28 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.27 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.26 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.25 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.24 tracks/sml/exercises/accumulate/README.md
trackler-2.2.1.23 tracks/sml/exercises/accumulate/README.md