Skip to content
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

Update README.md #279

Merged
merged 5 commits into from
Feb 5, 2018
Merged

Update README.md #279

merged 5 commits into from
Feb 5, 2018

Conversation

ShalokShalom
Copy link
Contributor

In addition to this little correction do I consider to rephrase the following sentence as well, since I feel a little bit confused by it:

All of the code produced by Elchemy can be easily read and analyzed without taking a single look at the source code

In addition to this little corrections, do I consider to rephrase this sentence as well, since I feel a little bit confused by it:

All of the code produced by Elchemy can be easily read and analyzed without taking a single look at the source code
wende
wende previously approved these changes Feb 4, 2018
Copy link
Owner

@wende wende left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@wende
Copy link
Owner

wende commented Feb 4, 2018

What would you feel like rephrasing it to?
As I'm not native my English is obviously far from perfect, so I'm open to any suggestions regarding syntactical aspects

@ShalokShalom
Copy link
Contributor Author

Which source code you mean?

without taking a single look at the source code

@wende
Copy link
Owner

wende commented Feb 4, 2018

@ShalokShalom
Ok. I'll try to rephrase it.
What I mean is there's plenty of languages that output to other languages.
And even if you can understand JavaScript, that doesn't mean an output of Scala.js (Scala to JavaScript) can be reasoned about without looking at the Scala code that produced it.
It's just completely unreadable. What does it mean to the developer?
If someone wrote a part of the system in Scala.js unless you know Scala you won't understand what the code does.

There are however languages that produce outputs that are meant to be read. Like for example CoffeeScript. You don't have to know CoffeeScript to read and understand it's JavaScript output.
You can just look at the JS output and you'll be fine.

The same is true for Elchemy (Well, it got a little bit worse lately, but still readability is our primary concern). You don't need to understand Elchemy. You know only Elixir? That's fine. Just open outputfile.elchemy.ex and you should be fine.

That gives a very important boost to the learning curve for people coming from Elixir (who obviously are our main target after all)

@ShalokShalom
Copy link
Contributor Author

ShalokShalom commented Feb 4, 2018

"All of the code produced by Elchemy can be easily read and analyzed without taking a single look at the original source."

You could also use the word idiomatic, like:

The produced code is idiomatic, performant and it's quite hard to detect the difference between hand written Elixir and such one that is produced by Elchemy.

If thats correct?

@wende
Copy link
Owner

wende commented Feb 4, 2018

Not being able to tell a difference is a little bit of a stretch. Right now it's quite obvious if it was produced by Elchemy.
And although there are outputs like that:

screen shot 2018-02-04 at 23 21 36

Most of the time they actually look like this

screen shot 2018-02-04 at 23 23 03

Which although still easy to read and reason about, it's quite obvious it wasn't hand-written. Mostly because of the awkward parenthesis use.

I like the use of the word idiomatic here.
I think the first part of the second sentence and the other half of the first one add up to both easy to read and accurate definition.

@ShalokShalom
Copy link
Contributor Author

Yes, perfectly. Will you do it?

@@ -30,7 +30,7 @@ Elchemy lets you write simple, fast and quality type safe code while leveraging
- **Easy and type-safe interop**: You can call Elixir/Erlang without any extra boiler-plate. All the calls you make are checked in terms of type-safety as thoroughly as possible
- **All the best of Elm and Elixir**: Elchemy inherits what's best in Elm - type safety, inference and extreme expressiveness, but also what's best in Elixir - Doc-tests, tooling and obviously the entire BEAM platform.
- **Nearly No runtime errors** - Elchemy's type system **eliminates almost all runtime errors**. With a shrinking set of edge cases, your entire app will be as safe as the parts written in Elixir are.
- **Beatiful and fully readable output** - All of the code produced by Elchemy can be easily read and analyzed without taking a single look at the source code
- **Beautiful and fully readable output** - The produced code is idiomatic, performant and can be easily read and analyzed without taking a single look at the original source.
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ShalokShalom opinions?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fine. The other PR is still open FYI

Copy link
Owner

@wende wende Feb 5, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup. Preparing a longer answer to that right now. It seems to touch much larger issue than just English semantics Disregard. I confused it with #281

@wende wende merged commit 6a0361f into wende:master Feb 5, 2018
wende added a commit that referenced this pull request Feb 6, 2018
================

  * Updated core
  * Non english locale bug (#289)
  * Closes #285 - Gitbook without summary (#286)
  * Update BASIC_TYPES.md (#282)
  * Update README.md (#279)
  * Update COMMENTS.md (#280)
  * Supplies #257 roadmap (#278)
  * Update README.md
  * Closes #257 roadmap (#277)
  * Supplies #272 with removed overload (#275)
  * Better contributor list
  * Contributors list
  * Progress updated
  * Closes #272 nested case fix (#273)
  * modernize .travis
  * Properly build website each time
  * stable release
  * 0.6.3 / 2018-01-30 ================
  * 0.6.3
  * Closes #270 bugfix type aliases recompilation (#271)
  * Moduledoc for the example (#269)
  * 0.6.2 / 2018-01-30 ================
  * 0.6.2
  * HOTFIX: No Error on empty files (#266)
  * Elchemy-page release for 0.6.1
  * Elchemy-page release for 0.6.1
  * 0.6.1 / 2018-01-30 ================
  * 0.6.1
  * Include new files into npm release
  * 0.6.0 / 2018-01-30 ================
  * 0.6.0
  * Closes #175 - Incremental compilation (#264)
  * Access macros (#263)
  * Update README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants