Commit Graph
261 Commits
Author SHA1 Message Date
José Valim 52eaf6d547 Overridable is no longer a data attribute, but a macro. This allows it to work fine with multi-clauses. 2012-05-02 21:23:25 +02:00
José Valim ca7b8c9851 Add keyfind, keymember? and keydelete to List 2012-05-01 11:24:02 +02:00
José Valim 1b481fd72a Allow record matching in rescue clauses, closes #238 2012-04-30 13:40:26 +02:00
José Valim b78c27b6af Ensure in with match can be mixed with guards 2012-04-30 12:20:58 +02:00
José Valim 7c7d7bd458 Allow "in" match clauses 2012-04-30 12:07:59 +02:00
José Valim fae2cec52f Add support to in as operator 2012-04-30 11:25:07 +02:00
José Valim d297d2c768 Rename elixir_kv_block to elixir_kw_block, closes #270 2012-04-29 13:40:52 +02:00
José Valim 10109172ec Ensure we do not deadlock on rescue clauses 2012-04-27 20:14:41 +02:00
José Valim b4cc71a835 Parallel compiler now receives notifications as soon as a module is loaded to reduce lock time and deadlock chances 2012-04-27 14:25:45 +02:00
José Valim 899ed19078 Avoid error reports 2012-04-27 14:25:45 +02:00
José Valim b9f3368e8f Add a logic that handles try/match/catch but leave it disabled by default
The reason it is disabled is because I couldn't find any example
in the source code that would benefit this feature. So while it
is possible, the feature is disabled until someone provides a good
case for it, closes #264
2012-04-26 19:22:49 +02:00
José Valim b620b2ea9a Ensure we don't rescue the wrong exception accidentally 2012-04-26 09:58:16 +02:00
José Valim b69b80df9e Spawn more files at once when compiling in parallel, add parallel require 2012-04-26 09:23:05 +02:00
José Valim 1c64f1c75f Make Code.require_file 'thread safe' 2012-04-26 00:01:49 +02:00
José Valim 262ea5b380 Remove unecessary tuple wrapping in __kvblock__ 2012-04-25 12:47:47 +02:00
José Valim dd2de2320d Avoid sorting more than once 2012-04-25 12:36:53 +02:00
José Valim 22c7f8259b Clean up kvblocks now that keywords accepts multiple entries 2012-04-25 12:18:43 +02:00
José Valim ffa5c3964d Provide a new protocol API, closes #251 2012-04-25 09:19:55 +02:00
José Valim b901ed9907 Fix small typos. 2012-04-24 16:03:23 +02:00
José Valim 5e1d349b14 Move error handler to Elixir source 2012-04-24 15:03:08 +02:00
José Valim ea8ec87520 Tests for deadlock message. 2012-04-24 13:33:06 +02:00
José Valim 23dade4c62 Improve coverage and code for parallel compilation 2012-04-24 13:14:20 +02:00
José Valim 0daa1e0dc1 Rewrite parallel compilation samples in Elixir 2012-04-24 12:44:22 +02:00
José Valim 2224da93b1 Spike of parallel compilation. 2012-04-24 12:22:02 +02:00
José Valim b73fb76a85 Move code server to erlang source so we can bootstrap 2012-04-23 18:44:03 +02:00
José Valim 0e97683000 Initial work on elixir_error_handler. 2012-04-23 18:00:54 +02:00
José Valim e864c8c875 Add a test scenario for discovery samples. 2012-04-23 15:32:30 +02:00
José Valim 89cd4ca056 Compilation of directories is now possible. 2012-04-23 15:22:03 +02:00
José Valim d0e0e275be Add __info__(:functions) and __info__(:macros) to retrieve module info at runtime. 2012-04-23 10:59:01 +02:00
José Valim 6fdccdb802 Definitions without implementation can specify default clauses. 2012-04-21 14:57:24 +02:00
José Valim 393098ff9e Move compilation options to the code server, closes #205. 2012-04-10 16:27:56 -03:00
Dickson S. Guedes abf056cc30 adding ## Examples header 2012-04-09 19:48:58 -03:00
Dickson S. Guedes 7724458fe8 fixing trailing space 2012-04-09 17:01:29 -03:00
Dickson S. Guedes 3797382e1a adding atom_to_binary with UTF8 encoding as default 2012-04-09 16:30:37 -03:00
José Valim 9896a86f53 Ensure versin can be print 2012-04-06 22:00:25 -03:00
José Valim 35b22c598d Small tidy up on file.ex 2012-04-06 10:14:48 -03:00
José Valim dbf6325d44 Fail on invalid file input, closes #206 2012-04-05 15:23:54 -03:00
Dickson S. Guedes 18c48db0e2 allow binary_to(_existing)_atom uses :utf8 as default encoding when it is not specified, refs #221 2012-04-05 12:44:44 -03:00
Alexei Sholik 6e542796d6 Make process_options testable 2012-04-05 10:39:34 +03:00
Alexei Sholik 56e80147e1 Fix a bug in enumeration 2012-04-05 10:39:13 +03:00
Alexei Sholik 2f729a5178 Allow passing a wildcard to -pa, -pz and -r options
If the user invokes elixir with a quoted string

    elixir -pa 'deps*/ebin'

then the CLI will receive the literal path 'deps/*/ebin'. That is why
we're better off processing the wildcards ourselves.
2012-04-05 09:58:01 +03:00
José Valim d3720fe337 Work with binaries, remove char list module. 2012-04-04 15:35:04 -03:00
José Valim ac41f5e6fb Revert "Allow many files to be passed to iex, closes #203"
This reverts commit 92b29ac94e.

Conflicts:

	bin/elixir
	bin/iex
2012-04-04 11:36:04 -03:00
José Valim 3827b3a575 Revert "Allow multiple paths to be given to -pa and -pz, closes #229"
This reverts commit c3413246cf.
2012-04-04 11:32:45 -03:00
José Valim 144272fe81 Revert "Ensure in_guards is properly set to true inside args."
This reverts commit 11d6ea577f.
2012-04-04 11:08:50 -03:00
José Valim c3413246cf Allow multiple paths to be given to -pa and -pz, closes #229 2012-04-03 19:44:05 -03:00
José Valim cd48652e72 Fix iex. 2012-04-03 19:27:40 -03:00
José Valim 17f9c6f1f0 Move evaluation options to an options setup instead of multiple args. 2012-04-03 18:59:20 -03:00
José Valim 1514c0371b Rename Env to System, move Code functionality to it. 2012-04-03 18:35:24 -03:00
José Valim dc3ed54541 Start using halt since it has improved semantics in Erlang R15B01. 2012-04-03 12:07:05 -03:00