The GNU sed manual offers the following to join backslash-continued lines:

sed -e ':x /\\$/ { N; s/\\\\\\n//g ; bx }' FILE.txt

To demonstrate,

this \
is \
a \
long \
line
and another \
line

is formatted as:

this is a long line
and another line

We can achieve this in Jacinda by folding

fn go(acc, line) :=
  option (acc+'\n'+line) [x+line] (acc ~\* 1 /([^\\\\]*)\\\\/);

go|>$0

This is much more direct and easier to follow than the sed, despite its prolixity. However, it builds up a whole string rather than streaming; the whole output is stored in memory rather than one output line at a time.

To stream, we can use a scan and :? (mapMaybe), viz.

@include'prelude/fn.jac'

fn go(acc, line) :=
  let
    val accStr := fromMaybe '' (acc->1)
  in
    option (None . Some (accStr+line)) [(Some (accStr+x) . None)] (line ~\* 1 /([^\\\\]*)\\\\/)
  end;

\[x->2]:?(go^(None.None) $0)

The lack of pattern-matching on tuples in Jacinda is unsatisfying.

As a parting shot, AWK:

awk 'BEGIN {RS=/[^\\\\]\\n/} { gsub(/\\\\\\n/, "", $0); print }' FILE.txt | head -n'-1'