In accordance with our meta agreement to have a Language of the Month, and since the list of nominations had a single highest-voted entry at the beginning of July, we have a new featured language! Throughout July 2018, our Language of the Month, nominated by myself, will be:
Japt
What's a Language of the Month?
See the meta posts linked above. In short, during July, those who wish to participate should learn (at least the basics of) Japt, use it to solve challenges, and discuss it in the Japt chat room. Participation is completely optional, but is anticipated to be fun!
Information about Japt
Japt is a shortened version of JavaScript, created by ETHproductions in early November 2015.
Japt is heavily based off of JavaScript; after transpiling Japt's syntax features to JavaScript, it is evaluated as vanilla JS. This allows easy building of an online interpreter. Some of the main features are:
- One-letter functions: each lowercase letter corresponds to a specific function, which is different on strings, arrays, and numbers.
- String compression: Japt uses the shoco library for string compression. Wrapping a string in backticks tells the interpreter to automatically decompress it.
- Anonymous functions:
XY{X+Y}
is transpiled tofunction(X,Y){return X+Y}
, as is@X+Y}
, and in some cases, simply+
. This allows for easy creation of functions on the fly. - Unicode shortcuts: All 1-byte characters from
¡
toÌ
transpile to longer sequences of chars.
Documentation
Documentation is available in the sidebar of the Japt interpreter and the Japt v2.0a0 interpreter
Other Links
For help, you can also visit the Japt chatroom. If no one's there, ping @ETHProductions, @Oliver or myself and we will get back to you.
(If you consider yourself knowledgeable in Japt and would like to help teach it to other users, feel free to add your name to that list!)
Additional Efforts
In order to help promote Japt through the month and get more people to start using it, we - that being primarily ETH, Oliver & myself, but you may also see Bubbler and Nit contributing to - will be attempting to curtail/delay the posting of our own solutions
We will also be offering some bounties to those participating. For starters, ETHProductions will be awarding 50 rep to every member posting their first Japt solution during July and I will be setting up some open-ended bounties, the first of which is listed below.
Bounties
Unless otherwise noted, the following bounties are all for 100 rep each and will expire at the end of July. If you have any suggestions for additional bounties, please leave a comment.
- Best Japt tip posted by someone who had not posted a tip prior to the 1st of July.
- All new contributors who add a number to this solution.
- Anyone who can manage to add Japt to this. (200 rep)
First person to beat 24 bytes on this challenge- Claimed by Kamil Drakari- First person to score below 20 bytes on this challenge (200 rep, including the 100 rep above - will be awarded to Kamil if unclaimed at the end of the month)