Sha256: e938fe200abd2e2760a29df930db1ef070437cc0c0bd800a000064ee59f04920

Contents?: true

Size: 1.53 KB

Versions: 134

Compression:

Stored size: 1.53 KB

Contents

# Flatten Array

Take a nested list and return a single flattened list with all values except nil/null.

The challenge is to write a function that accepts an arbitrarily-deep nested list-like structure and returns a flattened structure without any nil/null values.

For Example

input: [1,[2,3,null,4],[null],5]

output: [1,2,3,4,5]

## Hints

You can think of this data structure as a [`Rose Tree`](https://en.wikipedia.org/wiki/Rose_tree). You are given a data type `'a tree` that represents this data structure.

**Notes**
- For this exercise `Empty` represents `null`
- The nested list is represented by `List [...]`.
- The input example is represented by `List [Elem 1, List [Elem 2, Elem 3, Empty, Elem 4], List [Empty], Elem 5]`


## Loading your exercise implementation in PolyML

```
$ poly --use {exercise}.sml
```

Or:

```
$ poly
> use "{exercise}.sml";
```

**Note:** You have to replace {exercise}.

## Running the tests

```
$ poly -q --use test.sml
```

## Feedback, Issues, Pull Requests

The [exercism/sml](https://github.com/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

Interview Question [https://reference.wolfram.com/language/ref/Flatten.html](https://reference.wolfram.com/language/ref/Flatten.html)

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

Version data entries

134 entries across 134 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.179 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.178 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.177 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.176 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.175 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.174 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.173 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.172 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.171 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.170 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.169 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.167 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.166 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.165 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.164 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.163 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.162 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.161 tracks/sml/exercises/flatten-array/README.md
trackler-2.2.1.160 tracks/sml/exercises/flatten-array/README.md