Difference between revisions of "HaskellWiki:Syntax highlighting/Breakage"

From HaskellWiki
Jump to: navigation, search
Line 60: Line 60:
 
<haskell>
 
<haskell>
 
"a" || isDigit 5
 
"a" || isDigit 5
  +
</haskell>
  +
  +
Possible counterexample to 'constructors don't work':
  +
<haskell>
  +
a || A
 
</haskell>
 
</haskell>

Revision as of 13:25, 10 June 2006

This page is an attempt to find a minimal criminal for the bugs in GeSHi, the syntax highlighter that powers <haskell> and <hask> on the Haskell wiki.

x == '-' || True

That breaks.

x :: String
x = map toUpper "hello"

Subsequent <haskell> blocks seem to independant of the breakages.

False || True

Looks like the (||) operator is causing the problems.

a || b

However, that works. Perhaps it only breaks when using literals?

'a' || 'b'

No, characters work too.

'a' || True
True || 'a'
5 || 'a'
'a' || 5
5 || True
True || 5

Any kind of attempt to mix literals of different types breaks.

'a' || 'b' -- chars work
 "a" || "b" -- strings work

I think any number or constructor on either side of the || makes it break.

 f 5 || g 6
 f 'a' || g 6

Function application with numbers fails too.

Mixing "a", 'a', or a on one side and a function taking the same on the other works:

"a" || isDigit 'a'

However, with a numeric argument, it's wrong:

"a" || isDigit 5

Possible counterexample to 'constructors don't work':

a || A