-
Notifications
You must be signed in to change notification settings - Fork 5.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DOCS] Add "Language Influences" page #11198
Conversation
Now, the main similarity to JavaScript is that functions are defined using the keyword | ||
``function``. Solidity also supports import syntax and semantics that | ||
are similar to those available in JavaScript. Besides those points, Solidity looks like | ||
most other curly-bracket languages and has no major JavaScript influence anymore. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This sentence comes as we are desperately trying to avoid any association with javascript :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But I think we still have to close the narrative somehow since we start the section with "it used to be influenced" etc.
docs/language-influences.rst
Outdated
Python's decorators with a much more restricted functionality. Furthermore, multiple inheritance | ||
and the ``super`` keyword are taken from Python as well as the general value semantics of value | ||
and reference types. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could add that several Yul optimizer steps have been inspired by llvm's optimization steps. Not exactly about language though. Many of them are generic, and can't really be attributed to llvm. So I'm not sure about this any more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could rather fit into the optimizer section, I would say.
docs/language-influences.rst
Outdated
and the ``super`` keyword are taken from Python as well as the general value semantics of value | ||
and reference types. | ||
|
||
Last but not least, ``payable`` was inspired by an, we believe, `unnamed language <https://publications.lib.chalmers.se/records/fulltext/234939/234939.pdf>`_ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Last but not least, ``payable`` was inspired by an, we believe, `unnamed language <https://publications.lib.chalmers.se/records/fulltext/234939/234939.pdf>`_ | |
Last but not least, ``payable`` was inspired by, we believe, `unnamed language <https://publications.lib.chalmers.se/records/fulltext/234939/234939.pdf>`_ |
docs/language-influences.rst
Outdated
and the ``super`` keyword are taken from Python as well as the general value semantics of value | ||
and reference types. | ||
|
||
Last but not least, ``payable`` was inspired by an, we believe, `unnamed language <https://publications.lib.chalmers.se/records/fulltext/234939/234939.pdf>`_ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure this is really relevant.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just took what was there in the PR and Chris had listed it. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah but we debated there too :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok so @chriseth wdyt? Keep it or delete it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm fine with either.
docs/language-influences.rst
Outdated
|
||
Another influence to Solidity was Python. Solidity's modifiers were added trying to model | ||
Python's decorators with a much more restricted functionality. Furthermore, multiple inheritance | ||
and the ``super`` keyword are taken from Python as well as the general value semantics of value |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
super is also present in Javascript.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What should I do with this information? Where was it first?
Maybe another influence is doxygen and javadoc (?) on NatSpec. |
This section should also be linked from the intro page. |
987519d
to
ce72ad8
Compare
51d1a5f
to
29d2e28
Compare
29d2e28
to
3913435
Compare
Rebased |
Initial draft for the "language influences" page for the Docs. closes #11130