diff options
| author | nohz.afk <149959021+nohzafk@users.noreply.github.com> | 2024-10-18 01:50:27 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-17 16:50:27 -0700 |
| commit | b9cd808a91d0a1372dd86b150eaa6605de6c0ec0 (patch) | |
| tree | 47481b1cd59f5e27435069c5e393f316707fcf14 /test/formatters | |
| parent | 4e00c9ce49ed7a854f34677ffccb24ddbcf7e469 (diff) | |
support gleam language (#325)
support gleam language
---------
Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
Diffstat (limited to 'test/formatters')
| -rw-r--r-- | test/formatters/installers/gleam.bash | 5 | ||||
| -rw-r--r-- | test/formatters/samplecode/gleam/in.gleam | 20 | ||||
| -rw-r--r-- | test/formatters/samplecode/gleam/out.gleam | 13 |
3 files changed, 38 insertions, 0 deletions
diff --git a/test/formatters/installers/gleam.bash b/test/formatters/installers/gleam.bash new file mode 100644 index 0000000..bef5316 --- /dev/null +++ b/test/formatters/installers/gleam.bash @@ -0,0 +1,5 @@ +ver="$(latest_release gleam-lang/gleam)" + +wget "https://github.com/gleam-lang/gleam/releases/download/${ver}/gleam-${ver}-x86_64-unknown-linux-musl.tar.gz" -O /tmp/gleam.tar.gz +tar -xzf /tmp/gleam.tar.gz -C /usr/local/bin +chmod +x /usr/local/bin/gleam diff --git a/test/formatters/samplecode/gleam/in.gleam b/test/formatters/samplecode/gleam/in.gleam new file mode 100644 index 0000000..f0f93e9 --- /dev/null +++ b/test/formatters/samplecode/gleam/in.gleam @@ -0,0 +1,20 @@ +fn encode_( + dna: List(Nucleotide), + acc: BitArray +) { + case dna { + [] -> acc + [first, ..rest] -> + { + let nbit = encode_nucleotide(first) + encode_(rest, + <<acc:bits, nbit:size(2)>>) + } + } +} + +pub fn encode(dna: List(Nucleotide) ) + -> BitArray +{ + encode_(dna, <<>>) +} diff --git a/test/formatters/samplecode/gleam/out.gleam b/test/formatters/samplecode/gleam/out.gleam new file mode 100644 index 0000000..0e54b50 --- /dev/null +++ b/test/formatters/samplecode/gleam/out.gleam @@ -0,0 +1,13 @@ +fn encode_(dna: List(Nucleotide), acc: BitArray) { + case dna { + [] -> acc + [first, ..rest] -> { + let nbit = encode_nucleotide(first) + encode_(rest, <<acc:bits, nbit:size(2)>>) + } + } +} + +pub fn encode(dna: List(Nucleotide)) -> BitArray { + encode_(dna, <<>>) +} |
