Re: ATStead: in-browser structured editing in ATS

2017-10-19 Thread Hongwei Xi
The datatype for the terms can be found at:

http://www.cs.bu.edu/~hwxi/academic/courses/CS520/Fall16/.xshare/BitBucket/cs520-2016-fall/lectures/lecture-11-28/FPL-lambda/JS/lambda_parse.dats


On Thu, Oct 19, 2017 at 11:30 PM, Artyom Shalkhakov <
artyom.shalkha...@gmail.com> wrote:

> On Friday, October 20, 2017 at 1:08:40 AM UTC+6, gmhwxi wrote:
>>
>>
>> Do you think we could combine ATStead with the following interpreter I
>> wrote:
>>
>> http://www.cs.bu.edu/~hwxi/academic/courses/CS520/Fall16/.
>> xshare/BitBucket/cs520-2016-fall/lectures/lecture-11-28/FPL-
>> lambda/JS/FPL-lambda.html
>>
>> If I define a datatype, can such an editor be generated based on the
>> datatype
>> description?
>>
>
> There is no code generation. By the way, would you recommend making [tree]
> parameterized by the type of label? Seems like an obvious thing to do.
>
> Could you point me to the datatype that you use for that language? The
> current object language in ATStead has "lam" an "app" constructs, but not
> "fix" or "ifnz".
>
> On Thursday, October 19, 2017 at 12:09:59 PM UTC-4, Artyom Shalkhakov
>> wrote:
>>>
>>> Hello all,
>>>
>>> I'd like to share ATStead:
>>>
>>> https://rawgit.com/ashalkhakov/ATStead/master/src/index.html
>>>
>>> It is a simple structured editor based on:
>>>
>>> http://www.cs.ox.ac.uk/bernard.sufrin/edit.pdf
>>>
>>> Try it to see if you can enter some expressions! Structured editors are
>>> known to be clunky, but this one is at least modeless. :-)
>>>
>>> Basically, all functionality presented in the paper works. In contrast
>>> to the paper, the editor's main datastructure is imperative and is very
>>> efficiently updated. So I guess it should scale to big, complex real-world
>>> ASTs (well, one can dream right???).
>>>
>>> What I'm going to do next:
>>>
>>>- improve rendering (it's very dumb at the moment, both in terms of
>>>being from-scratch everytime, and in terms of lacking in visual clarity)
>>>- improve keyboard entry (handle keybindings, try guessing node
>>>types by lexing the input etc.)
>>>- add selection by mouse (this one is simple)
>>>- add undo/redo
>>>- extend to handle ABTs (so that the editor can help you out with
>>>typical programming stuff: renaming variables, looking up definitions, 
>>> etc.)
>>>- make easily embeddable in a typical JS application
>>>
>>> --
> You received this message because you are subscribed to the Google Groups
> "ats-lang-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to ats-lang-users+unsubscr...@googlegroups.com.
> To post to this group, send email to ats-lang-users@googlegroups.com.
> Visit this group at https://groups.google.com/group/ats-lang-users.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/ats-lang-users/0c089ac9-3b81-4205-9920-094645bcf78d%
> 40googlegroups.com
> 
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ats-lang-users+unsubscr...@googlegroups.com.
To post to this group, send email to ats-lang-users@googlegroups.com.
Visit this group at https://groups.google.com/group/ats-lang-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ats-lang-users/CAPPSPLq7c3%2Bp5c1b2G%3DjspeH3nt9tw6K7g%3DSt%2BtdtMy44tpGqg%40mail.gmail.com.


Re: ATStead: in-browser structured editing in ATS

2017-10-19 Thread Artyom Shalkhakov
On Friday, October 20, 2017 at 1:08:40 AM UTC+6, gmhwxi wrote:
>
>
> Do you think we could combine ATStead with the following interpreter I 
> wrote:
>
>
> http://www.cs.bu.edu/~hwxi/academic/courses/CS520/Fall16/.xshare/BitBucket/cs520-2016-fall/lectures/lecture-11-28/FPL-lambda/JS/FPL-lambda.html
>
> If I define a datatype, can such an editor be generated based on the 
> datatype
> description?
>

There is no code generation. By the way, would you recommend making [tree] 
parameterized by the type of label? Seems like an obvious thing to do.

Could you point me to the datatype that you use for that language? The 
current object language in ATStead has "lam" an "app" constructs, but not 
"fix" or "ifnz".

On Thursday, October 19, 2017 at 12:09:59 PM UTC-4, Artyom Shalkhakov wrote:
>>
>> Hello all,
>>
>> I'd like to share ATStead:
>>
>> https://rawgit.com/ashalkhakov/ATStead/master/src/index.html
>>
>> It is a simple structured editor based on:
>>
>> http://www.cs.ox.ac.uk/bernard.sufrin/edit.pdf
>>
>> Try it to see if you can enter some expressions! Structured editors are 
>> known to be clunky, but this one is at least modeless. :-)
>>
>> Basically, all functionality presented in the paper works. In contrast to 
>> the paper, the editor's main datastructure is imperative and is very 
>> efficiently updated. So I guess it should scale to big, complex real-world 
>> ASTs (well, one can dream right???).
>>
>> What I'm going to do next:
>>
>>- improve rendering (it's very dumb at the moment, both in terms of 
>>being from-scratch everytime, and in terms of lacking in visual clarity)
>>- improve keyboard entry (handle keybindings, try guessing node types 
>>by lexing the input etc.)
>>- add selection by mouse (this one is simple)
>>- add undo/redo
>>- extend to handle ABTs (so that the editor can help you out with 
>>typical programming stuff: renaming variables, looking up definitions, 
>> etc.)
>>- make easily embeddable in a typical JS application
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ats-lang-users+unsubscr...@googlegroups.com.
To post to this group, send email to ats-lang-users@googlegroups.com.
Visit this group at https://groups.google.com/group/ats-lang-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ats-lang-users/0c089ac9-3b81-4205-9920-094645bcf78d%40googlegroups.com.


Re: ATStead: in-browser structured editing in ATS

2017-10-19 Thread gmhwxi

Do you think we could combine ATStead with the following interpreter I 
wrote:

http://www.cs.bu.edu/~hwxi/academic/courses/CS520/Fall16/.xshare/BitBucket/cs520-2016-fall/lectures/lecture-11-28/FPL-lambda/JS/FPL-lambda.html

If I define a datatype, can such an editor be generated based on the 
datatype
description?

On Thursday, October 19, 2017 at 12:09:59 PM UTC-4, Artyom Shalkhakov wrote:
>
> Hello all,
>
> I'd like to share ATStead:
>
> https://rawgit.com/ashalkhakov/ATStead/master/src/index.html
>
> It is a simple structured editor based on:
>
> http://www.cs.ox.ac.uk/bernard.sufrin/edit.pdf
>
> Try it to see if you can enter some expressions! Structured editors are 
> known to be clunky, but this one is at least modeless. :-)
>
> Basically, all functionality presented in the paper works. In contrast to 
> the paper, the editor's main datastructure is imperative and is very 
> efficiently updated. So I guess it should scale to big, complex real-world 
> ASTs (well, one can dream right???).
>
> What I'm going to do next:
>
>- improve rendering (it's very dumb at the moment, both in terms of 
>being from-scratch everytime, and in terms of lacking in visual clarity)
>- improve keyboard entry (handle keybindings, try guessing node types 
>by lexing the input etc.)
>- add selection by mouse (this one is simple)
>- add undo/redo
>- extend to handle ABTs (so that the editor can help you out with 
>typical programming stuff: renaming variables, looking up definitions, 
> etc.)
>- make easily embeddable in a typical JS application
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ats-lang-users+unsubscr...@googlegroups.com.
To post to this group, send email to ats-lang-users@googlegroups.com.
Visit this group at https://groups.google.com/group/ats-lang-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ats-lang-users/fa7afdbb-fc8c-4768-adbc-660914254e2f%40googlegroups.com.