Skip to main content
-5
Source Link

Haskell, 2828 23 bytes

f(x:y:z)=x==y&&f|x==y=f z f z=z==[]f[]=1 

Try it online!Try it online!

Very straightforward. Double speak is only empty or a repeated character prepended to double speak.

Less straightforward now. Outputs via presence or absence of an error, per meta consensus; no error means double speak. Pattern matching fails when the first two characters differ or when there are an odd number of characters. Thanks to Laikoni for these savings!

Haskell, 28 bytes

f(x:y:z)=x==y&&f z f z=z==[] 

Try it online!

Very straightforward. Double speak is only empty or a repeated character prepended to double speak.

Haskell, 28 23 bytes

f(x:y:z)|x==y=f z f[]=1 

Try it online!

Very straightforward. Double speak is only empty or a repeated character prepended to double speak.

Less straightforward now. Outputs via presence or absence of an error, per meta consensus; no error means double speak. Pattern matching fails when the first two characters differ or when there are an odd number of characters. Thanks to Laikoni for these savings!

Source Link

Haskell, 28 bytes

f(x:y:z)=x==y&&f z f z=z==[] 

Try it online!

Very straightforward. Double speak is only empty or a repeated character prepended to double speak.