
Hi all, In #yi (and other Haskell-related outlets), we ofter have people who want to try Yi but struggle one way or another. It seems that a big barrier is lack of documentation. If you had tried Yi or wanted to try it and you met with difficulties due to lacking documentation, I'd like to hear about it. Perhaps you tried to get going but just couldn't figure out how to do something in your config, or perhaps you tried hacking on the source but didn't know where to get started. If you're looking for any specific guides, I'd also like to hear about it. I (and perhaps some others) can write documentation but it helps if we have specific topics to talk about rather than taking guesses in the dark. If you want to try it out, we recommend that you read the README at [1]. If you have problems that aren't related to the documentation, you should use the issue tracker[2] to report them. Thanks! [1]: https://github.com/yi-editor/yi [2]: https://github.com/yi-editor/yi/issues?state=open -- Mateusz K.

How good a job does Yi do at being vim?
On Sun, Feb 16, 2014 at 8:35 PM, Mateusz Kowalczyk
Hi all,
In #yi (and other Haskell-related outlets), we ofter have people who want to try Yi but struggle one way or another. It seems that a big barrier is lack of documentation.
If you had tried Yi or wanted to try it and you met with difficulties due to lacking documentation, I'd like to hear about it. Perhaps you tried to get going but just couldn't figure out how to do something in your config, or perhaps you tried hacking on the source but didn't know where to get started.
If you're looking for any specific guides, I'd also like to hear about it. I (and perhaps some others) can write documentation but it helps if we have specific topics to talk about rather than taking guesses in the dark.
If you want to try it out, we recommend that you read the README at [1]. If you have problems that aren't related to the documentation, you should use the issue tracker[2] to report them.
Thanks!
[1]: https://github.com/yi-editor/yi [2]: https://github.com/yi-editor/yi/issues?state=open -- Mateusz K. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On 17/02/14 17:47, David Thomas wrote:
How good a job does Yi do at being vim?
Personally I'm an emacs person so I can't answer with 100% confidence but from what I can hear from people who do come to #yi and use the vim emulation, they are very impressed with what Yi does with the keymap. Having said that, this only covers the keymap. I'm unsure what you expect when you ask how good it is at being vim. Unfortunately we don't have a list of implemented vim keybindings but it's certainly on the list of things to write up. -- Mateusz K.

I guess I'm mostly asking after subjective experience, but I think the
things I would rate most important would be (in no particular order): 1)
key bindings I use match vim, 2) easy to create new key bindings, and 3)
quickfix buffer. I would be most surprised if 2 was missing. 1 is
typically underpopulated but could be grown... anyone know about 3?
On Mon, Feb 17, 2014 at 11:20 AM, Mateusz Kowalczyk wrote: On 17/02/14 17:47, David Thomas wrote: How good a job does Yi do at being vim? Personally I'm an emacs person so I can't answer with 100% confidence
but from what I can hear from people who do come to #yi and use the vim
emulation, they are very impressed with what Yi does with the keymap.
Having said that, this only covers the keymap. I'm unsure what you
expect when you ask how good it is at being vim. Unfortunately we don't
have a list of implemented vim keybindings but it's certainly on the
list of things to write up. --
Mateusz K.

On 17/02/14 19:43, David Thomas wrote:
I guess I'm mostly asking after subjective experience, but I think the things I would rate most important would be (in no particular order): 1) key bindings I use match vim, 2) easy to create new key bindings, and 3) quickfix buffer. I would be most surprised if 2 was missing. 1 is typically underpopulated but could be grown... anyone know about 3?
For 1 you'd probably have to try-and-see but I think we have a pretty good coverage. For 2, I think the biggest hurdle is lack of documentation on how to create the keybindings. AFAIK at the moment everyone gets by through looking at other people's configs but I think we should properly document what the different combinators do. I might attempt this tonight. Regarding quickfix, I have only learned about it recently. I believe it's like a compilation buffer in emacs. I do see Compilation mode in the source but I admit have never tried it out. I think none of the commands that quickfix provides are offered either. A big problem with implementing such modes properly is that currently we have no way to run actions affecting Yi concurrently which means that Yi would ‘lock up’ during compilation. Hopefully we can solve this in near future but until then, I don't think it's very viable to start implementing it. -- Mateusz K.

Vim doesn't do concurrency either, so that wouldn't be a regression.
On Mon, Feb 17, 2014 at 1:27 PM, Mateusz Kowalczyk
On 17/02/14 19:43, David Thomas wrote:
I guess I'm mostly asking after subjective experience, but I think the things I would rate most important would be (in no particular order): 1) key bindings I use match vim, 2) easy to create new key bindings, and 3) quickfix buffer. I would be most surprised if 2 was missing. 1 is typically underpopulated but could be grown... anyone know about 3?
For 1 you'd probably have to try-and-see but I think we have a pretty good coverage. For 2, I think the biggest hurdle is lack of documentation on how to create the keybindings. AFAIK at the moment everyone gets by through looking at other people's configs but I think we should properly document what the different combinators do. I might attempt this tonight.
Regarding quickfix, I have only learned about it recently. I believe it's like a compilation buffer in emacs. I do see Compilation mode in the source but I admit have never tried it out. I think none of the commands that quickfix provides are offered either.
A big problem with implementing such modes properly is that currently we have no way to run actions affecting Yi concurrently which means that Yi would 'lock up' during compilation. Hopefully we can solve this in near future but until then, I don't think it's very viable to start implementing it.
-- Mateusz K. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On 17/02/14 22:25, David Thomas wrote:
Vim doesn't do concurrency either, so that wouldn't be a regression.
Yes, but it does single thread scheduling to compensate (as does emacs) while Yi doesn't which means implementing quickfix (and other modes) isn't too viable without halting the whole editor. -- Mateusz K.

* Mateusz Kowalczyk
On 17/02/14 22:25, David Thomas wrote:
Vim doesn't do concurrency either, so that wouldn't be a regression.
Yes, but it does single thread scheduling to compensate (as does emacs) while Yi doesn't which means implementing quickfix (and other modes) isn't too viable without halting the whole editor.
I have to admit I'm surprised. The lack of (true) concurrency is, in my opinion, the single most salient architectural problem in both vim and emacs. I'd definitely expect Yi to tackle that. Roman

On 17/02/14 23:02, Roman Cheplyaka wrote:
* Mateusz Kowalczyk
[2014-02-17 22:50:31+0000] On 17/02/14 22:25, David Thomas wrote:
Vim doesn't do concurrency either, so that wouldn't be a regression.
Yes, but it does single thread scheduling to compensate (as does emacs) while Yi doesn't which means implementing quickfix (and other modes) isn't too viable without halting the whole editor.
I have to admit I'm surprised.
The lack of (true) concurrency is, in my opinion, the single most salient architectural problem in both vim and emacs. I'd definitely expect Yi to tackle that.
Roman
I was surprised when I found out as well. There are definitely plans to implement it. If Haskell takes part in this year's GSOC, I hope to put together a proposal which amongst some other things includes concurrency support for Yi. So yes, we definitely plan on tackling that. -- Mateusz K.

How does Yi compare to Sublime Text + Sublime Haskell plug-in? For me, that's the Haskell IDE Of choice. And it does support concurrent tasks. Cheers, Michal Original Message From: Mateusz Kowalczyk Sent: Monday, February 17, 2014 6:05 PM To: haskell-cafe Subject: Re: [Haskell-cafe] Yi documentation On 17/02/14 23:02, Roman Cheplyaka wrote:
* Mateusz Kowalczyk
[2014-02-17 22:50:31+0000] On 17/02/14 22:25, David Thomas wrote:
Vim doesn't do concurrency either, so that wouldn't be a regression.
Yes, but it does single thread scheduling to compensate (as does emacs) while Yi doesn't which means implementing quickfix (and other modes) isn't too viable without halting the whole editor.
I have to admit I'm surprised.
The lack of (true) concurrency is, in my opinion, the single most salient architectural problem in both vim and emacs. I'd definitely expect Yi to tackle that.
Roman
I was surprised when I found out as well. There are definitely plans to implement it. If Haskell takes part in this year's GSOC, I hope to put together a proposal which amongst some other things includes concurrency support for Yi. So yes, we definitely plan on tackling that. -- Mateusz K. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On 17/02/14 23:13, mantkiew@gsd.uwaterloo.ca wrote:
How does Yi compare to Sublime Text + Sublime Haskell plug-in? For me, that's the Haskell IDE Of choice. And it does support concurrent tasks.
Cheers, Michal
Hi, I don't know, I have never used Sublime Text and I don't think anyone who works on Yi uses it as their main editor. It'd be helpful if you listed some things that ST does that you'd like to have in Yi. Maybe there are some good ideas that we haven't thought about. This thread kind of assumes that you tried (or attempted to use) Yi in the past rather than trying to entice users of other editors to switch. -- Mateusz K.

On Mon, Feb 17, 2014 at 04:35:16AM +0000, Mateusz Kowalczyk wrote:
If you're looking for any specific guides, I'd also like to hear about it. I (and perhaps some others) can write documentation but it helps if we have specific topics to talk about rather than taking guesses in the dark.
Hello, while asking questions in #yi/freenode, I was pointed to yi/doc/monads.html [1] as a way to grasp the inner mechanism of Yi. A brief (or otherwise) description of what the datatypes (YiM a, EditorM a, BufferM a, Action) do or represent would be greatly appreciated. [1] https://github.com/yi-editor/yi/tree/master/doc

On 18/02/14 06:20, fa-ml wrote:
On Mon, Feb 17, 2014 at 04:35:16AM +0000, Mateusz Kowalczyk wrote:
If you're looking for any specific guides, I'd also like to hear about it. I (and perhaps some others) can write documentation but it helps if we have specific topics to talk about rather than taking guesses in the dark.
Hello, while asking questions in #yi/freenode, I was pointed to yi/doc/monads.html [1] as a way to grasp the inner mechanism of Yi. A brief (or otherwise) description of what the datatypes (YiM a, EditorM a, BufferM a, Action) do or represent would be greatly appreciated.
[1] https://github.com/yi-editor/yi/tree/master/doc _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
The very basic ‘what it's intended to be’ can be found for the basic monads at http://publications.lib.chalmers.se/records/fulltext/local_72549.pdf which is linked at the bottom of the README. Please say if you need anything more specific than that. Note that I do not know the answers off-by-heart and I'll also be learning it all before doing any write-ups. -- Mateusz K.
participants (5)
-
David Thomas
-
fa-ml
-
mantkiew@gsd.uwaterloo.ca
-
Mateusz Kowalczyk
-
Roman Cheplyaka