Demo coming soon? Tau Meta Language in C++ updated on Github.

in #blockchain6 years ago (edited)

63FD68AE-B6C9-48D1-8774-A2C5CAE4D0E9.jpeg

Awesome visual promotion design by @capitanart for my only other favourite blockchain project besides Steem. Tau for the win! Might sound overly dramatic, but life has never been the same ever since I came across the following statement back in 31st December 2017:-

"Consider a process, denoted by X, of people, forming and following another process denoted by Y. Tau is the case where X=Y."
by Ohad Asor, The New Tau

Say hello to our little friend above. It's the formula for intelligent decentralized networks. I'd really like to write more about this all day and night, but it's just difficult talking about something without a product to inspect. Regardless, it's still very real in my head because it has been shown to be a technical possibility. Is this the alpha protocol, the e=mc2 of blockchain technology?

Good news: there's something to show soon. It looks like the MVP release is on the horizon. New code just out on https://github.com/IDNI/tau. The author, Ohad Asor also remarked "the code is written. now i have to fix its bugs."

At only 384 lines of C++ code, what could it possibly demonstrate? If this is indeed the first instance Tau Meta Language (TML), it would then need to be re-written in TML itself for the next significant stage in development. At the moment, maybe you'd want read up on the following if you're interested:-

  1. Binary decision diagram: https://en.wikipedia.org/wiki/Binary_decision_diagram
  2. Boolean satisfiability problem: https://en.wikipedia.org/wiki/Boolean_satisfiability_problem
  3. First order partial-fixed point logics: https://en.wikipedia.org/wiki/FO_(complexity)
  4. Partial evaluation: https://en.wikipedia.org/wiki/Partial_evaluation
  5. Gödel's incompleteness theorems: https://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems
  6. The Paradox of Self-Amendment by Peter Suber: https://dash.harvard.edu/bitstream/handle/1/23674879/Suber%20-%20Paradox%20of%20Self-Amendment%202.pdf?sequence=1
  7. Decidability: https://en.wikipedia.org/wiki/Decidability_(logic)
  8. Self-reference: https://en.wikipedia.org/wiki/Self-reference
  9. Negation: https://en.wikipedia.org/wiki/Negation
  10. IDNI / Tau / Agoras website: http://idni.org

Stay tuned.

Honestly, I don't really know what to expect at the moment. All I know is that I've never been this excited before. Alright, time to attend to some life obligations before getting back into writing about Tau's development. As always, thanks for reading!

Note: here's part 1 of my series on Tau, more to come soon - https://steemit.com/blockchain/@kevinwong/what-is-tauchain-and-why-it-could-be-one-of-the-greatest-inventions-of-all-time-part-1

Disclaimer: Not financial advice.

Sort:  

EDIT: The demo comes before TML is written under TML. I made a mistake initially. Demo is the next main step

TML has been written, and is in the process of debugging

The implementation of using Binary Decision Diagrams is performing better than what was initially anticipated.

Once the TML is debugged, the demo should be out for us to get a sense of the reasoner.

After this is about writing TML using the TML itself. This is the ultimate test to self definition which is central to the design of Tau.

Tau is based on the design of a decidable, self defining logic where the blockchain and amend itself automatically according to the real time consensus of its users. This requires the protocol to first be able to define itself using its own logic.

This is the most difficult step (given decidability, self definition within non decidable frameworks like Turing Complete is trivial) and it looks like this step has been successfully completed.

Join over 2000 community members on telegram https://t.me/tauchain to find out more

I would hope Ohad at least provides a demo which people can relate to before the TML in TML. People need to see visually the progress not just see code. I know how to read the code but I'm not 99% of the audience. For the 99% seeing Tau in action is the game changer.

From what I see on Github doesn't Ohad still have to complete the Earley parser component or is that completed somewhere else? I would think he would need the parsing mechanism before he can code TML in TML? But it does look like he is nearly complete with regard to PFP and BDD which are the two major components that make TML special. The Early parser if I understand right is the component which will allow discussions to translate into the logic component.

EDIT: The demo comes before TML is written under TML. I made a mistake initially. Demo is the next main step

I had to ask Ohad

Yes, the Earley Parser is a very important component to the TML, but it will be applied on the next layer (TML written in TML).

There are a lot of reasons why TML has to be rewritten in TML (rather than just in C++). Firstly, the entire idea of Tau revolves heavily around self definition. Tau is about defining its own rules using its own rules, which is how we'll get to a protocol that can amend itself in subsequent blocks according to the real time consensus of its users in the current block.

Additionally, implementing the TML using BDDs gives it a unique feature: it enables the TML defined under itself to carry significant performance increases over the original. This means it no longer makes any sense to implement the parser over the original C++ TML as one would rather implement it over the faster version and the Parser itself is not necessary for self definition.

Similarly, the demo will come once TML is defined under itself. <- wrong, it's coming before that

BDDs are one of the best things to have happened to the project since the discovery of Partial Fixed Points (only known decidable, self defining logic that supports negation). It is truly very well suited to our needs and offers extraordinary advantages over alternatives.

Finally, Ohad doesn't anticipate this next step (TML over TML) to be as difficult as the previous one and it shouldn't take anywhere near as long.

Interesting. I have no idea how he will implement TML over TML without some kind of parser but I guess I will find out. I mean I suppose he could do it but it seems like it would be quite difficult. What I can see from the current Github code direction is you can definitely implement the rules, and you can for sure handle the logic, and I can sort of see how you can do stuff like deductive reasoning and model checking etc.

I admit the self definition part seems to be conceptually the more difficult part. From what I understand the Futamura projection component is what ultimately will allow TML to be implemented in TML. From what you say it seems he will have to reverse engineer the C++ code base and do it again in the TML language which I'm hoping will be simple else we will not be able to even read it.

I guess I can look forward to the Futamura projection which is the next key component I expect Ohad to implement as it's the logical next step. For instance PyPy seems to be an example of what Ohad might be trying to do next where Python is using the Python language to rewrite a better version of itself. The benefit seems to be "automatic compiler generation and optimization". This might explain how TML could be generated from TML itself to be far superior and better optimized than done in C++. Strategically speaking this makes a lot of sense but it also means we might not see or know the benefits until later.

Reference

  1. https://en.wikipedia.org/wiki/PyPy
  2. https://arxiv.org/abs/1611.09906

sorry, I made a mistake about the demo

Ohad plans to demonstrate TML with the initial version, it doesn't have to wait until TML over TML

So it shouldn't be very far off

Hey Kev, like a few others, I am interested in this but haven't had a whole lot of time to do my own research. Where is the best place to ask questions? the telegram channel? Best ways to invest in the project?

Telegram is best :) Tau itself doesn't have a coin, but best closest way is through the project its founder plans to build after Tau is up, which is Agoras.

Good stuff, will check out their telegram

As we discussed the last time, this is really something I should dig into. My problem is finding the time. Anyways, I bookmark this with all the inks you provided :D

Haha.. yea i have too much time.. a common situation in tau fanboys/girls/etc i think. Feel free to drop by telegram/irc to ask anything you have in mind!

I hope I will be able to free some time at some point. With all the recent SteemSTEM developments (the app is about to be released... it is a matter of hours) plus my normal job... I need 48-hours-long days :D

But as long as I will start digging into it, I will definitely come back to you, as I said earlier this summer.

I’m so fascinated by the way Ohad programs, 384 lines, what a minilaist programmer :-)

Looking forward for TML, since Ohad sounds confident about it, hope it won’t take long any more, I guess not.

Great visual promotion design indeed, so cool!

Posted using Partiko iOS

I focus more on readability and efficiency of the code (when it runs) but I agree his code is very concise in the latest iteration he produced. You have to really think about why he chose to do it in the way he does it. One reason is the less lines of code the easier in theory it is to review and maintain but this is only true sometimes. It also has to be following certain coding standards etc.

Just my opinion and I'm not even a great programmer. I just read a lot of code.

I can imagine the less lines it has, the less possible later the bugs and halting would come out. Tau is kinda exclusive or elitist when it comes to the entry level I guess, especially at current stage. It certainly takes time to understand. I'm inspired by the article/videos you've been sharing.

If I understand correctly, TML is mostly for developers right? Or do you think demo would be more understandable for most?

Correct TML is a meta language which is something developers can use to create programming languages. That being said I do think it will reach a stage where it's not so elite and esoteric for non developers to use. Tauchain the discussion platform is for everyone.

I hope the demo Ohad chooses is one which is easy to relate to. I think transitive closure was not the kind of demo for ordinary people to relate to.

I have faith in the project and looking forward to see how it can scale the discussion. Hope it can be a successful.

Thank you for your kind compliments on my effort. You speak very good Chinese. Feel free to translate some of my posts and explain what you find necessary at a high level. I don't want Tauchain to be an esoteric thing which is why I post the blogs about it. Tauchain has to be for the world, for everyone.

Cool. I’ll dig deeper into them and translate them in the future :)

so, we have the language of langues. I am new to Tao - but after going through many things like eSML for the smart contract "translation" this looks interesting. Thank you for sharing!

TML is definitive for "smart contracts" as it's a hypothesized language of law, in that it needs:-

  1. To be able to refer to itself (self-reference)
  2. To be decidable (this rules out turing-complete languages)
  3. To support negation (With 1 & 2, we end up with two possibilities when it comes to choosing the type of logic which is FO[PFP] and FO[LFP]. Requirement 3 is only possible with FO[PFP])

Which is why TML is based on FO[PFP]. It's also worth noting that TML is not one single universal language as it can redefine itself and change over time, from block to block.

Check out these blogposts in regards to language:

I need to call “Ullman and Aho” for help!

I remember reading something about Tau in a discussion regarding WREN and Smart contracts in STEEM

Quick question: formal verification of this language with something like F* will be possible ?

Yup ultimately it depends on the nature of F*, here's the excerpt about internet of languages taken from the website:-

There is no single best language for all purposes, which is the reason we're building the Tau Meta Language (TML): a language intended to define other languages and translate between them while maintaining the same information. TML allows seamless communication and semantic translation between programming languages, knowledge representation languages, visualization and organization formats, domain-specific languages, and more.

ultimately it depends on the nature of F*

F* is a language developed at Microsoft Research for the formal validation. Quick into is here : https://www.microsoft.com/en-us/research/people/nswamy/

I must admit that I'm starting to anticipate this in greater number as well after seeing the presentation of how discussion and decision making along side it would flow using Tau. As someone who codes, the discussion looked like high level coding to me, which is a good sign. Every system needs clear sets of rules and directions to work efficiently, and every individual should have a say on them. Tau makes that a painless process.

I haven't given it more thought, but I'm excited what the future holds for this technology. Perhaps in future, every decision making that involves groups of people will somehow use Tau.

Hello igster, Steemgar does not work. There is a error: "SDKError: sc2-sdk error"

I'll look into it in the coming days.

Thanks igster, that's very nice of you =D

Should be working now

Hey great, igster, thank you =)
Why do not like you play along?

Thank you, igster, I appreciate it =D

All these blockchains including TAU are seriously working hard on releasing more of their product and solving a lot of problems of any current system.

10 months ago the prices didn't reflect the development of each project but now, the prices doesn't reflect the progress of these projects as well... hahaha...

The valuation that is coming is gonna be massive. I'm not invested in TAU but you talk about it a lot that I'm looking at it and wanting to study it much closer.

I dunno, I just don't find much else interesting anymore since Tau. If you happen to study and write about it in the future, let me know!

I would heavily suggest you study it intensely and thoroughly. In fact I don't understand why more people in the space haven't. Why have so few really looked deep at Tau?

Have been invested in others basically. Already at my max of keeping track ability. Haha.

Finally some code to prove the concept but I feel like compliement more on the first graphic, definitely on par with some AAA title of movie posters.

Posted using Partiko Android

Yes now that there is code the developers can see for sure that what is being attempted is feasible. I figured out it was feasible in 2017 after discussing it with Ohad in private. But seeing the code is even better because showing is better than telling. If the code works then it's proof by example that TML and Tauchain is plausible.

We are really really close to that proof by example. The proof by example is the biggest moment because once we know what can be built we can then see it as only a matter of following the current specification over time to build it. So we know a partial evaluator can be built theoretically speaking but if Ohad can prove it in practice it's suddenly not theory that we can use PFP. If he can show a demo example then we can see for ourselves that the logic really can work. Seeing that it can work should generate much excitement.

Currently though the code is being debugged. I'll be much more excited when I see test results and or some example.

Yep, proof of example will be the next big thing as most of the folks do not have the command of c++ knowledge. Checked out your blog it seems like you are quite into the Tau concept as well? Glad to find out this project are actually backed by elder steemian like you and Kevin. Let's see what Ohad would bring to us soon.

The proof of concept was already up since last December. This one is pfp/tml though, which is the actual core product. As far as I know, @capitanart was one of the concept artists for assassin's creed: origins - so yeah, sweet poster :)

The proof of concept in December was perhaps a bit too academic for even most developers to get excited about. This is a bigger deal though because once people can see the logic actually work as he said it would work that changes minds. Right now it seems a lot of developers either don't understand what is being worked on or they think it's impossible.

And who wouldn't think it's impossible? It's never been done before at least never like this.

Yeah that was pretty good

Do a video on my comment? Go home bot, you are drunk.

Awesome graphic that looks so cool. Really cool spaceman floating up there above the world. If you had to guess how long do you think until the demo?

Agreed - very poetic imagery. As for the demo, I was expecting by Q3 which is today. I think it'll take a few more weeks to clean up the bugs and all? Hard to say. The code is short, but this foundational tech has to be absolutely polished. Although for demo purposes.. I guess maybe the wait isn't so far away? Will see.

I think he said to sort out the bugs takes a few days but rewriting the TML in TML which I dont even know what that means or how long that would take..hoping end of year for the demo.we shall see.

I give thanks for being living these exciting moments. I hope this marks our lives.

A pride appear between your lines @kevinwong

I give thanks for being living these exciting moments. I hope this marks our lives.
A pride appear between your lines

Same @capitanart, pleasure! More awesome art please :)

2j3qdo.jpg

Lol alien technology coming soon!

Given how long we've been eating shit, it's about time!

Wow, 384 lines of code? Looking forward to it!

Yes, really amazing stuff. I'm counting on the dev to be the nikola tesla of blockchain lol. MVP demo coming soon :)

Greeting to @capitanart that work of technology is awesome and great mind set.

What do we expect about Tau development? will, don't be get to much excited guy's we will get through that thing soon.. :))

post a good content and comment according to their topics..👍Steem on!

Thanks for sharing your exitement. I feel a bit like the day before Chrismas Eve. Let's see what we will get!

When you and @trafalgar are excited by something, I'm excited by it too. Definitely going to find the time to get into this.

a couple of hours a day for a week should be good enough i think

Usually when I open up wikipedia pages that have a greater than 25% content of acronyms in the text, I check to see if anyone has spiked my drink with LSD. In this case I know I am not the unwiting victim of an acronym named drug attack and that actually there really are this many codes and concepts involved in understanding each page. I wonder how many people will understand all this without much learning. :)

Anyway, I will dig more deeply when I have time - thanks for sharing, I think. ;)

Once you're in the rabbit hole, you'll go deeper :) lol

every rabbit hole, it seems, eventually hits the roots of a tree (of one kind or another). :)

All aboard the hype train :))

Why agoras is not listed at coinmarketcap.com?

It is https://coinmarketcap.com/currencies/agoras-tokens/ but they still have not updated it ever since it got delisted from Bittrex earlier this year

One good thing I like about life is innovation.

this is nice information, this will help a lot

This iscool.
A lot of developments on tech especially software development

Hi @kevinwong I'm a bot, and wanted you to know that I've upvoted and re-steemed your post to help you with your promotion efforts! -exp

You got a 38.13% upvote from @postpromoter courtesy of @kevinwong!

Want to promote your posts too? Check out the Steem Bot Tracker website for more info. If you would like to support the development of @postpromoter and the bot tracker please vote for @yabapmatt for witness!

very wonderful news update, but your graphic awesome and very eye catching...love ti see, i'm a graphic designer and i'll make soon this type of graphic. thanks.

Thanks for such a great and helpful article @kevinwong

@kevinwong purchased a 97.38% vote from @promobot on this post.

*If you disagree with the reward or content of this post you can purchase a reversal of this vote by using our curation interface http://promovotes.com

really best content c++ language really useful to all person

You got a 53.30% upvote from @upme thanks to @kevinwong! Send at least 3 SBD or 3 STEEM to get upvote for next round. Delegate STEEM POWER and start earning 100% from your share, daily payouts ( no commission ).
Quick delegation links: 25SP | 50SP | 100SP | 250SP | 500SP | 1000SP | 2000SP | 5000SP | Custom Amount

updates are required for application to work properly , looking forward for the same

too great an advance more that makes us add more information

What do you recommend for me I am a noob girl in programming language C, which language is the best for you my friend.

.5 sbd pls ?

kevinwong that's a really awesome news.

Its amazing

Congratulations @kevinwong!
Your post was mentioned in the Steemit Hit Parade in the following categories:

  • Comments - Ranked 9 with 83 comments
  • Pending payout - Ranked 3 with $ 341,66

excellent..you may find on my blog, the most accurate financial writings on the board,,gold/silver/ equities and BTC..forecasts..thanks.

As a person that also write a program its nice to see post like this good job

ADVANTAGES OF PROGRAMMING IN C ++
There are C ++ compilers for different operating systems, which represents an advantage in terms of portability. It is possible to compile our code on different platforms, if the operative code of the graphic interface code is separated. So, if you want to compile for Apple or Linux systems, you simply have to modify the code related to the graphical interface. This reduces the programming time to pass the code from one system to another. In programming languages ​​such as Visual Basic this is impossible since there are no compilers for Visual Basic code on other systems than Windows.
Very didactic language, thanks to this language you can learn many other languages ​​with great ease, such as C #, Java, Visual Basic, Javascript, PHP, among others.
C and C ++ are such robust and versatile languages ​​that are currently widely used in the creation of software, such as operating systems (windows, GNU / Linux, Mac OSX, android), utilities (libraries, services, maintenance tools), and in development software such as compilers, debuggers and IDE (integrated development environments)
It is a very flexible language that allows you to program with multiple styles. One of the most used is the structured "not taken to the extreme" (allowing certain licenses to break).
C ++ is appreciated for the efficiency of its code and is one of the most popular programming languages ​​for creating software systems and for creating applications.
It is a widely used language, there are many online tutorials, books, open source codes ... there is plenty of material and enough to learn the necessary and much more with this language.

DISADVANTAGES OF PROGRAMMING IN C ++
Use of very complex DLLs (dynamic libraries). Java and .Net have evolved these concepts by manipulating the DLLs through the frameworks they provide. In contrast, in C ++ the developer must take charge of loading and freeing these libraries from memory, and take risks by handling this memory.
Developing a system in C ++ is like building a skyscraper: it has good support and is robust, but if there are errors in the lower floors the whole upper part is coming down terribly.
Handling pointers and memory regarding it. Of course, this is also a great advantage because it allows better control of memory and good management of computer resources, but the inexperience of the developers or the loss of custom with this type of variables (especially when they are double or triple pointers , even of higher order) leads to disaster.
It is not recommended for web page development.
One of the reasons that has brought more headaches to programmers in C language is the correct release of memory. If you forget to free some memory, when the program ends that memory stays busy (although the program is no longer running), are the famous "Memory Leaks".
It is difficult (or at least it is not as simple as in other languages) to program databases