Tips for golfing in Clean What general tips do you have for golfing in Clean? Please post only ideas that can be applied to code golf problems in general, and are at least somewhat specific to Clean.

If you've never heard of Clean, you can find out more here.
Or, you can join the chat room.
Avoid import StdEnv when possible

To access built-in functions, even seemingly basic ones like (==) or map, an import statement is needed, usually import StdEnv because it imports the most common modules like StdInt, StdBool and so on (see here for more info on StdEnv).

However it can be possible to avoid this import for some challenges and just use the core language features like list comprehensions and pattern matching.

For example, instead of 

import StdEnv 
map f list


one can write

[f x\\x&lt;-list]


List of alternatives:

Some functions or function invocations that need import StdEnv, an alternative that does not need the import and a rough estimate of bytes saved. 


hd -> (\[h:_]=h), ~6 bytes
tl -> (\[_:t]=t), ~6 bytes
map f list -> [f x\\x&lt;-list], ~10 bytes
filter p list -> [x\\x&lt;-list|p x], ~11 bytes
(&amp;&amp;) -> %a b|a=b=a;%, ~6 bytes
(||) -> %a b|a=a=b;%, ~6 bytes
not -> %a|a=False=True;%, ~1 byte
and -> %[a:r]|a= %r=a;%_=True, ~0 bytes
or -> %[a:r]|a=a= %r;%_=False, ~0 bytes


The last few are unlikely to actually save bytes, because a direct replacement yields more bytes than the import, but it might be possible in cases where the recursion over the list is needed anyway.

This tip has successfully been used here.