Re: Blockchain + Smart Contract in ATS - looking for collaborators
That sounds very interesting! If I understand correctly, we would define a formal set of rules and axioms at the genesis of the blockchain, and then validate (or provide a framework for validation of) business operations based on these rules? Do you have a specific business application in mind (other than supply chain type applications) to help me better understand? Your idea makes me think of dependent types and I am dreaming of applying DT to this blockchain somehow - I just cannot figure out how... :) On Friday, May 4, 2018 at 11:33:47 PM UTC-4, Artyom Shalkhakov wrote: > > Hi Lance, > > On Saturday, May 5, 2018 at 2:40:00 AM UTC+6, Lance Galletti wrote: >> >> >> Hi Artyom, >> >> Thanks for reading! So glad you asked because I actually just finished >> implementing a (very minimal) query language for creating and querying a >> database that is backed up on the blockchain. You can read about this here: >> https://beta.observablehq.com/@galletti94/functional-blockchain-part-2 >> but it is still a very rough draft. >> >> > You're writing it faster than I'm able to read. :-) > > I was thinking along these lines, actually. Can we use blockchain for > painless distributed line-of-business apps? Say I have an app that needs to > sync data with a central server (the app is MOSTLY offline, and setting up > proper networking is too costly). > > >> From here, I see this project going two ways and I would love to know >> what people think will be more useful. >> >> 1. Add distribution to the blockchain so that we have a somewhat complete >> toy application that people can use in order to test various blockchain >> related ideas. For example, different consensus algorithms, ways to store >> the blockchain etc. I am very interested for example in the problem of the >> size of the blockchain and how that will severely limit its use and I would >> love to test some of my ideas on this simulator. >> > > Scalability is an interesting problem to tackle. > > Another issue, again from the business side of things, is whether it would > make it easier to describe typical business stuff (where you have logical > facts, and procedural knowledge, and it usually all gets intermixed to the > point of being totally incomprehensible). > > 2. Turn this into a template. That way if you would like to build a web >> interface for example (instead of command line), or if you would like to >> implement different languages etc you can fork and (hopefully) just >> copy-paste your code. >> >> I would love to hear your thoughts if you have other suggestions as well! >> >> >> On Thursday, May 3, 2018 at 11:30:13 PM UTC-4, Artyom Shalkhakov wrote: >>> >>> Hi Lance, >>> >>> On Friday, April 27, 2018 at 10:17:01 PM UTC+6, Lance Galletti wrote: >>>> >>>> Hey ATS users! >>>> >>>> I recently had the chance to build a blockchain and smart contract >>>> language in ATS - all with a nice CLI thanks to >>>> https://github.com/ashalkhakov/colorado. >>>> >>>> I wrote a small blog post about it here: >>>> >>>> https://beta.observablehq.com/@galletti94/functional-blockchain >>>> >>>> and am looking for collaborators to take this to the next level. If you >>>> would like to help me out with enhancing the language or CLI, or if you >>>> have a grand vision / feedback you would like to share, please reach out! >>>> >>>> >>> This is a very good write-up! Looks like now I understand the idea >>> behind blockchain and smart contracts. >>> >>> I'm wondering what do you plan to do next? >>> >>> Thank you! >>>> >>>> Lance >>>> >>> -- 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/8a95b8e3-3f79-49cd-bee0-946fe7a1f83f%40googlegroups.com.
Re: Blockchain + Smart Contract in ATS - looking for collaborators
Hi Artyom, Thanks for reading! So glad you asked because I actually just finished implementing a (very minimal) query language for creating and querying a database that is backed up on the blockchain. You can read about this here: https://beta.observablehq.com/@galletti94/functional-blockchain-part-2 but it is still a very rough draft. >From here, I see this project going two ways and I would love to know what people think will be more useful. 1. Add distribution to the blockchain so that we have a somewhat complete toy application that people can use in order to test various blockchain related ideas. For example, different consensus algorithms, ways to store the blockchain etc. I am very interested for example in the problem of the size of the blockchain and how that will severely limit its use and I would love to test some of my ideas on this simulator. 2. Turn this into a template. That way if you would like to build a web interface for example (instead of command line), or if you would like to implement different languages etc you can fork and (hopefully) just copy-paste your code. I would love to hear your thoughts if you have other suggestions as well! On Thursday, May 3, 2018 at 11:30:13 PM UTC-4, Artyom Shalkhakov wrote: > > Hi Lance, > > On Friday, April 27, 2018 at 10:17:01 PM UTC+6, Lance Galletti wrote: >> >> Hey ATS users! >> >> I recently had the chance to build a blockchain and smart contract >> language in ATS - all with a nice CLI thanks to >> https://github.com/ashalkhakov/colorado. >> >> I wrote a small blog post about it here: >> >> https://beta.observablehq.com/@galletti94/functional-blockchain >> >> and am looking for collaborators to take this to the next level. If you >> would like to help me out with enhancing the language or CLI, or if you >> have a grand vision / feedback you would like to share, please reach out! >> >> > This is a very good write-up! Looks like now I understand the idea behind > blockchain and smart contracts. > > I'm wondering what do you plan to do next? > > Thank you! >> >> Lance >> > -- 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/e97d60b1-4fe0-42c5-ad69-2ec3182450e4%40googlegroups.com.
Re: Blockchain + Smart Contract in ATS - looking for collaborators
I completely agree! I think my initial goal was to explain (mostly by counterexample) the importance of languages like ATS in the context of smart contracts. I see this toy blockchain as a simulator in that we can demonstrate various ideas in a visual and maybe more effective way than live on the Ethereum network. It could also be a place for us to experiment with solutions to various scalability issues of the blockchain. There is no doubt that there is a need for an ATS to Solidity transpiler - and I would love to contribute! This just may be a separate project. What do you think? On Sunday, April 29, 2018 at 1:42:08 AM UTC-4, Zhiqiang Ren wrote: > > Nice work. The metaphor of slot machine is very useful for my > understanding. > > From my experience, creating a new language in ATS for writing smart > contract while harvesting the type system of ATS for the correctness of the > smart contract is not that straight forward. Writing smart contracts in ATS > (or a derivative of ATS) directly would be a relatively easy way. I think > generating from ATS to solidity would be a concrete step, which I am > interested in. > > > On Friday, April 27, 2018 at 9:17:01 AM UTC-7, Lance Galletti wrote: >> >> Hey ATS users! >> >> I recently had the chance to build a blockchain and smart contract >> language in ATS - all with a nice CLI thanks to >> https://github.com/ashalkhakov/colorado. >> >> I wrote a small blog post about it here: >> >> https://beta.observablehq.com/@galletti94/functional-blockchain >> >> and am looking for collaborators to take this to the next level. If you >> would like to help me out with enhancing the language or CLI, or if you >> have a grand vision / feedback you would like to share, please reach out! >> >> Thank you! >> >> Lance >> > -- 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/e0378fe9-2e9f-4da4-a42b-23608146256e%40googlegroups.com.
Re: Intro to ATS - How to code productively
This is so amazing! Thank you for taking the time! 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/b19fc8c7-72e8-4b28-aec2-006dcb186a0a%40googlegroups.com.
Re: Intro to ATS - How to code productively
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/bd3ac62a-07a7-4d22-b581-29a50766b142%40googlegroups.com.
Intro to ATS - How to code productively
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! I would be happy to collaborate on the write up and hear your thoughts about what drew YOU to ATS. Looking forward to connecting! Lance Galletti galle...@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/819c8fe5-4a19-44b3-a653-d40f65c0fa28%40googlegroups.com.