ajb:
> Quoting George Russell <[EMAIL PROTECTED]>:
> 
> > The following declaration for a function for converting positive
> > integers to Roman numerals is 181 characters long.
> >
> > Is there a shorter one?
> 
> Being a judge, I can't write your obfuscated haskell contest entry for
> you.  However, as a suggestion, you may be able to merge the if-then-else
> with the guard syntax.  That should save a few characters.
> 
> > roman=f[(i-j,i)|i<-[2,4..8],j<-[2,1]]where
> > f(d@((a,b):c))n|n<1=""|n>=t!!a=s!!a:f d(n-t!!a)|1>0=if n+t!!b>=t!!a then
> > s!!b:f d(n+t!!b)else f c n;s="mdclxvi";t=[1000,500,100,50,10,5,1]

I feel that obfuscated code should always have no space characters, and
line-justified such that each line has the same width, and have the
minimal number of keywords possible. And who uses alpha-numerics for
varsyms anyway -- throw them out! All this is easy to achieve by turning
off layout syntax, using extra parens, and rewriting keywords into
lambda abstractions.

At some point one loses the goal of writing the least number of
characters, and instead looks for the most unreadable code. The point at
which this happens should have a name.. Perhaps "the obfuscation horizon"
- the point from which no code returns? Witness
              http://www.cse.unsw.edu.au/~dons/pretty.html 
as an example of this syndrome.

-- Don
_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to