HaskellWiki:Syntax highlighting/Breakage: Difference between revisions
No edit summary |
On Intro page, links in Haskell code not working |
||
Line 85: | Line 85: | ||
<haskell> | <haskell> | ||
"a" || True | "a" || True | ||
</haskell> | |||
From the Intro page, '<' isn't linking, (++) goes to (.), (>=) isn't found | |||
<haskell> | |||
qsort [] = [] | |||
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs) | |||
</haskell> | </haskell> |
Latest revision as of 21:13, 12 October 2006
- 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)