Re: Blockchain + Smart Contract in ATS - looking for collaborators

2018-05-08 Thread Lance Galletti
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

2018-05-04 Thread Lance Galletti

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

2018-04-29 Thread Lance Galletti
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

2018-03-31 Thread Lance Galletti
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

2018-03-28 Thread Lance Galletti
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

2018-03-27 Thread Lance Galletti
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.