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