Commit Graph
421 Commits
Author SHA1 Message Date
José Valim 19d402b7d5 Disable native compilation when on_load attributes is present
This is a work around an Erlang bug, see #845 for more information.
Closes #845.
2013-02-17 12:22:08 -07: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 fb82b0c679 Pick latest variable in between clauses instead of picking a random one 2013-02-14 09:43:54 -07:00
José Valim 28211b2714 Ensure aliases expansion also works for implicit aliases 2013-02-03 21:57:39 -07:00
José Valim 109c07e757 Improve aliases hygiene by using metadata 2013-02-03 15:12:38 -07:00
José Valim 3537bbbbf4 Refactor aliases handling 2013-02-03 13:07:20 -07:00
José Valim cd51c80362 Tidy up and clean up quote API, closes #814 2013-02-03 12:14:18 -07:00
Yurii Rashkovskii a1a576e9d1 Implement as_boolean/1 type
Closes #798
2013-02-03 10:40:35 -08:00
José Valim f4aed8e873 Reduce vars footprint in case/receive clauses 2013-02-02 13:20:59 -07:00
José Valim 008ee62f8b Take into account Erlang may pass line numbers as none 2013-02-02 09:00:43 -07:00
José Valim 7196543060 Improve how aliases for defmodule are generated 2013-01-30 16:43:29 -07:00
José Valim 3137bfc614 Move bootstrap code for IEx to IEx.CLI 2013-01-29 12:30:09 -07:00
José Valim 4d3d61e173 Deprecate :local.(args) syntax 2013-01-28 21:21:18 -07:00
José Valim 20942ee329 Better support for Unicode lists 2013-01-28 11:43:25 -07:00
José Valim ba528f0f92 Add default timeout to elixir_code_server and unify all call points 2013-01-27 11:48:27 -07:00
José Valim fef7ef7233 Ensure consistent use of stab operator in do/end, parens and fn/end, closes #780 2013-01-27 11:00:59 -07:00
Yurii Rashkovskii 2bfe0fe358 Implement integer -> size(integer) syntax shortcut for bitsyntax
Closes #795
2013-01-25 17:47:18 -08:00
José Valim ded17471fa Revert "Merge pull request #778 from alexrp/master"
There is still some discussion pending on this, see #791

This reverts commit f2d4d1e0b9, reversing
changes made to c524bcdeb2.
2013-01-24 13:43:34 -07:00
alexrp a3df724bb8 Use system_services_timeout for elixir_code_server calls in elixir_compiler. 2013-01-23 10:14:48 +01:00
José Valim abb1ae981a Add hygienic imports to macros 2013-01-21 20:45:49 -07:00
José Valim b3747a28e1 Raise an exception if var!(x) does not expand to a proper var 2013-01-21 19:59:37 -07:00
José Valim f380d0c93f Export elixir:translate_forms/3 2013-01-21 19:50:07 -07:00
José Valim 9e37412b7b Provide an endpoint for translating elixir forms 2013-01-21 19:34:29 -07:00
José Valim 5bde00a9c7 Properly expand var! second argument 2013-01-21 18:50:40 -07:00
José Valim 9a62a43340 Aliases for defmodule also works for raw atoms 2013-01-21 18:40:10 -07:00
José Valim 89cbe93bba The AST now allows metadata to be attached to each node
This means the second item in the AST is no longer an integer
(representing the line), but a keywords list. Code that relies
on the line information from AST or that manually generate AST
nodes need to be properly updated.
2013-01-21 15:42:03 -07:00
José Valim 4633c6449d Update LICENSE 2013-01-21 07:55:39 -07:00
José Valim 6109768376 Ensure we do not ditch modules with anonymous functions in them 2013-01-19 20:38:54 -07:00
José Valim 6740748b7a Compile Path on bootstrap 2013-01-19 10:54:14 -07:00
José Valim cb536a4740 Improve docs for the string module 2013-01-17 17:03:48 -07:00
José Valim e2fde7699c Do not generate lowercase clause if lowercase == codepoint 2013-01-13 23:58:37 +01:00
José Valim f2c08ce14f Fix unused variable warning 2013-01-13 20:56:19 +01:00
José Valim 449532e1fb Fix identation, improve error messages 2013-01-12 23:43:07 +01:00
José Valim 17a2ce9766 Ensure requires are sorted on Code.eval 2013-01-11 23:29:44 +01:00
José Valim 4e651c8aae Expand aliases inside quote 2013-01-11 09:55:38 +01:00
José Valim eaa9714b3a Improve hygiene for variables, related to #722 2013-01-10 14:29:45 +01:00
José Valim bdc5f7ddd2 Also handle < and > inside interpolations 2013-01-10 14:29:45 +01:00
alexrp 531e64c66a Add back /> as a deprecated operator.
This commit can simply be reverted when the operator is to be removed.
2013-01-08 01:12:15 +01:00
alexrp c9908a23dd The pipeline operator is now '|>'.
Fixes #718.
2013-01-07 23:38:55 +01:00
José Valim acbb6c0fee Functions defined inside quote(location: :keep) retain the source stacktrace 2013-01-02 10:59:52 +01:00
José Valim 2eef987c50 Make a distinction between file and module body in stacktraces 2013-01-02 10:21:42 +01:00
José Valim 4644d7a607 Do not rely on the third arg of catch clauses
This is an undocumented Erlang feature and it
must not be part of Elixir public API.
2012-12-31 16:23:24 +01:00
José Valim 5f2d4eb472 Rename BOOTSTRAP to __BOOT__ 2012-12-31 15:59:57 +01:00
José Valim bf14e4b771 Discard spurious cons list from stacktrace 2012-12-31 15:14:58 +01:00
José Valim b9313340b7 Keep \377 and 0377 as the octal syntax, closes #737 2012-12-31 13:46:56 +01:00
José Valim 2bd71f7604 Improve how exceptions are handled in general
* raise expects an explicit stacktrace in order to re-raise
* the Exception module now holds function for both stacktrace
  manipulation and interface with erlang exceptions
* exceptions have their default functions with doc set to false
2012-12-31 13:33:30 +01:00
José Valim 2588bc8ec2 Underscored functions are allowed with passed via only 2012-12-31 11:51:44 +01:00
mururu 5711d74fd9 Support "\a" 2012-12-27 09:18:13 +09:00
José Valim 2267effae6 Merge pull request #731 from kimshrier/octal_and_hex_escapes_in_characters
add octal and hex escapes for characters
2012-12-24 10:55:20 -08:00
Yurii Rashkovskii 36c9e11064 Remove __info__/1 from __info__(:functions)
Closes #734
2012-12-24 12:51:09 +01:00