:- use_module(library(tidylog), [codes_term/2]).
:- use_module(library(tap)).


'quoted atom: read' :-
    codes_term(`'hello world'.`, T),
    T == 'hello world'.

'quoted atom: write' :-
    codes_term(C, 'hello world'),
    C = `'hello world'.`.

'plain atom: write' :-
    codes_term(C,howdy),
    C = `howdy.`.

'string: read' :-
    codes_term(`"some words".`, T),
    T == "some words".

'string: write' :-
    codes_term(C, "some words"),
    C == `"some words".`.

'slash s: read' :-
    codes_term(`"one\\stwo".`,T),
    T == "one two".

'slash n: read' :-
    codes_term(`\`above\\nbelow\`.`, T),
    T = `above\nbelow`.

'slash n: write' :-
    codes_term(C, `above\nbelow`),
    C == `\`above\\nbelow\`.`.