Commit Graph

356 Commits

Author SHA1 Message Date
Araq
a22c1f444f fixes #271 2012-12-15 22:35:16 +01:00
Araq
c98696d742 lazy paths for Babel support 2012-12-11 20:06:15 +01:00
Araq
b0dc877cc3 small documentation improvements 2012-12-09 21:23:12 +01:00
Araq
f96ec25ed2 made some tests green; some small bugfixes 2012-12-09 15:53:59 +01:00
Araq
92f8f2e776 documented AST overloading and some TR optimizations 2012-12-09 03:02:52 +01:00
Araq
40b611cc2f documentation improvements 2012-12-07 17:43:15 +01:00
Araq
1dc362dcd4 compiler support for babel 2012-12-07 17:20:51 +01:00
Araq
05b05be9f8 replaced recursivePath with shallowPath for Babel 2012-12-06 22:51:39 +01:00
Zahary Karadjov
d0edb1826b adds an option to interleave the generated code with snippets from the original source
Lines from the original source are outputted as comments next to line directives.
Hopefully, this will make debugging codegen problems easier.

Other changes:
The frame setup code now uses a single-line C macro. My motivation was to reduce
the noise in the generated output and make it easier to step over the boiler-plate
code, but counter-intuitively this also improved the overall compilation speed a
little bit so I applied the same treatment to line tracking too (this reduces the size of
the generated files and the explanation is that probably the I/O overhead dominates
the macro expansion costs).
2012-12-02 20:36:29 +02:00
Araq
c98e3d2c27 implements 'export' feature 2012-12-01 19:10:47 +01:00
Araq
92e10e4b18 implemented 'import except' 2012-11-28 23:54:23 +01:00
Zahary Karadjov
091c1b3075 caas is now drivable through stdin
* added idetools --eval
* streams.readLine recognises and applies the backspace character
2012-11-28 01:15:13 +02:00
Araq
2591ac0ada 'return' for first class iterators 2012-11-26 08:47:57 +01:00
Araq
ccd2934e4a first steps for 'not nil' annotation 2012-11-25 11:03:14 +01:00
Araq
f610d2d221 'iterator' as type description 2012-11-22 08:31:40 +01:00
Araq
d0de1fc336 made 'shared' a keyword 2012-11-22 07:53:50 +01:00
Araq
3d40842088 doc2 improvements; small lexer bugfix: backslashes in comments 2012-11-20 17:46:11 +01:00
Araq
14fc0631d7 fixes #250 2012-11-19 00:16:25 +01:00
Araq
48a62af3b1 implemented 'tags' pragma 2012-11-11 22:03:41 +01:00
Araq
6cfbfc43a4 Merge branch 'master' of github.com:Araq/Nimrod 2012-11-08 19:43:18 +01:00
Grzegorz Adam Hankiewicz
790df95072 Updates docs about exceptions being on the stack/heap. 2012-11-08 17:37:55 +01:00
Araq
ed28f3c8dc documented 'mixin' declaration 2012-11-08 08:32:08 +01:00
Grzegorz Adam Hankiewicz
42f6cb465a Adds to the tutorial some info about exception tracking. 2012-11-08 00:02:09 +01:00
Araq
35f61e1997 documented Nimrod's effects system 2012-11-06 17:31:43 +01:00
Araq
e54425b068 system.onRaise improvements 2012-11-05 19:48:49 +01:00
Araq
865d9cc6e6 added system.onRaise to support a condition system 2012-11-05 08:36:44 +01:00
Araq
172b6aacf8 fixes #230; fixes #227 2012-10-19 20:45:26 +02:00
Araq
d43febf81e first version of a memory profiler 2012-10-10 00:41:34 +02:00
Araq
c2b8669e04 Merge branch 'master' of github.com:Araq/Nimrod 2012-10-03 20:51:22 +02:00
Araq
9fbee85cc9 first steps for compiler as a service 2012-10-03 20:49:43 +02:00
Zahary Karadjov
770d4a997e implemented case expressions 2012-10-03 01:59:49 +03:00
Zahary Karadjov
92f70b08f9 table constructors now mimic more closely the syntax of case... of...
see the safePrintF example in the manual as a motivation
2012-10-03 01:59:49 +03:00
Zahary Karadjov
7e44015491 implemented return type inference
Other fixes:
* bind once is now the default for type classes as documented in the manual
* fixes an issue in template overloading (erroneous  ambiguity when different typedesc params were used)
2012-10-03 01:59:49 +03:00
Zahary Karadjov
88ea9073c3 missing documentation added to the manual
documented:
* closures and the do notation
* type classes
* return type inference
* typedesc parameters and values
* destructor pragma
* fixed a number of typos
2012-09-27 22:44:52 +03:00
Zahary Karadjov
04c5f58ce4 normalized the line endings in the manual 2012-09-27 22:44:52 +03:00
Araq
3ef146b0ea 'mixin' and 'interface' are now keywords 2012-09-22 10:04:31 +02:00
Araq
75abf72503 profiler improvements 2012-09-17 00:31:41 +02:00
Araq
ad6ee9e857 profiler documentation 2012-09-15 01:27:53 +02:00
Araq
d336cb4957 bugfix: echo vs debugEcho 2012-09-13 17:33:20 +02:00
Araq
a783077cfd splitted echo into echo/debugEcho 2012-09-13 08:46:24 +02:00
Araq
d48d3d0bd1 small bugfixes; reactivated tests/compile 2012-09-11 23:21:02 +02:00
Araq
64c638a9dc first steps for overloading support of passing blocks; bugfix: test results of 'compile' are not overwritten 2012-09-11 08:09:34 +02:00
Araq
92b449562e tr macros now documented 2012-09-10 19:34:16 +02:00
Araq
580d85d233 implemented 'pure' enums 2012-09-08 20:51:50 +02:00
Araq
b4cd119800 Merge branch 'master' of github.com:Araq/Nimrod 2012-09-03 00:56:06 +02:00
Araq
af7c92c003 term rewriting macros fully implemented; still buggy 2012-09-03 00:55:44 +02:00
Dominik Picheta
223b4f45ed Added fsmonitor module. 2012-09-02 23:26:49 +01:00
Araq
1d14cb1ad8 next steps towards term rewriting macros; simple examples work 2012-08-30 22:55:32 +02:00
Araq
b4844a189d parameter passing works the same for macros and templates; use callsite magic to access the invokation AST 2012-08-28 22:15:29 +02:00
Araq
b5b5e6e76d distinguish properly between nkOpen and nkClosedSymChoice 2012-08-26 02:47:17 +02:00