Hi Artyom, This is awesome :)
I have a question about "gradual improvement" of performance. I personally feels it is more about gradual improvement of specification, e.g. change a simple data type into a more refined type, to catch more bugs. So the sales pitch is more like "write dirty code that works first, and then sit down and formally specify what the code should do", at least to me. What do you think? Also I would like to point out abstract types. It's a great way to work out a system in a top-down fashion. We craft some abstract types, then provide a set of functions that works on values of these types (like a DSL), and program using these functions. We can quickly prototype the idea using the type checker, and defer the implementation details to a later point. C can probably do this via pointers or structs, but then you need to think about the details of a struct. On Saturday, March 31, 2018 at 7:49:39 AM UTC-4, Artyom Shalkhakov wrote: > > Hi Lance, > > I've put this > <https://gist.github.com/ashalkhakov/16cf939ba5a7e91cc68733c0441c029b> > together. > > What do you think? And the rest of the group? This is mostly aimed at C > programmers. > > On Thursday, March 29, 2018 at 1:48:45 AM UTC+6, Lance Galletti wrote: >> >> Awesome thank you! Looking forward to it! :) >> >> On Wednesday, March 28, 2018 at 12:00:14 PM UTC-4, Artyom Shalkhakov >> wrote: >>> >>> On Wednesday, March 28, 2018 at 9:34:37 PM UTC+6, Lance Galletti wrote: >>>> >>>> Hi Artyom! >>>> >>>> Thank you for your feedback! It is great to hear an advanced >>>> programmer's perspective on the appeal of ATS. If you have the time it >>>> would be great to incorporate into the write-up a section about this! :) >>>> >>>> >>> I wouldn't call myself an advanced programmer, but I've been interested >>> in ATS programming for a lot of time, that's true. >>> >>> I'll write a sales-pitch. It's really exciting stuff (to me, at least!). >>> >>> >>>> So far I have been just putting together what I have learned from >>>> Hongwei's classes and books but I will definitely be checking out HtDP - >>>> thank you for the suggestion! >>>> >>>> >>> >>>> On Wednesday, March 28, 2018 at 3:13:37 AM UTC-4, Artyom Shalkhakov >>>> wrote: >>>>> >>>>> Hi Lance, >>>>> >>>>> On Tuesday, March 27, 2018 at 9:40:55 PM UTC+6, Lance Galletti wrote: >>>>>> >>>>>> Hi ats users! >>>>>> >>>>>> I recently had the opportunity to give a talk at a hackathon about >>>>>> ATS and coding productivity / quality. I thought I would share my slides >>>>>> here: >>>>>> >>>>>> >>>>>> https://docs.google.com/presentation/d/157VR0oQNTfUiiChYdbv77PYZkYKo_zkZfwRiqGv6sEY/edit?usp=sharing >>>>>> >>>>>> And the informal write up I am currently developing: >>>>>> >>>>>> https://github.com/galletti94/magnificATS/tree/master/INTRO >>>>>> >>>>>> If, like me, you are passionate about coding quality, methodology, >>>>>> productivity, or functional programming and, of course ATS, please reach >>>>>> out! >>>>>> >>>>>> >>>>> First off, I chuckled when I saw the name of the repo. :-) >>>>> >>>>> I want to write something about the C-style programming for ATS, but >>>>> not quite have the time (or the guts or whatever it is I lack). It would >>>>> be >>>>> great to help fellow programmers learn more about ATS! >>>>> >>>>> >>>>>> I would be happy to collaborate on the write up and hear your >>>>>> thoughts about what drew YOU to ATS. >>>>>> >>>>> >>>>> I still view ATS as C-with-proper-type-system. :) This is what drew >>>>> me to ATS: you can write safe, efficient systems-level programs but this >>>>> will require some theorem proving, bringing this academic discipline >>>>> close >>>>> to actual programming practice (or you can cast your way through the >>>>> types, >>>>> but then you're the one to blame if things go wrong). ATS helped me to >>>>> improve my knowledge of C. >>>>> >>>>> Regarding your write-up, have you seen HtDP (How to Design Programs)? >>>>> Their "design recipes" are somewhat similar IIRC (proceed top-down, >>>>> refine, >>>>> state pre- and post-conditions, provide examples of evaluation aka tests). >>>>> >>>>> Looking forward to connecting! >>>>>> >>>>>> Lance Galletti >>>>>> gall...@bu.edu >>>>>> >>>>>> >>>>>> -- 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/5da7c3c7-6090-4cb6-932d-8dfcdb66909b%40googlegroups.com.