HaskellWiki:Syntax highlighting/Breakage
- Now fixed, see talk page.
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
Specifically, if they have two or more letters, they seem to fail:
a || Ab
More evidence:
Ab || a
a || Ab
Ab || 'a'
'a' || Ab
Ab || "a"
"a" || Ab
"a" || True
From the Intro page, '<' isn't linking, (++) goes to (.), (>=) isn't found
qsort [] = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)