--
You received this message because you are subscribed to the Google Groups "elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-co...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-co...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
We cannot implement alias Foo.*
. It would require us to know all modules upfront, which is impossible.
Yes, we could. But we want to special case as few things as possible.
Allowing alias Ex.*
would just bring the same problem back. If someone uses it we are back in the same place where adding something to Ex.*
would be a potentially breaking change.
--
You received this message because you are subscribed to the Google Groups "elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-co...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
What if Elixir itself used single-level module names? String.Unicode would become StringUnicode, ExUnit.Case would become ExUnitCase and so on. This would allow it to convey a clear message about user module naming: use at least two components in your module names (as in Root.ActualName) and you won't ever be affected by new modules added to stdlib.
I'm a huge fan of the EcmaScript 6 module system--it works very well and completely avoids name kludges, because you can import modules with whatever name you like. Something like that in Elixir would be awesome.
--
You received this message because you are subscribed to the Google Groups "elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-co...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/169703cd-302d-43e5-bf2c-077a738ee42c%40googlegroups.com.
Afaik, this issue exists in many languages, it would be interesting to know how they are handling their development cycles.
My preference is very strongly on 2.
What about Option #3: "Don't pollute the global namespace."
2) In Javascript Node.js it is possible to use different versions of the same 3rd party lib in the same process without worrying about name kludges. For example, if LibA requires LibC version 1.0, and LibB requires LibC version 2.0, you'll have no problems fetching BOTH versions of LibC, and LibA will use 1.0 while LibB uses 2.0.Mix/Hex (and also Ruby's Bundler) force you to fetch only one version of each 3rd party lib, and if you can't find a suitable version fit it fails to bundle. It looks like Hex provides an $ mix deps.unlock override mechanism, but still this is forcing you to use a single version of each dependency.
My initution is that the structure for doing module versioning for dependencies is possible in Elixir, but it would require tweaking the module name to include the version under the covers. Elixir already does this by appending Elixir in front of all the Elixir modules
--
You received this message because you are subscribed to the Google Groups "elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-co...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/ff0944d4-eb41-4eb3-a3d7-cce209cf216f%40googlegroups.com.
Every file should define what it exports, and also what it imports. It looks to me like Elixir has abandoned Erlang's elegant module system in favor of Ruby-style global namespace dumping.
On Thursday, October 8, 2015 at 1:46:20 AM UTC+9, Paul Schoenfelder wrote:This would destroy compatibility with other BEAM languages
Why not use Erlang's own module, export, and import semantics in Elixir?-module(count_to_ten).-export([count_to_ten/0]).-import(io_lib).count_to_ten() -> do_count(0).Every file should define what it exports, and also what it imports. It looks to me like Elixir has abandoned Erlang's elegant module system in favor of Ruby-style global namespace dumping.
--
You received this message because you are subscribed to the Google Groups "elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-co...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/b240f1fe-90ea-4d33-a2ad-4a5dd3b1cdee%40googlegroups.com.
Where’s mailman, mailer or gen_smtp?
Missing, because they chose the term ‘mail’ as opposed to ‘email’ or smtp.
Hex provides full text search of the package description field so as long as you include the word in your description it will be found. Another solution is to create a website that categorises Hex packages so you can easily find all emailing packages. Hex provides an HTTP API you can use to retrieve all packages.
My initution is that the structure for doing module versioning for dependencies is possible in Elixir, but it would require tweaking the
module name to include the version under the covers.
This would not be enough because you can still only only have version of a given application. So you would need to inject the version into the application name, into the name of all registered processes and into everything else global and unique in the system.
I would love to do hierarchical packages in Hex but it is simply not possible, which is why Hex goes through great lengths to have a great dependency resolver to find a compatible set of dependencies.
To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/CAK%3D%2B-TsG-kjSe4Z1jPMv2kmSLKd%2BD8J_kD9PhvDHgfCUY%2Bk6bQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/9b0ae518-cb38-4755-b18d-7bb701085020%40googlegroups.com.
Thanks,
Red
To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/CAM_eapj%2BpkeWtEspSHdd8MGYk3EEFrBMoSVaEFEdHA9BOzFPvg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/CA%2BV9ejHQV6p4LYnUfQSkTZWfajMep4D2mP9zccHzp%2BHUifU--w%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/CAA1-O0wkLF_%2Bcfwk0%2B7H-UTfZ-JJB%2BCM%2Bwm2O-hYs5942mHgXw%40mail.gmail.com.