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
Araq
9a7f0cd851
bindSym suffices; no 'bind' for macros anymore
2012-08-25 01:34:50 +02:00
Araq
d17caa86e8
objects with no ancestor are not implicitely final
2012-08-24 17:33:04 +02:00
Araq
afcff024a1
documented bind in macros
2012-08-24 08:18:48 +02:00
Araq
bdf3bee055
implemented backslash for continuation comments
2012-08-23 08:45:40 +02:00
Araq
f893179889
documented hygienic templates; made tests green; fixed system.clamp
2012-08-22 22:46:02 +02:00
Araq
5e15dec175
first steps to make templates hygienic
2012-08-20 01:13:13 +02:00
Araq
e4c432387e
bycopy/byref for object/tuple types
2012-08-16 17:54:11 +02:00
Araq
0171566c98
openarray/varargs split; breaks bootstrapping
2012-08-16 08:34:33 +02:00