
Yesterday we uploaded our official 0.10.0 release (0.10.0.4) to Hackage and we have Windows and OS X installers at http://leksah.org/download.html Anyone using an earlier version should upgrade. This release is mainly small improvements and bug fixes. Some of the improvements include: * Better messages for some common problems. * Improved grep (now searches all source directories in your workspace) * Updated build system for more reliable rebuilding of dependent packages in your workspace We have automated the building of the Leksah installers and this should allow us to do more frequent releases in the future. There is a lot more to do and we would love to hear from anyone who has time to help out. Worth mentioning because they can be hard to find: * <Ctrl> R adds missing imports * <Ctrl> <Enter> evaluates current line or selection in GHCi * Right click menu in the editor has other debug functions * Comment and uncomment are now <Ctrl> D and <Ctrl> <Shift> D To build Leksah yourself: * Install Gtk and GtkSourceView2 (C libraries and headers) * Install The Haskell Platform (or GHC >= 6.12.3) * cabal update * cabal install gtk2hs-buildtools * cabal install leksah * leksah Making a Gtk application look nice on Windows and OS X is not easy so we recommend using one of these prebuilt binaries: Windows users using GHC 7.0.3 http://leksah.org/packages/leksah-0.10.0.4-ghc-7.0.3.exe Windows users using GHC 6.12.3 http://leksah.org/packages/leksah-0.10.0.4-ghc-6.12.3.exe OS X 10.6 users using GHC 7.0.3 http://leksah.org/packages/leksah-0.8.0.6.dmg (These installers do not install Gtk2Hs packages on your system) Please consult http://leksah.org/download.html for more details about installation! Background information can be found in the Leksah manual http://leksah.org/leksah_manual.pdf. Known bugs and problems: * Leksah does not run with GHC 6.12.2 (http://http://hackage.haskell.org/trac/ghc/ticket/4038) Have fun Jürgen & Hamish See you on #leksah IRC

Guys -- I picked up leksah again after a long break (macosx install problem). I have been using leksah for the past two weeks on Ubuntu. Great work! The ability to browse and search libraries for type information and source is fantastic. I love it! All you need now is to let me fill out the types and then derive my program for me. :) I will be happy to fill out a few bug reports. Many Thanks Tim

Hi Hamish, Am Freitag, den 22.04.2011, 22:40 +1200 schrieb Hamish Mackenzie:
Yesterday we uploaded our official 0.10.0 release (0.10.0.4) to Hackage and we have Windows and OS X installers at http://leksah.org/download.html
I am checking what is to be done to get this new release into Debian, and I notice quite a few changes to the dependencies, including some duplication of existing libraries (haddock-leksah, haddock-process). That is something we would definitely like to avoid in Debian. Can you tell us why exactly you need different packages, e.g. a link to the bug report where you ask for inclusion of your changes? Ideally, we would in Debian incorporate your changes in the Debian package of process or haddock, but of course only if they are reviewed by upstream and will eventually be merged. Also, is there a chance that the features of binary-shared will be merged into binary eventually? Thanks, Joachim -- Joachim "nomeata" Breitner Debian Developer nomeata@debian.org | ICQ# 74513189 | GPG-Keyid: 4743206C JID: nomeata@joachim-breitner.de | http://people.debian.org/~nomeata

On 23 Apr 2011, at 21:48, Joachim Breitner wrote:
I am checking what is to be done to get this new release into Debian, and I notice quite a few changes to the dependencies, including some duplication of existing libraries (haddock-leksah, haddock-process).
That is something we would definitely like to avoid in Debian. Can you tell us why exactly you need different packages, e.g. a link to the bug report where you ask for inclusion of your changes? Ideally, we would in Debian incorporate your changes in the Debian package of process or haddock, but of course only if they are reviewed by upstream and will eventually be merged.
Dependancy on haddock-leksah only applies if you are using ghc-6.10. If you are only supporting ghc 6.12 and above you can ignore it. This is what is in the leksah-server.cabal file... if (impl(ghc >= 6.12)) build-depends: haddock >= 2.7.2 && <2.10 else build-depends: haddock-leksah == 2.5.0 process-leksah is still needed. The feature request is here... http://hackage.haskell.org/trac/ghc/ticket/3994 Favonia has recently made some suggestions and raised some concerns and I imagine it may take a little while to resolve those. Once it is in we will need to update some of the imports as process-leksah module names are different to avoid conflicts.
Also, is there a chance that the features of binary-shared will be merged into binary eventually?
We would like to see it included and we will prepare a patch and submit it to trac/ghc for consideration. Thanks, Hamish

On Friday 22 April 2011 12:40:17, Hamish Mackenzie wrote:
Yesterday we uploaded our official 0.10.0 release (0.10.0.4) to Hackage
I'm trying to try it, but I run into a couple of problems. Most are probably me looking in the wrong places, so let's begin with those. By default, the editor pane is on the left hand side and the module browser or whatnot on the right. Very irritating. How do I switch the positions? I tried swapping LeftP and RightP in Edit Prefs -> Initial Pane positions, but to no avail. Autocomplete starts at the first letter of any new word, so writing a function definition bar j | j == 0 = whatever | otherwise = somethingElse requires paying attention and taking some action to not end up with bar join| j == whatever ... How do I configure autocompletion to only begin after three or four letters have been typed? Decreasing indentation via backspace goes one column per backspace, how can I configure it to go to the next (previous) tab position on backspace in the leading whitespace of a line? Now, those configuration questions out of the way: On first startup, I pointed leksah to ~/.cabal/packages/hackage.haskell.org for sources (hoping it would know to unpack them and copy them to ~/.leksah-0.10/packageSources, run haddock on them and what else it needs). It did indeed copy a bunch of sources there and invoked cabal and ghc a number of times, but it left out about half of the installed packages. It used an awful lot of memory to do that, peak about 1300MB virtual, 800MB resident, which means swapping and thrashing (unless I shut down practically everything else - I have only 1G of RAM). Okay, for collecting metadata on the first startup, I could live with that (though, if it handled packages sequentially, it should use less memory). But on the second startup and the third, although it didn't invoke cabal or ghc anymore, the memory usage was about the same, effectively knocking out my system for more than ten minutes. On the third, I had not enough patience and killed it, leksah-server showed no signs of stopping within two minutes after kill -TERM, so I had to kill -KILL it. What can I do to make leksah a good memory-citizen? With the current behaviour, it is unusable for me, unfortunately.

Daniel Fischer wrote:
On Friday 22 April 2011 12:40:17, Hamish Mackenzie wrote:
Yesterday we uploaded our official 0.10.0 release (0.10.0.4) to Hackage
I'm trying to try it, but I run into a couple of problems. Most are probably me looking in the wrong places, so let's begin with those.
By default, the editor pane is on the left hand side and the module browser or whatnot on the right. Very irritating. How do I switch the positions? I tried swapping LeftP and RightP in Edit Prefs -> Initial Pane positions, but to no avail.
Well, it is a bit more intricate to invert the sides. After * swapping LeftP and RightP in Edit Prefs -> Initial Pane positions * Close all panes and pane groups. (You may leave an editor window open, so that you better see what happens in the next steps). * Collapse all (Hit Ctrl-1 - 2 times) * Split vertical (Hit Ctrl-2), put the focus to the left, split horizontal (Hit Ctrl-3) * Go to Panes Menu and reopen the Log and the Browser and an editor Window * Configure tabs as you like * Save the session or restart Leksah Daniel Fischer wrote:
Autocomplete starts at the first letter of any new word, so writing a function definition
bar j | j == 0 = whatever | otherwise = somethingElse
requires paying attention and taking some action to not end up with
bar join| j == whatever ...
How do I configure autocompletion to only begin after three or four letters have been typed?
Go to Edit Prefs -> GUI Options, and select "Complete only on Hotkey", then hit Ctrl-Space if you want completion. Daniel Fischer wrote:
Decreasing indentation via backspace goes one column per backspace, how can I configure it to go to the next (previous) tab position on backspace in the leading whitespace of a line?
You can't do this currently, but you can post a wish for enhancement to our issue tracker. Daniel Fischer wrote:
Now, those configuration questions out of the way: On first startup, I pointed leksah to ~/.cabal/packages/hackage.haskell.org for sources (hoping it would know to unpack them and copy them to ~/.leksah-0.10/packageSources, run haddock on them and what else it needs).
Please try to run Leksah with the default config (~/.leksah-0.10/packageSources) Daniel Fischer wrote:
It did indeed copy a bunch of sources there and invoked cabal and ghc a number of times, but it left out about half of the installed packages. It used an awful lot of memory to do that, peak about 1300MB virtual, 800MB resident, which means swapping and thrashing (unless I shut down practically everything else - I have only 1G of RAM). Okay, for collecting metadata on the first startup, I could live with that (though, if it handled packages sequentially, it should use less memory).
But on the second startup and the third, although it didn't invoke cabal or ghc anymore, the memory usage was about the same, effectively knocking out my system for more than ten minutes. On the third, I had not enough patience and killed it, leksah-server showed no signs of stopping within two minutes after kill -TERM, so I had to kill -KILL it.
What can I do to make leksah a good memory-citizen? With the current behaviour, it is unusable for me, unfortunately.
Indeed leksah may use more memory on the first run (actually it is ghc, which uses it). But on consecutive starts it may use about/up to 150MB, but not the numbers you give. So please try to run Leksah with the default config, and see if the problem remains. Jürgen -- View this message in context: http://haskell.1045720.n5.nabble.com/ANN-Leksah-0-10-0-tp4332741p4339787.htm... Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.

On Tuesday 26 April 2011 02:00:32, jutaro wrote:
Well, it is a bit more intricate to invert the sides. After * swapping LeftP and RightP in Edit Prefs -> Initial Pane positions * Close all panes and pane groups. (You may leave an editor window open, so that you better see what happens in the next steps). * Collapse all (Hit Ctrl-1 - 2 times) * Split vertical (Hit Ctrl-2), put the focus to the left, split horizontal (Hit Ctrl-3) * Go to Panes Menu and reopen the Log and the Browser and an editor Window * Configure tabs as you like * Save the session or restart Leksah
Intricate indeed. If some day you have too much time, consider adding configuration options for that. Until then, how about putting that in the docs?
How do I configure autocompletion to only begin after three or four letters have been typed?
Go to Edit Prefs -> GUI Options, and select "Complete only on Hotkey", then hit Ctrl-Space if you want completion.
Not ideal (for me), but good enough I think. Although, I find kate's configuration option to start autocompletion after n letters *very* nice.
Daniel Fischer wrote:
Decreasing indentation via backspace goes one column per backspace, how can I configure it to go to the next (previous) tab position on backspace in the leading whitespace of a line?
You can't do this currently, but you can post a wish for enhancement to our issue tracker.
Pity. Quoth Hamish:
<shift><tab> works, but it is a bit dumb.
Changing <backspace> is on my wish list too. I think we should make it look at the text above to find the correct indentation points.
So there's initial support for it, good sign.
Please try to run Leksah with the default config (~/.leksah-0.10/packageSources)
Will do. Unfortunately I had to wipe the old OS from disk and now have to rebuild a couple of GHCs and a load of libraries (different gmp version), that'll take a while.
Indeed leksah may use more memory on the first run
That's natural, collecting the data isn't free.
(actually it is ghc, which uses it).
I'm not sure about that. According to top, leksah-server used that much memory long after ghc ran last. And on the second start, it didn't invoke ghc (at least, no ghc was reported by top). Looks a bit as though it doesn't write the data soon enough. Or it could have been the first sign of my OS crashing.
But on consecutive starts it may use about/up to 150MB, but not the numbers you give.
That's more reasonable. We'll see.
So please try to run Leksah with the default config, and see if the problem remains.
Yes, but as mentioned above, that'll not be immediately.
Jürgen
Thanks, Daniel

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 4/26/11 09:15 , Daniel Fischer wrote:
On Tuesday 26 April 2011 02:00:32, jutaro wrote:
Well, it is a bit more intricate to invert the sides. After * swapping LeftP and RightP in Edit Prefs -> Initial Pane positions * Close all panes and pane groups. (You may leave an editor window open, so that you better see what happens in the next steps). * Collapse all (Hit Ctrl-1 - 2 times) * Split vertical (Hit Ctrl-2), put the focus to the left, split horizontal (Hit Ctrl-3) * Go to Panes Menu and reopen the Log and the Browser and an editor Window * Configure tabs as you like * Save the session or restart Leksah
Intricate indeed. If some day you have too much time, consider adding configuration options for that. Until then, how about putting that in the docs?
How about a "layout editor" mode where you can drag panes around, double-click somewhere to split at that point (hold shift for horizontal split, maybe?), and a window palette to drag windows into panes? - -- brandon s. allbery [linux,solaris,freebsd,perl] allbery.b@gmail.com system administrator [openafs,heimdal,too many hats] kf8nh -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk23VXoACgkQIn7hlCsL25X/0gCgpKLaNqOeHbgO8D4ZQ38y1EQV ZisAnik6XZHVPGs3k50xGZ+MEJCaAfZC =P0vf -----END PGP SIGNATURE-----

Good thing I didn't send too soon this time:) On Tuesday 26 April 2011 02:00:32, jutaro wrote:
Please try to run Leksah with the default config (~/.leksah-0.10/packageSources)
Indeed leksah may use more memory on the first run (actually it is ghc, which uses it). But on consecutive starts it may use about/up to 150MB, but not the numbers you give. So please try to run Leksah with the default config, and see if the problem remains.
I started with: "Worked like a charm. Generating the metadata on first start max'ed at about 260MB, which seems reasonable. On the second start - without [de]installing any package - leksah came up almost immediately" And that's true so far, but the thing is, I hadn't yet installed all packages I had before. So I installed the remaining packages (criterion and some of its dependencies) and tried again. First, to see whether my borked OS had anything to do with it, I moved ~/.leksah-0.10, started leksah and again pointed it to ~/.cabal...; again used very much memory, swapping, thrashing, kill -KILL. So it was not the OS (as expected). Then I deleted the new ~/.leksah-0.10, started leksah, this time with the default config. The same, swapping, thrashing, kill -KILL. Hm, perhaps too many packages at once? What if we give it fewer? So, delete ~/.leksah-0.10, copy the old one, start again. No dice. Time for sleuthing. Unregister the new packages, delete .leksah and copy old, start leksah. Quick and easy. Install stuff package by package. erf, fine. data-accessor, fine, ... . Chart, fine. statistics - boom. It grew to 1435m virtual memory, resident changing between 430m and 800m, constantly swapping, showed no sign of finishing after about five hours at 0-3% CPU with occasional bursts of a couple of seconds at >50%. A chattier version of leksah-server indicates that it hangs on Statistics.Function.partialSort, but if debugM writes are buffered, it could well be something else. So, is it just me or is statistics generally toxic for leksah?
Jürgen
Another problem: leksah.org isn't reachable anymore, 87.230.23.84 now resolves to a homoeopathist.

Hi Daniel, that seemed to be a real odyssey. I will try to install the statistics package when I find time. Guess it is this one on hackage: http://hackage.haskell.org/package/statistics. Just some remarks: In case of problems with metadata it is helpful to stop the GUI and call leksah-server from the command line. (leksah-server -s collects metainfo for new packages). What happens then is that leksah-server calls GHC-API and Haddock as a library, which itself uses GHC-API. So its a bit like running Haddock on a package, which usually may fail, but it is uncommon to have this kind of problems. (It happened one time before with a type level library, which defined all integers between 1 and several thousands...). Jürgen PS: The server at leksah.org has reached its limit yesterday, the Windows installer alone was downloaded about 2000 times! But it should work now. -- View this message in context: http://haskell.1045720.n5.nabble.com/ANN-Leksah-0-10-0-tp4332741p4345891.htm... Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.

2011/4/28 jutaro
So its a bit like running Haddock on a package, which usually may fail, but it is uncommon to have this kind of problems. (It happened one time before with a type level library, which defined all integers between 1 and several thousands...).
If a package uses template haskell, haddock can slow down substantially, as it will compile all the modules of the package rather than just typecheck them. See this ticket: http://trac.haskell.org/haddock/ticket/101 If anyone would like to work on fixing that, that'd be great of course. I don't have much time for Haddock development at the moment. David

On Thursday 28 April 2011 09:04:02, jutaro wrote:
Hi Daniel,
that seemed to be a real odyssey.
Still a lot short of ten years ;)
I will try to install the statistics package when I find time. Guess it is this one on hackage: http://hackage.haskell.org/package/statistics.
Yes, version 0.8.0.5. I don't expect the version to matter much, but it could make a difference.
Just some remarks: In case of problems with metadata it is helpful to stop the GUI and call leksah-server from the command line. (leksah-server -s collects metainfo for new packages).
I ran $ leksah-server -e DEBUG -s to locate the problem, that reported that it couldn't retrieve metadata, then "inGhcIO called with []", Start: ("ghc", ["--print-libdir"]), success report (forgot how that was worded), End: ("ghc", ["--print-libdir"]). After that, no more, so I added some more debugM calls to the server code. Printing the package description, liftIO $ debugM "leksah-server" $ "Description: " ++ show pd deepseq pd (return pd) hung at Statistics.Function.partialSort, getting as far as dscMbTypeStr' = Just "
What happens then is that leksah-server calls GHC-API and Haddock as a library, which itself uses GHC-API. So its a bit like running Haddock on a package, which usually may fail, but it is uncommon to have this kind of problems. (It happened one time before with a type level library, which defined all integers between 1 and several thousands...).
Jürgen
PS: The server at leksah.org has reached its limit yesterday, the Windows installer alone was downloaded about 2000 times!
Awesome.
But it should work now.
Yup, can reach it again.

My guess is that you're doing all indexing work inside a single GHC
API session. When loading external packages GHC caches all .hi files
in memory -- and never unloads them. Therefore, if you have a large
package DB, that'll consume a lot of memory. For similar reasons you
can also run into problems with redefined instances if you happen to
process two packages that define the same instances because they too
are cached and never flushed.
The workaround is to start multiple sessions and then combine the
resulting output.
I don't know how much of a problem the Haddock + TH issue is that
David mentioned. In any case you should make sure that haddock can
see the installed packages so it doesn't need to compile any
dependencies for TH.
On 28 April 2011 09:04, jutaro
Hi Daniel,
that seemed to be a real odyssey. I will try to install the statistics package when I find time. Guess it is this one on hackage: http://hackage.haskell.org/package/statistics. Just some remarks: In case of problems with metadata it is helpful to stop the GUI and call leksah-server from the command line. (leksah-server -s collects metainfo for new packages). What happens then is that leksah-server calls GHC-API and Haddock as a library, which itself uses GHC-API. So its a bit like running Haddock on a package, which usually may fail, but it is uncommon to have this kind of problems. (It happened one time before with a type level library, which defined all integers between 1 and several thousands...).
Jürgen
PS: The server at leksah.org has reached its limit yesterday, the Windows installer alone was downloaded about 2000 times! But it should work now.
-- View this message in context: http://haskell.1045720.n5.nabble.com/ANN-Leksah-0-10-0-tp4332741p4345891.htm... Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Push the envelope. Watch it bend.

On 26 April 2011 11:03, Daniel Fischer
Decreasing indentation via backspace goes one column per backspace, how can I configure it to go to the next (previous) tab position on backspace in the leading whitespace of a line?
<shift><tab> works, but it is a bit dumb. Changing <backspace> is on my wish list too. I think we should make it look at the text above to find the correct indentation points.

Is there going to be any plans to integrate Yi into Leksah as you originally planned to, or is that idea for the short term out the window? On Fri, Apr 22, 2011 at 8:40 PM, Hamish Mackenzie < hamish.k.mackenzie@googlemail.com> wrote:
Yesterday we uploaded our official 0.10.0 release (0.10.0.4) to Hackage and we have Windows and OS X installers at http://leksah.org/download.html
Anyone using an earlier version should upgrade.
This release is mainly small improvements and bug fixes. Some of the improvements include:
* Better messages for some common problems. * Improved grep (now searches all source directories in your workspace) * Updated build system for more reliable rebuilding of dependent packages in your workspace
We have automated the building of the Leksah installers and this should allow us to do more frequent releases in the future.
There is a lot more to do and we would love to hear from anyone who has time to help out.
Worth mentioning because they can be hard to find:
* <Ctrl> R adds missing imports * <Ctrl> <Enter> evaluates current line or selection in GHCi * Right click menu in the editor has other debug functions * Comment and uncomment are now <Ctrl> D and <Ctrl> <Shift> D
To build Leksah yourself:
* Install Gtk and GtkSourceView2 (C libraries and headers) * Install The Haskell Platform (or GHC >= 6.12.3) * cabal update * cabal install gtk2hs-buildtools * cabal install leksah * leksah
Making a Gtk application look nice on Windows and OS X is not easy so we recommend using one of these prebuilt binaries:
Windows users using GHC 7.0.3 http://leksah.org/packages/leksah-0.10.0.4-ghc-7.0.3.exe
Windows users using GHC 6.12.3 http://leksah.org/packages/leksah-0.10.0.4-ghc-6.12.3.exe
OS X 10.6 users using GHC 7.0.3 http://leksah.org/packages/leksah-0.8.0.6.dmg
(These installers do not install Gtk2Hs packages on your system)
Please consult http://leksah.org/download.html for more details about installation! Background information can be found in the Leksah manual http://leksah.org/leksah_manual.pdf.
Known bugs and problems:
* Leksah does not run with GHC 6.12.2 (http://http://hackage.haskell.org/trac/ghc/ticket/4038)
Have fun Jürgen & Hamish See you on #leksah IRC
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hi Mathew,
I was not the one working on Yi integration so far, but let me tell
you
what I think of the matter. Yi attempts to be a full blown editor,
while Leksah
needs Yi as a library for text editing with features typical of a
source code editor component.
What we have in Leksah is an abstract TextEditor interface.
So if I would work on it (and I can't say if I will do) I would fork
Yi, and
factor out a simple TextEditor library, and then would try to convince
the
Yi people that it would make sense to refactor Yi this way.
As it is now we have Yi in some way integrated, but it is not well
defined,
what part of functionality Leksah and Yi play, and I guess we will not
reach
something usable this way.
Jürgen
On 30 Apr., 11:25, Mathew de Detrich
Is there going to be any plans to integrate Yi into Leksah as you originally planned to, or is that idea for the short term out the window?
On Fri, Apr 22, 2011 at 8:40 PM, Hamish Mackenzie <
hamish.k.macken...@googlemail.com> wrote:
Yesterday we uploaded our official 0.10.0 release (0.10.0.4) to Hackage and we have Windows and OS X installers athttp://leksah.org/download.html
Anyone using an earlier version should upgrade.
This release is mainly small improvements and bug fixes. Some of the improvements include:
* Better messages for some common problems. * Improved grep (now searches all source directories in your workspace) * Updated build system for more reliable rebuilding of dependent packages in your workspace
We have automated the building of the Leksah installers and this should allow us to do more frequent releases in the future.
There is a lot more to do and we would love to hear from anyone who has time to help out.
Worth mentioning because they can be hard to find:
* <Ctrl> R adds missing imports * <Ctrl> <Enter> evaluates current line or selection in GHCi * Right click menu in the editor has other debug functions * Comment and uncomment are now <Ctrl> D and <Ctrl> <Shift> D
To build Leksah yourself:
* Install Gtk and GtkSourceView2 (C libraries and headers) * Install The Haskell Platform (or GHC >= 6.12.3) * cabal update * cabal install gtk2hs-buildtools * cabal install leksah * leksah
Making a Gtk application look nice on Windows and OS X is not easy so we recommend using one of these prebuilt binaries:
Windows users using GHC 7.0.3 http://leksah.org/packages/leksah-0.10.0.4-ghc-7.0.3.exe
Windows users using GHC 6.12.3 http://leksah.org/packages/leksah-0.10.0.4-ghc-6.12.3.exe
OS X 10.6 users using GHC 7.0.3 http://leksah.org/packages/leksah-0.8.0.6.dmg
(These installers do not install Gtk2Hs packages on your system)
Please consulthttp://leksah.org/download.htmlfor more details about installation! Background information can be found in the Leksah manual http://leksah.org/leksah_manual.pdf.
Known bugs and problems:
* Leksah does not run with GHC 6.12.2 (http://http://hackage.haskell.org/trac/ghc/ticket/4038)
Have fun Jürgen & Hamish See you on #leksah IRC
_______________________________________________ Haskell-Cafe mailing list Haskell-C...@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-C...@haskell.orghttp://www.haskell.org/mailman/listinfo/haskell-cafe

I actually agree with you on that regard, I think the best thing you can get
from Yi is just the basic editing commands (the same you would get from
vim), such as visual/edit mode and whatnot
The best thing that Leksah can turn into (and something that
Haskell desperately needs) is a Haskell version of Eclipse, because as Java
has a weakness of being incredibly verbose (which Eclipse gets around with
very easily, try coding Java in vim!!!), Haskell being a statically typed
language has a weakness that in non trivial code, types can
become convoluted and 'piping' functions together becoming complicated,
something that a very smart code completion along with very powerful
refactoring techniques that Eclipse has would do wonders.
The one thing that Haskell is missing is a proper editing environment, and
at least in my opinion one of the major things that a language needs to
become widely adopted (unless its a first like perl,C was) is a proper
editing environment that is approachable for newer people but remains
powerful for advanced users
On Tue, May 3, 2011 at 1:43 AM, jutaro
Hi Mathew, I was not the one working on Yi integration so far, but let me tell you what I think of the matter. Yi attempts to be a full blown editor, while Leksah needs Yi as a library for text editing with features typical of a source code editor component.
What we have in Leksah is an abstract TextEditor interface. So if I would work on it (and I can't say if I will do) I would fork Yi, and factor out a simple TextEditor library, and then would try to convince the Yi people that it would make sense to refactor Yi this way.
As it is now we have Yi in some way integrated, but it is not well defined, what part of functionality Leksah and Yi play, and I guess we will not reach something usable this way.
Jürgen
On 30 Apr., 11:25, Mathew de Detrich
wrote: Is there going to be any plans to integrate Yi into Leksah as you originally planned to, or is that idea for the short term out the window?
On Fri, Apr 22, 2011 at 8:40 PM, Hamish Mackenzie <
hamish.k.macken...@googlemail.com> wrote:
Yesterday we uploaded our official 0.10.0 release (0.10.0.4) to Hackage and we have Windows and OS X installers athttp:// leksah.org/download.html
Anyone using an earlier version should upgrade.
This release is mainly small improvements and bug fixes. Some of the improvements include:
* Better messages for some common problems. * Improved grep (now searches all source directories in your workspace) * Updated build system for more reliable rebuilding of dependent packages in your workspace
We have automated the building of the Leksah installers and this should allow us to do more frequent releases in the future.
There is a lot more to do and we would love to hear from anyone who has time to help out.
Worth mentioning because they can be hard to find:
* <Ctrl> R adds missing imports * <Ctrl> <Enter> evaluates current line or selection in GHCi * Right click menu in the editor has other debug functions * Comment and uncomment are now <Ctrl> D and <Ctrl> <Shift> D
To build Leksah yourself:
* Install Gtk and GtkSourceView2 (C libraries and headers) * Install The Haskell Platform (or GHC >= 6.12.3) * cabal update * cabal install gtk2hs-buildtools * cabal install leksah * leksah
Making a Gtk application look nice on Windows and OS X is not easy so we recommend using one of these prebuilt binaries:
Windows users using GHC 7.0.3 http://leksah.org/packages/leksah-0.10.0.4-ghc-7.0.3.exe
Windows users using GHC 6.12.3 http://leksah.org/packages/leksah-0.10.0.4-ghc-6.12.3.exe
OS X 10.6 users using GHC 7.0.3 http://leksah.org/packages/leksah-0.8.0.6.dmg
(These installers do not install Gtk2Hs packages on your system)
Please consulthttp://leksah.org/download.htmlfor more details about installation! Background information can be found in the Leksah manual http://leksah.org/leksah_manual.pdf.
Known bugs and problems:
* Leksah does not run with GHC 6.12.2 (http://http://hackage.haskell.org/trac/ghc/ticket/4038)
Have fun Jürgen & Hamish See you on #leksah IRC
_______________________________________________ Haskell-Cafe mailing list Haskell-C...@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-C...@haskell.orghttp:// www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

I did most of the Yi integration work done so far, but I have not had time to work on it lately. Yi already is a library (for dyre) and is designed to work with different front ends. The approach I took was to add a new "Pango Control" front end based on the existing Pango front end. I think the Yi team are planning on making all the front ends into separate packages so at that point the Pango Control front end would hopefully be in yi-pango (or perhaps its own yi-pango-control). The main thing is that the front end modules depend on the core Yi stuff, but not the other way around. So in that sense the design you describe is already close to how Yi works now. Most of what I imagine you mean when you say "basic editing commands" already work in Leksah with Yi. There is a lot left to do though... * Improve speed of rendering the text so it is usable (currently the entire window is redrawn for each key press) * Support for displaying minibuffers (vim : and / for instance do not work) * Fire an event on text insertion for autocomplete * Tagging of text to highlight search results and compiler errors * Locate X Y coordinates of text so we can display the autocomplete window in the right place * Scroll to a text location (if the user selects error or grep result) * When a new file is opened by Yi we should fire an event and open a window in Leksah for it * Likewise if a buffer is closed via a Yi command * Work out how to make Yi more configurable in the Windows and OS X binary installers To get an idea of some of what is left to do search for TODO in https://github.com/jutaro/leksah/blob/master/src/IDE/TextEditor.hs The Pango Control front end is currently here https://github.com/yi-editor/yi/blob/master/yi/src/library/Yi/UI/Pango/Contr... To build Yi support into Leksah get Yi from github and install it with cabal configure --flags="pango -vte" --constraint='parsec<2.2' (not sure if the -vte is needed, may just need that on OS X) (also the parsec restraint is not needed if you get Leksah from github) Then install Leksah with cabal configure --flags="yi" (add -dyre to the flags if you want to use the Leksah default Yi config) Once that is done you should edit your ~/.yi/yi.hs file so that DYRE will not turn Leksah into Yi. Add this to the start... {-# LANGUAGE CPP #-} import Yi #ifdef LEKSAH import IDE.Leksah #endif And change the main function so it looks like this... main :: IO () #ifdef LEKSAH main = leksah $ myConfig #else main = yi $ myConfig #endif Finally run Leksah and check the box Edit Prefs -> Editor -> Use Yi. This change comes into play when you open a new file (already opened buffers will still be GtkSourceView). mahrz expressed an interest in helping out on #leksah IRC a couple of weeks back, but I have not heard how he is getting on. Other than that I am not aware of anyone else working on it, so if anyone can help out that would be great. Send any questions to Leksah and Yi lists or IRC #leksah. On 3 May 2011, at 11:49, Mathew de Detrich wrote:
I actually agree with you on that regard, I think the best thing you can get from Yi is just the basic editing commands (the same you would get from vim), such as visual/edit mode and whatnot
The best thing that Leksah can turn into (and something that Haskell desperately needs) is a Haskell version of Eclipse, because as Java has a weakness of being incredibly verbose (which Eclipse gets around with very easily, try coding Java in vim!!!), Haskell being a statically typed language has a weakness that in non trivial code, types can become convoluted and 'piping' functions together becoming complicated, something that a very smart code completion along with very powerful refactoring techniques that Eclipse has would do wonders.
The one thing that Haskell is missing is a proper editing environment, and at least in my opinion one of the major things that a language needs to become widely adopted (unless its a first like perl,C was) is a proper editing environment that is approachable for newer people but remains powerful for advanced users
On Tue, May 3, 2011 at 1:43 AM, jutaro
wrote: Hi Mathew, I was not the one working on Yi integration so far, but let me tell you what I think of the matter. Yi attempts to be a full blown editor, while Leksah needs Yi as a library for text editing with features typical of a source code editor component. What we have in Leksah is an abstract TextEditor interface. So if I would work on it (and I can't say if I will do) I would fork Yi, and factor out a simple TextEditor library, and then would try to convince the Yi people that it would make sense to refactor Yi this way.
As it is now we have Yi in some way integrated, but it is not well defined, what part of functionality Leksah and Yi play, and I guess we will not reach something usable this way.
Jürgen
On 30 Apr., 11:25, Mathew de Detrich
wrote: Is there going to be any plans to integrate Yi into Leksah as you originally planned to, or is that idea for the short term out the window?
On Fri, Apr 22, 2011 at 8:40 PM, Hamish Mackenzie <
hamish.k.macken...@googlemail.com> wrote:
Yesterday we uploaded our official 0.10.0 release (0.10.0.4) to Hackage and we have Windows and OS X installers athttp://leksah.org/download.html
Anyone using an earlier version should upgrade.
This release is mainly small improvements and bug fixes. Some of the improvements include:
* Better messages for some common problems. * Improved grep (now searches all source directories in your workspace) * Updated build system for more reliable rebuilding of dependent packages in your workspace
We have automated the building of the Leksah installers and this should allow us to do more frequent releases in the future.
There is a lot more to do and we would love to hear from anyone who has time to help out.
Worth mentioning because they can be hard to find:
* <Ctrl> R adds missing imports * <Ctrl> <Enter> evaluates current line or selection in GHCi * Right click menu in the editor has other debug functions * Comment and uncomment are now <Ctrl> D and <Ctrl> <Shift> D
To build Leksah yourself:
* Install Gtk and GtkSourceView2 (C libraries and headers) * Install The Haskell Platform (or GHC >= 6.12.3) * cabal update * cabal install gtk2hs-buildtools * cabal install leksah * leksah
Making a Gtk application look nice on Windows and OS X is not easy so we recommend using one of these prebuilt binaries:
Windows users using GHC 7.0.3 http://leksah.org/packages/leksah-0.10.0.4-ghc-7.0.3.exe
Windows users using GHC 6.12.3 http://leksah.org/packages/leksah-0.10.0.4-ghc-6.12.3.exe
OS X 10.6 users using GHC 7.0.3 http://leksah.org/packages/leksah-0.8.0.6.dmg
(These installers do not install Gtk2Hs packages on your system)
Please consulthttp://leksah.org/download.htmlfor more details about installation! Background information can be found in the Leksah manual http://leksah.org/leksah_manual.pdf.
Known bugs and problems:
* Leksah does not run with GHC 6.12.2 (http://http://hackage.haskell.org/trac/ghc/ticket/4038)
Have fun Jürgen & Hamish See you on #leksah IRC
_______________________________________________ Haskell-Cafe mailing list Haskell-C...@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-C...@haskell.orghttp://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On 03/05/2011 02:49, Mathew de Detrich wrote:
The best thing that Leksah can turn into (and something that Haskell desperately needs) is a Haskell version of Eclipse, because as Java has a weakness of being incredibly verbose (which Eclipse gets around with very easily, try coding Java in vim!!!), Haskell being a statically typed language has a weakness that in non trivial code, types can become convoluted and 'piping' functions together becoming complicated, something that a very smart code completion along with very powerful refactoring techniques that Eclipse has would do wonders.
The one thing that Haskell is missing is a proper editing environment, and at least in my opinion one of the major things that a language needs to become widely adopted (unless its a first like perl,C was) is a proper editing environment that is approachable for newer people but remains powerful for advanced users
There is a Haskell version of eclipse - eclipsefp. (Unless you specifically meant an Eclipse written in Haskell.)

Well I kind of meant an eclipse type of IDE tailored for Haskell programming
(with complete refactoring and code completion for the Haskell language)
On Wed, May 4, 2011 at 4:45 AM, John Smith
On 03/05/2011 02:49, Mathew de Detrich wrote:
The best thing that Leksah can turn into (and something that Haskell desperately needs) is a Haskell version of Eclipse, because as Java has a weakness of being incredibly verbose (which Eclipse gets around with very easily, try coding Java in vim!!!), Haskell being a statically typed language has a weakness that in non trivial code, types can become convoluted and 'piping' functions together becoming complicated, something that a very smart code completion along with very powerful refactoring techniques that Eclipse has would do wonders.
The one thing that Haskell is missing is a proper editing environment, and at least in my opinion one of the major things that a language needs to become widely adopted (unless its a first like perl,C was) is a proper editing environment that is approachable for newer people but remains powerful for advanced users
There is a Haskell version of eclipse - eclipsefp. (Unless you specifically meant an Eclipse written in Haskell.)
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (11)
-
Brandon S Allbery KF8NH
-
Daniel Fischer
-
David Waern
-
Hamish Mackenzie
-
Hamish Mackenzie
-
Joachim Breitner
-
John Smith
-
jutaro
-
Mathew de Detrich
-
Thomas Schilling
-
Tim Sears