Difference between revisions of "WinHugs/Bugs"
NeilMitchell (talk | contribs) (Add FFI note) |
(error in loaded file precludes doing anything else) |
||
(6 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 |
||
⚫ | |||
+ | 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 === |
||
+ | Does the WinHugs bundle include plain hugs and runhugs? What libraries |
||
− | seems that WinHugs hates to do binary I/O :))) |
||
+ | are in the big bundle? |
||
+ | === Fresh libraries === |
||
− | Main> putChar (chr 255) |
||
− | я |
||
− | Program error: <stdout>: Prelude.putChar: does not exist (file does not exist) |
||
+ | Are you generating fresh libraries (using MinGW) for your bundles? (Answer, no, hence a bug) |
||
− | the same problem in this program: |
||
+ | === Copy/Paste gives formatted text === |
||
− | import System.IO |
||
− | 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 |
+ | === 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 |
+ | === 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 61: | Line 65: | ||
Nothing to do with FFI works, since I don't have a clue how FFI works myself. |
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 67: | Line 79: | ||
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 72: | Line 89: | ||
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 |
+ | === 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 83: | Line 100: | ||
FAR filters out 146 commands which includes this word: |
FAR filters out 146 commands which includes this word: |
||
− | === Error |
+ | === 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 |
+ | === 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.
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!)
Bugs
These are things which are accepted as being wrong
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.
User's guide entry for WinHugs
Does the WinHugs bundle include plain hugs and runhugs? What libraries are in the big bundle?
Fresh libraries
Are you generating fresh libraries (using MinGW) for your bundles? (Answer, no, hence a bug)
Copy/Paste gives formatted text
Should give plain text, but gives coloured text, esp annoying for pasting in emails etc.
Excessive clearing
Excessive clearing of previous part of the screen, once it starts to wrap round
Occasional screen glitches
I don't know why these happen, the screen code is rather complicated...
Terminal interaction
Inline system calls, i.e. "system dir" returns the results to the terminal, not the WinHugs window.
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
(colon)edit starts editing a weird file. Should create a new file in my documents and open that.
Automated package build
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
cpphs support
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
Should be an option to list all files not in the Hugs directory loaded
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:
Error highlighting
When an error occurs, see if you can "hilight" the bad bit on the screen.
Bracket matching
See if you can automatically match brackets when typing at the prompt
Automatic type display
When you type a lexeme, see if you can automatically put its type in the status bar.