You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: getting-started/typespecs-and-behaviours.markdown
+4-3
Original file line number
Diff line number
Diff line change
@@ -11,8 +11,9 @@ title: Typespecs and behaviours
11
11
12
12
Elixir is a dynamically typed language, so all types in Elixir are inferred by the runtime. Nonetheless, Elixir comes with **typespecs**, which are a notation used for:
13
13
14
-
1. declaring custom data types;
15
-
2. declaring typed function signatures (specifications).
14
+
1. declaring typed function signatures (specifications);
15
+
2. declaring custom data types.
16
+
16
17
17
18
### Function specifications
18
19
@@ -35,7 +36,7 @@ Elixir supports compound types as well. For example, a list of integers has type
35
36
36
37
While Elixir provides a lot of useful built-in types, it's convenient to define custom types when appropriate. This can be done when defining modules through the `@type` directive.
37
38
38
-
Say we have a `LousyCalculator` module, which performs the usual arithmetic operations (sum, product and so on) but, instead of returning numbers, it returns tuples with the result of an operation as the first element and a random remark as the second element.
39
+
Say we have a `LousyCalculator` module, which performs the usual arithmetic operations (sum, product, and so on) but, instead of returning numbers, it returns tuples with the result of an operation as the first element and a random remark as the second element.
Copy file name to clipboardExpand all lines: getting-started/where-to-go-next.markdown
+3-3
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ In order to get your first project started, Elixir ships with a build tool calle
17
17
$ mix new path/to/new/project
18
18
```
19
19
20
-
We have written a guide that covers how to build an Elixir application, with its own supervision tree, configuration, tests and more. The application works as a distributed key-value store where we organize key-value pairs into buckets and distribute those buckets across multiple nodes:
20
+
We have written a guide that covers how to build an Elixir application, with its own supervision tree, configuration, tests, and more. The application works as a distributed key-value store where we organize key-value pairs into buckets and distribute those buckets across multiple nodes:
21
21
22
22
*[Mix and OTP](/getting-started/mix-otp/introduction-to-mix.html)
23
23
@@ -29,7 +29,7 @@ Elixir is an extensible and very customizable programming language thanks to its
29
29
30
30
## Community and other resources
31
31
32
-
We have a [Learning](/learning.html) section that suggests books, screencasts and other resources for learning Elixir and exploring the ecosystem. There are also plenty of Elixir resources out there, like conference talks, open source projects, and other learning material produced by the community.
32
+
We have a [Learning](/learning.html) section that suggests books, screencasts, and other resources for learning Elixir and exploring the ecosystem. There are also plenty of Elixir resources out there, like conference talks, open source projects, and other learning material produced by the community.
33
33
34
34
Don't forget that you can also check the [source code of Elixir itself](https://github.com/elixir-lang/elixir), which is mostly written in Elixir (mainly the `lib` directory), or [explore Elixir's documentation](/docs.html).
35
35
@@ -41,4 +41,4 @@ Elixir runs on the Erlang Virtual Machine and, sooner or later, an Elixir develo
41
41
42
42
* Erlang's official website has a short [tutorial](http://www.erlang.org/course/concurrent_programming.html) with pictures that briefly describe Erlang's primitives for concurrent programming.
43
43
44
-
*[Learn You Some Erlang for Great Good!](http://learnyousomeerlang.com/) is an excellent introduction to Erlang, its design principles, standard library, best practices and much more. Once you have read through the crash course mentioned above, you'll be able to safely skip the first couple of chapters in the book that mostly deal with the syntax. When you reach [The Hitchhiker's Guide to Concurrency](http://learnyousomeerlang.com/the-hitchhikers-guide-to-concurrency) chapter, that's where the real fun starts.
44
+
*[Learn You Some Erlang for Great Good!](http://learnyousomeerlang.com/) is an excellent introduction to Erlang, its design principles, standard library, best practices, and much more. Once you have read through the crash course mentioned above, you'll be able to safely skip the first couple of chapters in the book that mostly deal with the syntax. When you reach [The Hitchhiker's Guide to Concurrency](http://learnyousomeerlang.com/the-hitchhikers-guide-to-concurrency) chapter, that's where the real fun starts.
0 commit comments