aboutsummaryrefslogtreecommitdiff
path: root/test/formatters
diff options
context:
space:
mode:
authornohz.afk <149959021+nohzafk@users.noreply.github.com>2024-10-18 01:50:27 +0200
committerGitHub <noreply@github.com>2024-10-17 16:50:27 -0700
commitb9cd808a91d0a1372dd86b150eaa6605de6c0ec0 (patch)
tree47481b1cd59f5e27435069c5e393f316707fcf14 /test/formatters
parent4e00c9ce49ed7a854f34677ffccb24ddbcf7e469 (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.bash5
-rw-r--r--test/formatters/samplecode/gleam/in.gleam20
-rw-r--r--test/formatters/samplecode/gleam/out.gleam13
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, <<>>)
+}