RosettaCodeData/Task/Determine-if-a-string-is-collapsible/Prolog/determine-if-a-string-is-collapsible.pro
2023-07-01 13:44:08 -04:00

9 lines
295 B
Prolog

collapse_( [], [] ).
collapse_( [A], [A] ).
collapse_( [A,A|T], R ) :- collapse_( [A|T], R ).
collapse_( [A,B|T], [A|R] ) :- dif( A, B ), collapse_( [B|T], R ).
collapse( Str, Collapsed ) :-
string_chars( Str, Chars ),
collapse_( Chars, Result ),
string_chars( Collapsed, Result ).