diff options
Diffstat (limited to 'web')
-rw-r--r-- | web/download.txt | 125 | ||||
-rw-r--r-- | web/news.txt | 89 | ||||
-rw-r--r-- | web/nimrod.ini | 13 | ||||
-rw-r--r-- | web/question.txt | 17 | ||||
-rw-r--r-- | web/ticker.txt | 5 |
5 files changed, 106 insertions, 143 deletions
diff --git a/web/download.txt b/web/download.txt index 557788217..dc53cbeb4 100644 --- a/web/download.txt +++ b/web/download.txt @@ -1,127 +1,41 @@ -You can download the latest version of the Nimrod compiler here. You can -use the binaries provided or build from source. - -Binaries -======== - -All installers and archives contain the html documentation and tools -(nimgrep, c2nim and babel). +You can download the latest version of the Nimrod compiler here. **Note:** The Nimrod compiler requires a C compiler to compile software. On Windows we recommend that you use `Mingw-w64 <http://mingw-w64.sourceforge.net/>`_. GCC is recommended on Linux and clang on Mac OS X. -Installers ----------- - -The "full" version includes a full mingw distribution which includes a C -compiler. The "slim" version lacks this. - -* Full (i386, 32bit): `<download/nimrod_0.9.4_windows_i386_full.exe>`_ - - .. raw:: html - <p style="font-size: 8pt; margin-top: 0;"> - SHA256: dca7c63d0c1861d2d7c51b2e7a29fa98371750a10ab282d5df9de22a07719c24 - </p> - -* Slim (i386, 32bit): `<download/nimrod_0.9.4_windows_i386_slim.exe>`_ - - .. raw:: html - <p style="font-size: 8pt; margin-top: 0;"> - SHA256: c0fcd1201bd20fad1e14b9d2cc2529494057068de1dd01f871cf129f088a8242 - </p> - -* Full (amd64, 64bit): `<download/nimrod_0.9.4_windows_amd64_full.exe>`_ - - .. raw:: html - <p style="font-size: 8pt; margin-top: 0;"> - SHA256: af9d478c2f3361e0f238fcb07fa8e7ae5821938c0f9063c6670e925c9ae9d16e - </p> - -* Slim (amd64, 64bit): `<download/nimrod_0.9.4_windows_amd64_slim.exe>`_ - - .. raw:: html - <p style="font-size: 8pt; margin-top: 0;"> - SHA256: 90c380721a46be2b9b8d5437187f701940aefc2e1fb9722dbc543f5c5a3bb85e - </p> -Archives --------- - -Windows -~~~~~~~ - -The "full" version includes a full mingw distribution which includes a C -compiler. The "slim" version lacks this. - -* Full (i386, 32bit): `<download/nimrod_0.9.4_windows_i386_full.zip>`_ - - .. raw:: html - <p style="font-size: 8pt; margin-top: 0;"> - SHA256: 8ee18faaa3a3d5df482c7abd6aa7ea87a350d7328b80ce1e2d486b59a7a93956 - </p> - -* Slim (i386, 32bit): `<download/nimrod_0.9.4_windows_i386_slim.zip>`_ - - .. raw:: html - <p style="font-size: 8pt; margin-top: 0;"> - SHA256: 7024fb8ad8f98c0bd4949ae36ed11b52b4e401754bbd62a11199d6dc8628d857 - </p> - -* Full (amd64, 64bit): `<download/nimrod_0.9.4_windows_amd64_full.zip>`_ - - .. raw:: html - <p style="font-size: 8pt; margin-top: 0;"> - SHA256: cb33cacc1a84fec771323d24cb6d9795f4803882466a9f417b424990aa49e18a - </p> - -* Slim (amd64, 64bit): `<download/nimrod_0.9.4_windows_amd64_slim.zip>`_ +Binaries +======== - .. raw:: html - <p style="font-size: 8pt; margin-top: 0;"> - SHA256: fcf877e4bd1ebfa214749af6e4811cd8539af19f1d7b23017e4bd7f6cbfb3eba - </p> +Unfortunately for now we only provide builds for Windows. -Linux -~~~~~ +* 32 bit: `nimrod_0.9.6.exe <download/nimrod_0.9.6.exe>`_ +* 64 bit: `nimrod_0.9.6_x64.exe <download/nimrod_0.9.6_x64.exe>`_ -* Linux (i386, 32bit): `<download/nimrod_0.9.4_linux_i386.tar.gz>`_ - .. raw:: html - <p style="font-size: 8pt; margin-top: 0;"> - SHA256: 79DD337A77AC4313A75F2C5EED8252F00BBBDEB1E0C3504660D4A52EA63DBA92 - </p> -* Linux (amd64, 64bit): `<download/nimrod_0.9.4_linux_amd64.tar.gz>`_ +Installation based on generated C code +====================================== - .. raw:: html - <p style="font-size: 8pt; margin-top: 0;"> - SHA256: 6F6CB3C727BA8059B7605C02942AE7910C20C2A3DC6A8A600D90D50FE61F0D8C - </p> -* Linux (ppc64, 64bit): `<download/nimrod_0.9.4_linux_ppc64.tar.gz>`_ +This installation method is the preferred way for Linux, Mac OS X, and other Unix +like systems. Binary packages may be provided later. - .. raw:: html - <p style="font-size: 8pt; margin-top: 0;"> - SHA256: 5DAC2D9F7F545929E04540E6E2594C68FC3126A3B2F7B1FA7DBA5E295B4A7D31 - </p> -Mac OS X -~~~~~~~~ +Download `nimrod_0.9.6.zip <download/nimrod_0.9.6.zip>`_, extract it and follow +these instructions: -* Mac OS X (amd64, 64bit): `<download/nimrod_0.9.4_macosx_amd64.zip>`_ +* sh build.sh +* Add ``$your_install_dir/bin`` to your PATH. - .. raw:: html - <p style="font-size: 8pt; margin-top: 0;"> - SHA256: E6F3A8E434DF3E89686F043954C6DFC09ABEBC0FC09D3B9A6B35C2B3102F7C3C - </p> +There are other ways to install Nimrod (like using the ``install.sh`` script), +but these tend to cause more problems. -If a binary for your platform is not available then you must build from source. -Bleeding edge binaries are available from the `Nimrod build farm <http://build.nimrod-lang.org/>`_. -Source -====== +Installation from github +======================== -Starting with 0.9.4 we now advise people to build directly from the +It is also possible to build directly from the github `master <https://github.com/Araq/Nimrod#compiling>`_ branch:: git clone -b master git://github.com/Araq/Nimrod.git @@ -135,4 +49,3 @@ github `master <https://github.com/Araq/Nimrod#compiling>`_ branch:: The ``master`` branch always contains the latest stable version of the compiler. If you want bleeding edge then switch to the ``devel`` branch and follow the same instructions outlined above. - diff --git a/web/news.txt b/web/news.txt index 62a923dcd..3d962172f 100644 --- a/web/news.txt +++ b/web/news.txt @@ -2,33 +2,68 @@ News ==== -.. - 2014-06-29 Version 0.9.6 released - ================================= - - Changes affecting backwards compatibility - ----------------------------------------- - - - ``spawn`` now uses an elaborate self-adapting thread pool and as such - has been moved into its own module. So to use it, you now have to import - ``threadpool``. - - The symbol binding rules in generics changed: ``bar`` in ``foo.bar`` is - now considered for implicit early binding. - - ``c2nim`` moved into its own repository and is now a Babel package. - - ``pas2nim`` moved into its own repository and is now a Babel package. - - ``system.$`` for floating point types now produces a human friendly string - representation. - - ``uri.TUrl`` as well as the ``parseurl`` module are now deprecated in favour - of the new ``TUri`` type in the ``uri`` module. - - Library Additions - ----------------- - - - Added module ``cpuinfo``. - - Added module ``threadpool``. - - ``sequtils.distnct`` has been renamed to ``sequtils.deduplicate``. - - Added ``algorithm.reversed`` - - Added ``uri.combine`` and ``uri.parseUri``. +2014-10-19 Nimrod version 0.9.6 released +======================================== + +**Note: 0.9.6 is the last release of Nimrod. The language is being renamed to +Nim. Nim slightly breaks compatibility.** + +This is a maintenance release. The upcoming 0.10.0 release has +the new features and exciting developments. + + +Changes affecting backwards compatibility +----------------------------------------- + +- ``spawn`` now uses an elaborate self-adapting thread pool and as such + has been moved into its own module. So to use it, you now have to import + ``threadpool``. +- The symbol binding rules in generics changed: ``bar`` in ``foo.bar`` is + now considered for implicit early binding. +- ``c2nim`` moved into its own repository and is now a Babel package. +- ``pas2nim`` moved into its own repository and is now a Babel package. +- ``system.$`` for floating point types now produces a human friendly string + representation. +- ``uri.TUrl`` as well as the ``parseurl`` module are now deprecated in favour + of the new ``TUri`` type in the ``uri`` module. +- The ``destructor`` pragma has been deprecated. Use the ``override`` pragma + instead. The destructor's name has to be ``destroy`` now. +- ``lambda`` is not a keyword anymore. +- **system.defined has been split into system.defined and system.declared**. + You have to use ``--symbol`` to declare new conditional symbols that can be + set via ``--define``. +- ``--threadanalysis:on`` is now the default. To make your program compile + you can disable it but this is only a temporary solution as this option + will disappear soon! + + +Compiler improvements +--------------------- + +- Multi method dispatching performance has been improved by a factor of 10x for + pathological cases. + + +Language Additions +------------------ + +- This version introduces the ``deprecated`` pragma statement that is used + to handle the upcoming massive amount of symbol renames. +- ``spawn`` can now wrap proc that has a return value. It then returns a data + flow variable of the wrapped return type. + + +Library Additions +----------------- + +- Added module ``cpuinfo``. +- Added module ``threadpool``. +- ``sequtils.distnct`` has been renamed to ``sequtils.deduplicate``. +- Added ``algorithm.reversed`` +- Added ``uri.combine`` and ``uri.parseUri``. +- Some sockets procedures now support a ``SafeDisconn`` flag which causes + them to handle disconnection errors and not raise them. + 2014-04-21 Version 0.9.4 released ================================= diff --git a/web/nimrod.ini b/web/nimrod.ini index 544446b11..fc8a5730f 100644 --- a/web/nimrod.ini +++ b/web/nimrod.ini @@ -26,9 +26,10 @@ file: ticker.txt [Quotations] # Page: quote - Person # Bad things will happen if you use multiple dashes here. -index: """The most important thing in the programming language is the name. -A language will not succeed without a good name. I have recently invented a -very good name and now I am looking for a suitable language. - D. E. Knuth""" +index: """Is it so bad, then, to be misunderstood? Pythagoras was misunderstood, +and Socrates, and Jesus, and Luther, and Copernicus, and Galileo, and Newton, +and every pure and wise spirit that ever took flesh. To be great is to be +misunderstood. - Ralph Waldo Emerson""" documentation: """Incorrect documentation is often worse than no documentation. - Bertrand Meyer""" download: """There are two major products that come out of Berkeley: LSD and @@ -41,7 +42,7 @@ doc: "tools;niminst;nimgrep;gc;estp;idetools;docgen;koch;backends.txt" pdf: "manual;lib;tut1;tut2;nimrodc;niminst;gc" srcdoc2: "system.nim;impure/graphics;wrappers/sdl" srcdoc2: "core/macros;pure/marshal;core/typeinfo;core/unsigned" -srcdoc2: "impure/re;pure/sockets" +srcdoc2: "impure/re;pure/sockets;pure/typetraits" srcdoc: "system/threads.nim;system/channels.nim;js/dom" srcdoc2: "pure/os;pure/strutils;pure/math;pure/matchers;pure/algorithm" srcdoc2: "pure/complex;pure/times;pure/osproc;pure/pegs;pure/dynlib" @@ -54,10 +55,10 @@ srcdoc2: "pure/httpserver;pure/httpclient;pure/smtp;impure/ssl;pure/fsmonitor" srcdoc2: "pure/ropes;pure/unidecode/unidecode;pure/xmldom;pure/xmldomparser" srcdoc2: "pure/xmlparser;pure/htmlparser;pure/xmltree;pure/colors;pure/mimetypes" srcdoc2: "pure/json;pure/base64;pure/scgi;pure/redis;impure/graphics" -srcdoc2: "impure/rdstdin;wrappers/zmq;wrappers/sphinx" +srcdoc2: "impure/rdstdin;wrappers/sphinx" srcdoc2: "pure/collections/tables;pure/collections/sets;pure/collections/lists" srcdoc2: "pure/collections/intsets;pure/collections/queues;pure/encodings" -srcdoc2: "pure/events;pure/collections/sequtils;pure/irc;pure/cookies" +srcdoc2: "pure/events;pure/collections/sequtils;pure/cookies" srcdoc2: "pure/ftpclient;pure/memfiles;pure/subexes;pure/collections/critbits" srcdoc2: "pure/asyncio;pure/actors;core/locks;pure/oids;pure/endians;pure/uri" srcdoc2: "pure/nimprof;pure/unittest;packages/docutils/highlite" diff --git a/web/question.txt b/web/question.txt index 89e242e35..be90cc67a 100644 --- a/web/question.txt +++ b/web/question.txt @@ -28,6 +28,14 @@ one of the even fewer that produces native binaries that require no runtime or interpreter. +What have been the major influences in the language's design? +------------------------------------------------------------- + +The language borrows heavily from: Modula 3, Delphi, Ada, C++, Python, Lisp, +Oberon. As far as possible the list is sorted by the impact of influence. + + + What is Nimrod's take on concurrency? ------------------------------------- @@ -89,8 +97,8 @@ Why is it named ``proc``? *Procedure* used to be the common term as opposed to a *function* which is a mathematical entity that has no side effects. It was planned to have ``func`` -as syntactic sugar for ``proc {.noSideEffect.}`` but the more fine-grained -effect system makes that unimportant. +as syntactic sugar for ``proc {.noSideEffect.}`` but with the more fine-grained +effect system it is not yet clear what ``func`` should be a shortcut for. Compilation @@ -117,15 +125,16 @@ Change the value of the ``cc`` variable to one of the following: ============== ============================================ Abbreviation C/C++ Compiler ============== ============================================ -``dmc`` Digital Mars C++ ``vcc`` Microsoft's Visual C++ ``gcc`` Gnu C -``tcc`` Tiny C ``llvm_gcc`` LLVM-GCC compiler ``icc`` Intel C++ compiler +``clang`` Clang compiler ``ucc`` Generic UNIX C compiler ============== ============================================ +Other C compilers are not officially supported, but might work too. + If your C compiler is not in the above list, try using the *generic UNIX C compiler* (``ucc``). If the C compiler needs different command line arguments try the ``--passc`` and ``--passl`` switches. diff --git a/web/ticker.txt b/web/ticker.txt index f06b00572..98ad25905 100644 --- a/web/ticker.txt +++ b/web/ticker.txt @@ -1,3 +1,8 @@ +<a class="news" href="news.html#Z2014-10-19-version-0-9-6-released"> + <h3>Oct 19, 2014</h3> + <p>Nimrod version 0.9.6 has been released!</p> +</a> + <a class="news" href="news.html#Z2014-04-21-version-0-9-4-released"> <h3>Apr 21, 2014</h3> <p>Nimrod version 0.9.4 has been released!</p> |