| 
									
										
										
										
											2012-02-16 08:44:44 +00:00
										 |  |  | 		Happy Haskell programming on Emacs/Vim | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | For Vim users: see https://github.com/eagletmt/ghcmod-vim | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | For Emacs users: read the followings: | 
					
						
							| 
									
										
										
										
											2010-03-10 03:13:03 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-12 06:42:28 +00:00
										 |  |  | Features: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 1) Completions of keyword, module, class, function, types, | 
					
						
							|  |  |  |    language extensions, etc. | 
					
						
							|  |  |  | 2) Flymake with GHC and hlint | 
					
						
							|  |  |  | 3) Inserting code template | 
					
						
							| 
									
										
										
										
											2010-03-10 03:13:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | The "ghc-mod" program written in Haskell is a backend to gather | 
					
						
							| 
									
										
										
										
											2010-05-12 06:42:28 +00:00
										 |  |  | information from GHC and hlint. | 
					
						
							| 
									
										
										
										
											2010-03-10 03:13:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | Elisp libraries including ghc-mod is an extension to haskell-mode. | 
					
						
							|  |  |  | You should put the followings in your "~/.emacs.el": | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-12 04:42:42 +00:00
										 |  |  |     (autoload 'ghc-init "ghc" nil t) | 
					
						
							|  |  |  |     (add-hook 'haskell-mode-hook (lambda () (ghc-init))) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | or | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     (add-hook 'haskell-mode-hook (lambda () (ghc-init) (flymake-mode))) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-03 06:55:22 +00:00
										 |  |  | Customization: | 
					
						
							| 
									
										
										
										
											2011-11-02 08:17:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-03 06:55:22 +00:00
										 |  |  | An example to specify GHC options: | 
					
						
							| 
									
										
										
										
											2011-11-02 08:17:42 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     (setq ghc-ghc-options '("-idir1" "-idir2")) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-03 06:55:22 +00:00
										 |  |  | An example to specify HLint options: | 
					
						
							| 
									
										
										
										
											2011-11-02 08:17:42 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-03-03 06:55:22 +00:00
										 |  |  |     (setq ghc-hlint-options '("--ignore=Use camelCase")) | 
					
						
							| 
									
										
										
										
											2011-11-02 08:17:42 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-12 04:42:42 +00:00
										 |  |  | For more information, see: | 
					
						
							|  |  |  | 	http://www.mew.org/~kazu/proj/ghc-mod/ |