Commit Graph
40 Commits
Author SHA1 Message Date
José Valim da50584060 Deprecate def/4 and friends in favor of def/2 with unquote and friends 2013-08-23 19:42:20 +02:00
José Valim 6a68ca5eef Deprecate function/1 and function/3 2013-07-31 12:58:07 +02:00
José Valim 8a9927ea1b Optimize Inspect implementation 2013-07-06 16:17:09 +02:00
José Valim 7048236988 Use a Inspect.Opts record instead of passing opts around 2013-07-05 22:37:47 +02:00
José Valim 628d1b630e Fix surprising behaviour with Module.register_attribute/3 that caused attributes to be persisted unecessarily 2013-07-02 10:31:32 +02:00
José Valim 7f5744bde7 Ensure defmodule :atom does not define an alias 2013-06-16 13:10:59 +02:00
José Valim b87797f788 Return Foo for __MODULE__.Foo outside of a module 2013-06-16 13:10:59 +02:00
Rafael Mendonça França 7cdc25538e Uniform use of whitespace after commas on codebase
This make easier to read and also follow some standard in the code
2013-06-15 16:52:48 -03:00
Jonathan J Hunt 636da42f2a Don't ignore nil during aliasing. Attempt to fix #1159 2013-05-31 15:58:15 -07:00
José Valim 2c98c0999d An Elixir module now translates to Elixir.Module instead of Elixir-Module 2013-05-23 14:36:56 +02:00
José Valim cbe82e0912 Add __DIR__, closes #1019 2013-05-06 11:03:37 -06:00
José Valim a963269244 Fix a bug on Module.to_binary(Elixir), closes #920 2013-04-06 14:35:14 -06:00
José Valim 5557e620ff Backwards incompatible change on before_compile and after_compile
Both callbacks now receive the environment as
first argument instead of the module.
2013-02-16 19:57:14 -07:00
José Valim cd51c80362 Tidy up and clean up quote API, closes #814 2013-02-03 12:14:18 -07:00
José Valim 9a62a43340 Aliases for defmodule also works for raw atoms 2013-01-21 18:40:10 -07:00
José Valim 4e651c8aae Expand aliases inside quote 2013-01-11 09:55:38 +01:00
José Valim 5507b3b36a Refactor module_test.exs to reduce assertions on load time, closes #696 2012-12-06 09:41:27 +01:00
José Valim 6edab89372 Add Module.to_binary 2012-10-28 21:56:50 +01:00
José Valim e2e6e5d0d4 Store overridable funtions defined in before_compile callbacks, closes #572 2012-10-24 11:55:12 +02:00
José Valim e6dba433eb Add Module.create 2012-10-03 23:27:34 -07:00
José Valim 4859264fe3 Import ignores function/macros starting with underscore, default callbacks to underscore style 2012-09-27 16:00:26 -07:00
José Valim b2037b0fcc Module.read_attribute and Module.add_attribute deprecated
In favor of `Module.get_attribute` and `Module.put_attribute`
which mimics Dict API
2012-09-18 13:51:32 +02:00
Yurii Rashkovskii 9e835246d6 defmodule returns module name, binary and the result
Previously, 58eea96fc2 was
attempting to solve the ambiguity of records and defmodule result.

This solves the problem completely by tagging defmodule results with
the :module atom and it brings the module name back into the tuple
2012-09-13 12:35:21 -07:00
José Valim 58eea96fc2 defmodule only returns the result and the binary
We avoid returning { module, binary, result } because
it can be mistakenly confused as a record named module.
Before this patch, defrecord Foo, bar: nil, baz: nil
in IEx was returning:

    Foo[bar: <<binary>>, baz: nil]
2012-09-13 13:56:43 +02:00
José Valim e4ad1c14e4 Docs for functions without implementation are automatically marked as defcallback 2012-09-12 12:59:22 +02:00
José Valim 2431aa5183 Module.split also accepts binaries 2012-09-12 11:26:22 +02:00
José Valim 6c96c3473a Add support to on_definition hooks, closes #448 2012-09-10 21:50:23 +02:00
José Valim c63a07f928 Now we employ consistently zero-based indexes, closes #459 2012-09-10 10:39:21 +02:00
José Valim ce37416cc6 defmodule returns the module binary 2012-09-07 19:19:05 +02:00
José Valim be1b4a12af Provide just Module.split/1 for now that returns binaries 2012-08-30 14:29:51 -03:00
ILYA Khlopotov 567dfd21d7 Implementation of Module.split_name 2012-08-29 23:46:30 -07:00
José Valim 68828d2b49 Code.require_file and Code.load_file now expect the full name as argument 2012-08-21 11:21:21 -03:00
José Valim a00c64681d Add Enum.reverse 2012-08-09 08:53:48 -03:00
José Valim 117d09509c Rename __MAIN__ to Elixir, closes #390 2012-07-22 12:49:36 +02:00
José Valim 1077e64126 Deprecate Module.function_defined? in favor of Module.defines? 2012-07-21 23:32:16 +02:00
José Valim af167fbd11 Revert "Use more explicit naming in module functions"
This reverts commit 390f194b24.
2012-07-21 10:27:19 +02:00
José Valim 390f194b24 Use more explicit naming in module functions 2012-07-20 09:31:25 +02:00
José Valim 4b960a2114 Add compile meta task, move logic to compile.elixir 2012-07-18 10:20:28 +02:00
José Valim 2c396b9cc1 Make the default for ExUnit case to be sync 2012-07-16 15:29:28 +02:00
José Valim d5031b6347 Move all code to erlang style apps 2012-07-05 20:20:16 +02:00