User Tools

Site Tools


notes_while_learning_elixir

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
notes_while_learning_elixir [2018/08/12 17:56]
luciano created
notes_while_learning_elixir [2018/08/12 18:01] (current)
luciano [import]
Line 5: Line 5:
 Elixir'​s syntax is too flexible for my taste. For example, ''​()''​ are optional around arguments in function calls. I am happy that ''​mix format''​ now adds them! Elixir'​s syntax is too flexible for my taste. For example, ''​()''​ are optional around arguments in function calls. I am happy that ''​mix format''​ now adds them!
  
-===== ''​import'' ​=====+===== import =====
  
 The ''​import''​ statement defaults to importing all public names in the module, an unsafe default. The ''​import''​ statement defaults to importing all public names in the module, an unsafe default.
Line 17: Line 17:
 What I don't like about the syntax above: What I don't like about the syntax above:
  
-* The comma after the ''​MyModule''​. It's there because ''​import''​ is a macro, and ''​only:​ […]''​ is the second argument (more about that below). Maybe I'll accept it or (get used to it) when I learn to code macros. For a beginner, that comma is just strange. 
  
-* The colon after ''​only''​. That's because the second argument is actually a keyword list (or whatever it's called, I'm not sure about the name of that now). The full syntax would be ''​{:​only,​ x}'',​ but there'​s this syntactic sugar that allows spelling such lists without the braces and comma, when they appear as the trailing arguments in a function or macro call. 
  
-* The list ''​[MyFunc:​ 1]''​ to specify a function with arity 1. Why not ''​MyFunc/​1'',​ the syntax used by the capture operator ''&''?​+  * The comma after the ''​MyModule''​. It's there because ''​import''​ is a macro, and ''​only:​ […]''​ is the second argument (more about that below). Maybe I'll accept that comma or (get used to it) when I learn to code macros. For a beginner, that comma is just strange. 
 + 
 +  * The colon after ''​only''​. That's because the second argument is actually a keyword list (or whatever it's called, I'm not sure about the name of that now). The full syntax would be ''​{:​only,​ x}'',​ but there'​s this syntactic sugar that allows spelling such lists without the braces and comma, when they appear as the trailing arguments in a function or macro call. 
 + 
 +  ​* The list ''​[MyFunc:​ 1]''​ to specify a function with arity 1. Why not ''​MyFunc/​1'',​ the syntax used by the capture operator ''&''? ​(I don't like that syntax either, but I'd rather see ugly syntax used consistently than inconsistent,​ ugly syntax to represent a function with arity).
  
    
notes_while_learning_elixir.1534121796.txt.gz · Last modified: 2018/08/12 17:56 by luciano