Personal tools

WinHugs/Bugs

From HaskellWiki

< WinHugs(Difference between revisions)
Jump to: navigation, search
(Bugs)
(error in loaded file precludes doing anything else)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  +
'''NOTE''': This page should be moved to http://hackage.haskell.org/trac/hugs/wiki
  +
 
This is a list of bugs and features, and peoples thoughts on them. Please just add things, if it's an opinion on a feature or something, please sign your name. Especially if a feature is important to you, say how important it is and why you think its a good idea.
 
This is a list of bugs and features, and peoples thoughts on them. Please just add things, if it's an opinion on a feature or something, please sign your name. Especially if a feature is important to you, say how important it is and why you think its a good idea.
   
Line 15: Line 17:
 
These are things which are accepted as being wrong
 
These are things which are accepted as being wrong
   
  +
=== FFI ===
   
=== chr 255 ===
+
A Windows release needs a working ffihugs, and we also need
  +
the modules that use the FFI to work. This is probably mostly just a
  +
matter of testing. However foreign import wrappers compiled with MinGW
  +
don't seem to work with the MSVC-compiled WinHugs. (They're used by
  +
the Win32, OpenGL and GLUT packages.) I don't see how we'll fix that.
   
  +
=== User's guide entry for WinHugs ===
   
seems that WinHugs hates to do binary I/O :)))
+
Does the WinHugs bundle include plain hugs and runhugs? What libraries
  +
are in the big bundle?
   
Main> putChar (chr 255)
+
=== Fresh libraries ===
я
 
Program error: <stdout>: Prelude.putChar: does not exist (file does not exist)
 
   
the same problem in this program:
+
Are you generating fresh libraries (using MinGW) for your bundles? (Answer, no, hence a bug)
   
import System.IO
+
=== Copy/Paste gives formatted text ===
import Data.Char
 
main = do h <- openBinaryFile "test" WriteMode
 
hPutChar h (chr 255)
 
hPutChar h 'a' -- never executed
 
   
  +
Should give plain text, but gives coloured text, esp annoying for pasting in emails etc.
   
=== Excessive Clearing ===
+
=== Excessive clearing ===
   
 
Excessive clearing of previous part of the screen, once it starts to wrap round
 
Excessive clearing of previous part of the screen, once it starts to wrap round
   
=== Occasional Screen Glitches ===
+
=== Occasional screen glitches ===
   
 
I don't know why these happen, the screen code is rather complicated...
 
I don't know why these happen, the screen code is rather complicated...
Line 51: Line 56:
   
 
Required, so I can release things more easily and never get it wrong
 
Required, so I can release things more easily and never get it wrong
  +
  +
=== FFI doesn't work ===
  +
  +
Nothing to do with FFI works, since I don't have a clue how FFI works myself.
  +
  +
=== Cleanup after errors ===
  +
  +
Interpreter fails to clean up after detecting an error in a loaded file. Symptom:
  +
Hugs> :l foo.hs
  +
winhugs reports syntax error
  +
Hugs> 2
  +
winhugs reports same syntax error
   
 
== Enhancements ==
 
== Enhancements ==
Line 57: Line 74:
   
 
Allow it to compile files with preprocessor directives, by automatically running cpphs on them first.
 
Allow it to compile files with preprocessor directives, by automatically running cpphs on them first.
  +
  +
=== Installer size reduction ===
  +
  +
reduce size of installer. it can be done in many ways but at least
  +
i'm not glad to download 16 megs that can be really packed in 2 megs
   
 
=== Less verbose file listing ===
 
=== Less verbose file listing ===
Line 62: Line 84:
 
Should be an option to list all files not in the Hugs directory loaded
 
Should be an option to list all files not in the Hugs directory loaded
   
=== Command History ===
+
=== Command history ===
   
 
also i want to suggest saving history of commands in the registry (or
 
also i want to suggest saving history of commands in the registry (or
Line 73: Line 95:
 
FAR filters out 146 commands which includes this word:
 
FAR filters out 146 commands which includes this word:
   
=== Error Highlighting ===
+
=== Error highlighting ===
   
 
When an error occurs, see if you can "hilight" the bad bit on the screen.
 
When an error occurs, see if you can "hilight" the bad bit on the screen.
   
=== Bracket Matching ===
+
=== Bracket matching ===
   
 
See if you can automatically match brackets when typing at the prompt
 
See if you can automatically match brackets when typing at the prompt

Latest revision as of 17:12, 11 January 2009

NOTE: This page should be moved to http://hackage.haskell.org/trac/hugs/wiki

This is a list of bugs and features, and peoples thoughts on them. Please just add things, if it's an opinion on a feature or something, please sign your name. Especially if a feature is important to you, say how important it is and why you think its a good idea.

Contents

[edit] 1 Polish

These aren't really bugs, they just need looking at before a final release. Mainly just polishing rough edges and checking for consistency.

  • Unicode
  • update the documentation
  • keyboard accelerators, Ctrl+C, Ctrl+V etc.
  • correctly align and space the options dialog
  • add more text editor support (as people ask!)

[edit] 2 Bugs

These are things which are accepted as being wrong

[edit] 2.1 FFI

A Windows release needs a working ffihugs, and we also need the modules that use the FFI to work. This is probably mostly just a matter of testing. However foreign import wrappers compiled with MinGW don't seem to work with the MSVC-compiled WinHugs. (They're used by the Win32, OpenGL and GLUT packages.) I don't see how we'll fix that.

[edit] 2.2 User's guide entry for WinHugs

Does the WinHugs bundle include plain hugs and runhugs? What libraries are in the big bundle?

[edit] 2.3 Fresh libraries

Are you generating fresh libraries (using MinGW) for your bundles? (Answer, no, hence a bug)

[edit] 2.4 Copy/Paste gives formatted text

Should give plain text, but gives coloured text, esp annoying for pasting in emails etc.

[edit] 2.5 Excessive clearing

Excessive clearing of previous part of the screen, once it starts to wrap round

[edit] 2.6 Occasional screen glitches

I don't know why these happen, the screen code is rather complicated...

[edit] 2.7 Terminal interaction

Inline system calls, i.e. "system dir" returns the results to the terminal, not the WinHugs window.

[edit] 2.8 Textpad vs DDE

Open textpad with new command: C:\Program Files\TextPad 4\TextPad.exe -s %s(%d) (fixes DDE problems on certain systems, opens multiple instances on others...)

[edit] 2.9  :edit

(colon)edit starts editing a weird file. Should create a new file in my documents and open that.

[edit] 2.10 Automated package build

Required, so I can release things more easily and never get it wrong

[edit] 2.11 FFI doesn't work

Nothing to do with FFI works, since I don't have a clue how FFI works myself.

[edit] 2.12 Cleanup after errors

Interpreter fails to clean up after detecting an error in a loaded file. Symptom:

Hugs> :l foo.hs
winhugs reports syntax error
Hugs> 2
winhugs reports same syntax error

[edit] 3 Enhancements

[edit] 3.1 cpphs support

Allow it to compile files with preprocessor directives, by automatically running cpphs on them first.

[edit] 3.2 Installer size reduction

reduce size of installer. it can be done in many ways but at least i'm not glad to download 16 megs that can be really packed in 2 megs

[edit] 3.3 Less verbose file listing

Should be an option to list all files not in the Hugs directory loaded

[edit] 3.4 Command history

also i want to suggest saving history of commands in the registry (or disk file) - this proved to be very useful in other shells. and about window with list of all commands - my shell (FAR manager) saves all the commands i use (now this list contains ~5000 ones!) and when i open this list and start to type some word, it just filers whole list and show only commands which contains this sequence of letters. that is damn useful. just for example i open this window and typed "hugs" - FAR filters out 146 commands which includes this word:

[edit] 3.5 Error highlighting

When an error occurs, see if you can "hilight" the bad bit on the screen.

[edit] 3.6 Bracket matching

See if you can automatically match brackets when typing at the prompt

[edit] 3.7 Automatic type display

When you type a lexeme, see if you can automatically put its type in the status bar.