Why the syntax for defining sigils in Elixir doesn't use "defsigil"? -


i reading page sigils in elixir tutorial.
expected syntax defining sigils uses "defsigil" "defstruct", "defprotocol", , on.
not so.
why?

the original sigil syntax def __s__ s character used sigil (this def sigil_s.) can see in initial commit started work on sigils. believe work started before macros implemented.

this syntax required hack allow them imported can read in this issue.

today, when writes %f"foo", translates f("foo", []). proposal change translation to: sigil_f("foo", []).

this change brings 2 benefits:

1) name more explicit;
2) allows remove hack in our importer. today, import hello brings functions hello not start underscore makes exception sigils;

you can see in discussion other suggestions such defmodule sigil.s suggested, def sigil_s syntax chosen.

the actual commit implements these changes https://github.com/elixir-lang/elixir/commit/c6284557e792efd67f13f421b723a7a301bdbb93

i not sure why not defsigil perhaps nobody suggested it? best guess given @ time of post, searching "defsigil" on google returns question. if mentioned on github or irc there have been mention of in search results.


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -