Re: ATS mode indentation

2017-10-22 Thread Andrew Knapp
Unfortunately (or fortunately) I've discovered a few more bugs I should fix before doing the video. On Wednesday, October 18, 2017 at 1:31:52 PM UTC-7, gmhwxi wrote: > > > Targeting someone with little emacs knowledge seems to be a good idea. > > Basically, a few steps on installing the mode (e.g

Re: ATS mode indentation

2017-10-18 Thread gmhwxi
Targeting someone with little emacs knowledge seems to be a good idea. Basically, a few steps on installing the mode (e.g., a few lines that are needed in the .emacs file). In the video, you could go through the cycle of editing/compiling/fixing a short ATS program. Thanks! On Wednesday, Oct

Re: ATS mode indentation

2017-10-18 Thread Andrew Knapp
What level of knowledge should the video assume? I'm guessing these are pretty new students without much emacs experience. I should have time to write a real README and do a brief video this weekend. On Friday, October 13, 2017 at 2:43:57 PM UTC-7, gmhwxi wrote: > > This looks good. > > Could yo

Re: ATS mode indentation

2017-10-13 Thread aditya siram
As a side note is there a subset of ATS syntax where indentation is unambiguous? For example a `let` with braces and semicolons: let { val x = ; val y = ; } in { ... } I've found languages with unambiguous indentation are really great for some spotting some kinds of bugs. Bad in

Re: ATS mode indentation

2017-10-13 Thread Artyom Shalkhakov
This is awesome! I'll try it on the weekend. Thank you! 14 окт. 2017 г. 1:24 AM пользователь "Andrew Knapp" написал: Both of those test cases should work now, as well as a lot of others. Some of the weird starting errors have been fixed, especially at the top level, but it won't be possible in t

Re: ATS mode indentation

2017-10-13 Thread gmhwxi
This looks good. Could you post a video on youtube to show potential users how to set up and then use the mode? I will be happy to recommend it to my class. Thanks! On Friday, October 13, 2017 at 3:24:17 PM UTC-4, Andrew Knapp wrote: > > Both of those test cases should work now, as well as a lo

Re: ATS mode indentation

2017-10-13 Thread Andrew Knapp
Both of those test cases should work now, as well as a lot of others. Some of the weird starting errors have been fixed, especially at the top level, but it won't be possible in the general case. Supposing you've typed let val foo = 3 there is no way for the indentation engine to know whethe

Re: ATS mode indentation

2017-10-12 Thread aditya siram
Huge thanks for working on this. It's difficult and tedious but sorely needed. Here's some bad indentation cases I found: sortdef even = { i:int | i mod 2 == 0 } sortdef agz = {l:addr | l > null} implement main0 () = let ... in

Re: ATS mode indentation

2017-10-12 Thread Andrew Knapp
Taking a closer look, there are definitely cases I didn't use that behave strangely. As I see it, there are four causes for this. The first is an incomplete treatment of similar constructs that should be indented the same way, e.g. datatype, dataprop, dataviewtype... I thought I had gotten this

Re: ATS mode indentation

2017-10-12 Thread Hongwei Xi
I gave it a try last night. I encountered many cases of excessive indentation. The syntax of ATS is rich and complex. So it makes sense to require the programmer to manually add indentation. With the current ats-mode, you get two spaces if you hit the tab key. So you are pretty much in control of

ATS mode indentation

2017-10-11 Thread Andrew Knapp
Hello all, By cannibalizing sml.el, I have largely gotten automatic indentation working in ATS. After a few months of sporadic use, the only problem I couldn't fix is excessive indentation after a function has ended. This can be fixed by terminating all functions with semicolons, which is ugly