Skip to content

Commit

Permalink
recognize NoMonomorphismRestriction
Browse files Browse the repository at this point in the history
  • Loading branch information
mauke committed Jun 27, 2013
1 parent 57cbc18 commit dc50517
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 14 deletions.
17 changes: 11 additions & 6 deletions poly.poly
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,14 @@ printf("I'm a C++ program (trigraphs %sabled).\n", \
> bonus -- -- \
> | null details = "" -- -- \
> | otherwise = " (" ++ details ++ ")" -- -- \
> details = intercalate ", " [ name | (enabled, name) <- extensions, enabled ] -- -- \
> details = intercalate ", " [ name | (enabled, name) <- extensions, enabled ] :: String -- -- \
> extensions = -- -- \
> (bangPatterns, "BangPatterns" ) : -- -- \
> (templateHaskell, "TemplateHaskell" ) : -- -- \
> (rebindableSyntax, "RebindableSyntax" ) : -- -- \
> (magicHash, "MagicHash" ) : -- -- \
> (overloadedStrings, "OverloadedStrings") : -- -- \
> (bangPatterns, "BangPatterns" ) : -- -- \
> (templateHaskell, "TemplateHaskell" ) : -- -- \
> (rebindableSyntax, "RebindableSyntax" ) : -- -- \
> (magicHash, "MagicHash" ) : -- -- \
> (overloadedStrings, "OverloadedStrings" ) : -- -- \
> (noMonomorphismRestriction, "NoMonomorphismRestriction") : -- -- \
> [] -- -- \
> (!) = (!!) -- -- \
> bangPatterns = [True] ! 0 -- -- \
Expand All @@ -100,6 +101,10 @@ printf("I'm a C++ program (trigraphs %sabled).\n", \
> "." # _ = False -- -- \
> foo# _ = True -- -- \
> overloadedStrings = "" /= "" -- -- \
> noMonomorphismRestriction = show foo == "0" -- -- \
> where -- -- \
> foo = 0 -- -- \
> bar = foo :: Double -- -- \
> class THC a where -- -- \
> thc :: a -> Bool -- -- \
> instance THC () where -- -- \
Expand Down
17 changes: 9 additions & 8 deletions t/chk.t
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ sh="busybox sh"



plan 23
plan 24
diag "checking $poly ..."

is sh "I'm a sh script." $sh "$poly"
Expand All @@ -78,13 +78,14 @@ is tcl "I'm a tcl script." tclsh "$poly"
is brainfuck "I'm a brainfuck program." $bf "$poly"
tmp="tmp-poly-$$.lhs"
ln -s "$poly" "$tmp"
is haskell "I'm a Literate Haskell program." "$runhaskell" "$tmp"
is haskell-bp "I'm a Literate Haskell program (BangPatterns)." "$runhaskell" -XBangPatterns "$tmp"
is haskell-th "I'm a Literate Haskell program (TemplateHaskell)." "$runhaskell" -XTemplateHaskell "$tmp"
is haskell-rs "I'm a Literate Haskell program (RebindableSyntax)." "$runhaskell" -XRebindableSyntax "$tmp"
is haskell-mh "I'm a Literate Haskell program (MagicHash)." "$runhaskell" -XMagicHash "$tmp"
is haskell-os "I'm a Literate Haskell program (OverloadedStrings)." "$runhaskell" -XOverloadedStrings "$tmp"
is haskell-all "I'm a Literate Haskell program (BangPatterns, TemplateHaskell, RebindableSyntax, MagicHash, OverloadedStrings)." "$runhaskell" -XBangPatterns -XTemplateHaskell -XRebindableSyntax -XMagicHash -XOverloadedStrings "$tmp"
is haskell "I'm a Literate Haskell program." "$runhaskell" "$tmp"
is haskell-bp "I'm a Literate Haskell program (BangPatterns)." "$runhaskell" -XBangPatterns "$tmp"
is haskell-th "I'm a Literate Haskell program (TemplateHaskell)." "$runhaskell" -XTemplateHaskell "$tmp"
is haskell-rs "I'm a Literate Haskell program (RebindableSyntax)." "$runhaskell" -XRebindableSyntax "$tmp"
is haskell-mh "I'm a Literate Haskell program (MagicHash)." "$runhaskell" -XMagicHash "$tmp"
is haskell-os "I'm a Literate Haskell program (OverloadedStrings)." "$runhaskell" -XOverloadedStrings "$tmp"
is haskell-nm "I'm a Literate Haskell program (NoMonomorphismRestriction)." "$runhaskell" -XNoMonomorphismRestriction "$tmp"
is haskell-all "I'm a Literate Haskell program (BangPatterns, TemplateHaskell, RebindableSyntax, MagicHash, OverloadedStrings, NoMonomorphismRestriction)." "$runhaskell" -XBangPatterns -XTemplateHaskell -XRebindableSyntax -XMagicHash -XOverloadedStrings -XNoMonomorphismRestriction "$tmp"
rm "$tmp"
is c "I'm a C program (C89 with // comments, trigraphs disabled)." compile gcc -Wno-trigraphs -Wno-unused -xc "$poly"
is c89 "I'm a C program (C89, trigraphs enabled)." compile gcc -std=c89 -pedantic -W -Wall -Wno-trigraphs -Wno-unused -xc "$poly"
Expand Down

0 comments on commit dc50517

Please sign in to comment.