Merge branch 'master' of github.com:Araq/Nimrod into upstream
This commit is contained in:
commit
c1ad05c4c5
32 changed files with 12023 additions and 459 deletions
|
|
@ -9,10 +9,10 @@ Please choose your platform:
|
|||
|
||||
The source-based installation has been tested on these systems:
|
||||
* Linux: i386, AMD64, PowerPC
|
||||
* BSD: AMD64
|
||||
* Mac OS X: i386, AMD64
|
||||
|
||||
Other UNIX-based operating systems may work. An older version was tested on
|
||||
FreeBSD (i386).
|
||||
Other UNIX-based operating systems may work.
|
||||
|
||||
.. include:: ../install.txt
|
||||
|
||||
|
|
|
|||
|
|
@ -18,13 +18,11 @@ Welcome to Nimrod
|
|||
*Nimrod looks like this:*
|
||||
|
||||
.. code-block:: nimrod
|
||||
# Filter key=value pairs
|
||||
import re
|
||||
|
||||
for x in lines("myfile.txt"):
|
||||
if x =~ re"(\w+)=(.*)":
|
||||
echo "Key: ", matches[0],
|
||||
" Value: ", matches[1]
|
||||
import strutils
|
||||
|
||||
echo "List of ints (separate by whitespace): "
|
||||
echo stdin.readLine.split.each(parseInt).max,
|
||||
" is the maximum"
|
||||
|
||||
**Nimrod** is a new statically typed, imperative
|
||||
programming language, that supports procedural, object oriented, functional
|
||||
|
|
|
|||
16
web/news.txt
16
web/news.txt
|
|
@ -12,6 +12,7 @@ Bugfixes
|
|||
|
||||
- Fixed a bug where the compiler would "optimize away" valid constant parts of
|
||||
a string concatenation.
|
||||
- Fixed a bug concerning implicit type conversions in ``case`` statements.
|
||||
|
||||
|
||||
Library Additions
|
||||
|
|
@ -24,6 +25,16 @@ Library Additions
|
|||
compile time as if was a macro.
|
||||
- Added ``macros.emit`` that can emit an arbitrary computed string as nimrod
|
||||
code during compilation.
|
||||
- Added ``strutils.parseEnum``.
|
||||
- Added ``json.%`` constructor operator.
|
||||
- The stdlib can now be avoided to a point where C code generation for 16bit
|
||||
micro controllers is feasible.
|
||||
- Added module ``oids``.
|
||||
- Added module ``endians``.
|
||||
- Added a new OpenGL wrapper that supports OpenGL up to version 4.2.
|
||||
- Added a wrapper for ``libsvm``.
|
||||
- Added a wrapper for ``mongodb``.
|
||||
- Added ``terminal.isatty``.
|
||||
|
||||
|
||||
Changes affecting backwards compatibility
|
||||
|
|
@ -33,7 +44,7 @@ Changes affecting backwards compatibility
|
|||
The ``system``, ``os``, ``osproc`` and ``memfiles`` modules use the wide
|
||||
string versions of the WinAPI. Use the ``-d:useWinAnsi`` switch to revert
|
||||
back to the old behaviour which uses the Ansi string versions.
|
||||
- ``static`` is now a keyword.
|
||||
- ``static`` and ``do`` are now keywords.
|
||||
- Templates now participate in overloading resolution which can break code that
|
||||
uses templates in subtle ways. Use the new ``immediate`` pragma for templates
|
||||
to get a template of old behaviour.
|
||||
|
|
@ -45,6 +56,8 @@ Compiler Additions
|
|||
------------------
|
||||
|
||||
- Win64 is now an officially supported target.
|
||||
- The Nimrod compiler works on BSD again, but has some issues
|
||||
as ``os.getAppFilename`` and ``os.getAppDir`` cannot work reliably on BSD.
|
||||
- The compiler can detect and evaluate calls that can be evaluated at compile
|
||||
time for optimization purposes with the ``--implicitStatic`` command line
|
||||
option or pragma.
|
||||
|
|
@ -56,6 +69,7 @@ Language Additions
|
|||
------------------
|
||||
|
||||
- Added explicit ``static`` sections for enforced compile time evaluation.
|
||||
- Added an alternative notation for lambdas with ``do``.
|
||||
- ``addr`` is now treated like a prefix operator syntactically.
|
||||
- Added ``global`` pragma that can be used to introduce new global variables
|
||||
from within procs.
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ srcdoc: "pure/parseopt;pure/hashes;pure/strtabs;pure/lexbase"
|
|||
srcdoc: "pure/parsecfg;pure/parsexml;pure/parsecsv;pure/parsesql"
|
||||
srcdoc: "pure/streams;pure/terminal;pure/cgi;impure/web;pure/unicode"
|
||||
srcdoc: "impure/zipfiles;pure/htmlgen;pure/parseutils;pure/browsers"
|
||||
srcdoc: "impure/db_postgres;impure/db_mysql;impure/db_sqlite"
|
||||
srcdoc: "impure/db_postgres;impure/db_mysql;impure/db_sqlite;impure/db_mongo"
|
||||
srcdoc: "pure/httpserver;pure/httpclient;pure/smtp;impure/ssl"
|
||||
srcdoc: "pure/ropes;pure/unidecode/unidecode;pure/xmldom;pure/xmldomparser"
|
||||
srcdoc: "pure/xmlparser;pure/htmlparser;pure/xmltree;pure/colors"
|
||||
|
|
@ -43,7 +43,7 @@ srcdoc: "pure/collections/tables;pure/collections/sets;pure/collections/lists"
|
|||
srcdoc: "pure/collections/intsets;pure/collections/queues;pure/encodings"
|
||||
srcdoc: "pure/events;pure/collections/sequtils;pure/irc;ecmas/dom"
|
||||
srcdoc: "pure/ftpclient;pure/memfiles;pure/subexes;pure/collections/critbits"
|
||||
srcdoc: "pure/asyncio;pure/actors;core/locks"
|
||||
srcdoc: "pure/asyncio;pure/actors;core/locks;pure/oids;pure/endians"
|
||||
|
||||
webdoc: "wrappers/libcurl;pure/md5;wrappers/mysql;wrappers/iup"
|
||||
webdoc: "wrappers/sqlite3;wrappers/postgres;wrappers/tinyc"
|
||||
|
|
@ -55,6 +55,7 @@ webdoc: "posix/posix;wrappers/odbcsql;impure/dialogs"
|
|||
webdoc: "wrappers/zip/zlib;wrappers/zip/libzip"
|
||||
webdoc: "wrappers/cairo"
|
||||
webdoc: "wrappers/gtk"
|
||||
webdoc: "wrappers/libsvm.nim;wrappers/mongo.nim"
|
||||
webdoc: "windows"
|
||||
webdoc: "wrappers/x11;wrappers/opengl;wrappers/sdl;wrappers/lua"
|
||||
webdoc: "wrappers/readline/readline;wrappers/readline/history"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue