[fix various spelling/grammer issues with help files. add pragma.mkd help file
John Meacham <john@repetae.net>**20080221021549] hunk ./docs/differences.mkd 5
+## Language Differences
+
+* Class contexts on data types are silently ignored.
+
hunk ./docs/differences.mkd 11
-In addition to a larger set of base libraries roughly modeled on ghc's base.
-jhc provides a number of extensions/minor modifications to the standard
-libraries. These are designed to be mostly backwards compatable and most are
+In addition to a larger set of base libraries roughly modeled on GHC's base.
+Jhc provides a number of extensions/minor modifications to the standard
+libraries. These are designed to be mostly backwards compatible and most are
hunk ./docs/differences.mkd 17
-   coorespond to the C types uintptr_t, uintmax_t, intptr_t, and uintmax_t
+   correspond to the C types uintptr_t, uintmax_t, intptr_t, and intmax_t
hunk ./docs/differences.mkd 21
-   by the type. this is often beneficial as instances that need to share
-   partial applications are rare. this behavior can be turned off with the
+   by the type. This is often beneficial as instances that need to share
+   partial applications are rare. This behavior can be turned off with the
hunk ./docs/differences.mkd 31
-      netative argumenst, use the general 'shift' routine. 'shift' also comes
+      negative arguments, use the general 'shift' routine. 'shift' also comes
hunk ./docs/differences.mkd 37
-* floating point trucation and rounding functions have varieties that don't
+* floating point truncation and rounding functions have varieties that don't
hunk ./docs/differences.mkd 39
-   as its argument. these have the same name but end in 'f'.
+   as its argument. These have the same name but end in 'f'.
hunk ./docs/differences.mkd 47
- * Int's may be only 30 bits and may not observe simple binary truncation on
-   overflow. If you need known bitwidth and binary semantics for your numbers
-   then use the types in Data.Int and Data.Word
+ * An Int may be only 30 bits and may not observe simple binary truncation on
+   overflow. If you need known bit width and binary semantics for your numbers
+   then use the types in Data.Int and Data.Word. Overflow on Int or Word has
+   undefined results.
hunk ./docs/differences.mkd 52
- * Char's only preserve values within the unicode range. trying to store
-   values > 0x10FFFF may be truncated.
+ * A Char may only preserve values within the Unicode range. Storing
+   values greater than 0x10FFFF has undefined results.
hunk ./docs/differences.mkd 55
- * Ints and Words are at most 32 bits, even on 64 bit architectures.
+ * The Int and Word types are at most 32 bits, even on 64 bit architectures.
hunk ./docs/differences.mkd 57
- * All text based IO is performed according to the current locale. this means
-   that unicode works seamlessly, but older programs that assumed IO was
-   performed by simple truncation of chars down to 8 bits will fail. use the
+ * All text based IO is performed according to the current locale. This means
+   that Unicode works seamlessly, but older programs that assumed IO was
+   performed by simple truncation of chars down to 8 bits will fail. Use the
hunk ./docs/differences.mkd 67
- * Integer cooresponds to IntMax rather than an arbitrary precision type. as
+ * Integer corresponds to IntMax rather than an arbitrary precision type. As
hunk ./docs/make.mkd 5
-using make to build projects with jhc is straightforward, simply add a line like the following in your Makefile
+Using make to build projects with jhc is straightforward, simply add a line like the following in your Makefile
addfile ./docs/pragmas.mkd
hunk ./docs/pragmas.mkd 1
+{-#Pragmas
+
+# Function Properties
+
+These must appear in the same file as the definition of a function. To apply
+one to a instance or class method, you must place it in the where clause of the
+instance or class declaration.
+
+NOINLINE
+: Do not inline the given function during core transformations. The function
+_may_ be inlined during grin transformations.
+
+INLINE
+: Inline this function whenever possible
+
+SUPERINLINE
+: Always inline no matter what, even if it means making a local copy of the
+functions body.
+
+NOETA
+: When applied to a class method, do not perform eta expansion up to the number
+of arguments specified by the type.
+
+# Rules/Specializations
+
+RULES
+: rewrite rules. These have the same syntax and behave like GHC's rewrite rules,
+except 'phase' information is not allowed.
+
+SPECIALIZE
+: create a version of a function that is specialized for a given type
+
+SUPERSPECIALIZE
+: has the same effect as SPECIALIZE, but also places a run-time check in the
+generic version of the function to determine whether to call the specialized
+version.
+
+# Header Pragmas
+
+These pragmas are only valid in the 'head' of a file, meaning they must come
+before the initial 'module' definition and in the first 4096 bytes of the file
+and must be preceded by and contain only characters in the ASCII character set.
+
+OPTIONS_JHC
+: Specify extra options to use when processing this file. The options available
+are equivalent to the command line options, though, not all may have meaning
+when applied to a single file.
+
+LANGUAGE
+: Specify various language options
+
+
hunk ./docs/unboxed.mkd 5
-Unboxed values in jhc are specified in a similar fashion to ghc however the
+Unboxed values in jhc are specified in a similar fashion to GHC however the
hunk ./docs/unboxed.mkd 7
-the syntax for various unboxed constructs, but normal haskell rules apply to
-other haskell values. The convention is to suffix such types with '_' to
+the syntax for various unboxed constructs, but normal Haskell rules apply to
+other Haskell values. The convention is to suffix such types with '_' to
hunk ./docs/unboxed.mkd 13
-Jhc supports unboxed tuples with the same syntax as ghc, (# 2, 4 #) is an
-unboxed tuple of two numbers. unboxed tuples are enabled with -funboxed-tuples
+Jhc supports unboxed tuples with the same syntax as GHC, (# 2, 4 #) is an
+unboxed tuple of two numbers. Unboxed tuples are enabled with -funboxed-tuples
hunk ./docs/unboxed.mkd 19
-Unboxed strings are enabled with the -funboxed-values flag. they are
+Unboxed strings are enabled with the -funboxed-values flag. They are
hunk ./docs/unboxed.mkd 26
-with a '#' such as in 3# or 4#. jhc supports a limited form of type inference
+with a '#' such as in 3# or 4#. Jhc supports a limited form of type inference
hunk ./docs/unboxed.mkd 28
-is a suitable unboxed numeric type then that type is used. otherwise it
+is a suitable unboxed numeric type then that type is used. Otherwise it
hunk ./utils/stitch.prl 8
+    Pragmas