pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/lang/nim Update to 0.19



details:   https://anonhg.NetBSD.org/pkgsrc/rev/5fe05b30b776
branches:  trunk
changeset: 385868:5fe05b30b776
user:      ryoon <ryoon%pkgsrc.org@localhost>
date:      Mon Oct 01 12:50:42 2018 +0000

description:
Update to 0.19

Changelog:
What?s new in 0.19.0

The nil state for strings/seqs is gone. Instead the default value for these is "" / @[]. Use --nilseqs:on for a transition period. This eliminates a large class of bugs that used to plague the 
average Nim code out there, including Nim?s standard library.

Accessing the binary zero terminator in Nim?s native strings is now invalid. Internally a Nim string still has the trailing zero for zero-copy interoperability with cstring. Compile your code with 
the new switch --laxStrings:on if you need a transition period.

These changes to strings and seqs give us more flexibility in how they are implemented and indeed alternative implementations are in development.

experimental is now a pragma and a command line switch that can enable specific language extensions, it is not an all-or-nothing switch anymore. We think this leads to a more robust development 
process where it?s clearly documented which parts of Nim are bleeding edge and which parts can be relied upon.

Other notable language additions:

    Dot calls combined with explicit generic instantiations can now be written as x.y[:z] which is transformed into y[z](x) by the parser.
    func is now an alias for proc {.noSideEffect.}.

    Anonymous tuples with a single element can now be written as (1,) with a trailing comma.

    In order to make for loops and iterators more flexible to use Nim now supports so called ?for-loop macros?. See the manual for more details. This feature enables a Python-like generic enumerate 
implementation.

    Case statements can now be rewritten via macros. See the manual for more information. This feature enables custom pattern matching.

    The command syntax now supports keyword arguments after the first comma.

    Thread-local variables can now be declared inside procs. This implies all the effects of the global pragma.

    Nim now supports the except clause in the export statement.
    Range float types, example range[0.0 .. Inf]. More details in language manual.

Breaking changes to be mindful of

    The default location of nimcache for the native code targets was changed. Read the compiler user guide for more information.
    Lots of deprecated symbols in the standard library that have been deprecated for quite some time now like system.expr or the old type aliases starting with a T or P prefix have been removed.
    The exception hierarchy was slightly reworked, SystemError was renamed to CatchableError and is the new base class for any exception that is guaranteed to be catchable. This change should have 
minimal impact on most existing Nim code.

Async improvements

The ?closure iterators? that Nim?s async macro is based on has been rewritten from the ground up and so async works completely with exception handling. Finally it is possible to use await in a try 
statement!
Nimble 0.9.0

This release includes a brand new version of Nimble. The new version contains a breaking change which you should read up on if you own hybrid packages. There are also the usual bug fixes and this 
release contains a lot of them.

diffstat:

 lang/nim/Makefile |   4 ++--
 lang/nim/PLIST    |  37 +++++++++++++++++++++++++++----------
 lang/nim/distinfo |  10 +++++-----
 3 files changed, 34 insertions(+), 17 deletions(-)

diffs (214 lines):

diff -r 40406399ef99 -r 5fe05b30b776 lang/nim/Makefile
--- a/lang/nim/Makefile Mon Oct 01 12:37:23 2018 +0000
+++ b/lang/nim/Makefile Mon Oct 01 12:50:42 2018 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.4 2018/04/03 03:24:56 ryoon Exp $
+# $NetBSD: Makefile,v 1.5 2018/10/01 12:50:42 ryoon Exp $
 
-DISTNAME=      nim-0.18.0
+DISTNAME=      nim-0.19.0
 CATEGORIES=    lang
 MASTER_SITES=  http://nim-lang.org/download/
 EXTRACT_SUFX=  .tar.xz
diff -r 40406399ef99 -r 5fe05b30b776 lang/nim/PLIST
--- a/lang/nim/PLIST    Mon Oct 01 12:37:23 2018 +0000
+++ b/lang/nim/PLIST    Mon Oct 01 12:50:42 2018 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.3 2018/04/03 03:24:56 ryoon Exp $
+@comment $NetBSD: PLIST,v 1.4 2018/10/01 12:50:42 ryoon Exp $
 bin/nim
 nim/bin/nim
 nim/compiler.nimble
@@ -6,9 +6,11 @@
 nim/compiler/ast.nim
 nim/compiler/astalgo.nim
 nim/compiler/bitsets.nim
+nim/compiler/btrees.nim
 nim/compiler/canonicalizer.nim
 nim/compiler/ccgcalls.nim
 nim/compiler/ccgexprs.nim
+nim/compiler/ccgliterals.nim
 nim/compiler/ccgmerge.nim
 nim/compiler/ccgstmts.nim
 nim/compiler/ccgthreadvars.nim
@@ -18,8 +20,11 @@
 nim/compiler/cgen.nim
 nim/compiler/cgendata.nim
 nim/compiler/cgmeth.nim
+nim/compiler/closureiters.nim
+nim/compiler/cmdlinehelper.nim
 nim/compiler/commands.nim
 nim/compiler/condsyms.nim
+nim/compiler/configuration.nim
 nim/compiler/debuginfo.nim
 nim/compiler/depends.nim
 nim/compiler/destroyer.nim
@@ -38,16 +43,21 @@
 nim/compiler/idents.nim
 nim/compiler/idgen.nim
 nim/compiler/importer.nim
+nim/compiler/incremental.nim
 nim/compiler/installer.ini
 nim/compiler/jsgen.nim
 nim/compiler/jstypes.nim
 nim/compiler/lambdalifting.nim
+nim/compiler/layouter.nim
 nim/compiler/lexer.nim
 nim/compiler/liftlocals.nim
+nim/compiler/lineinfos.nim
+nim/compiler/linter.nim
 nim/compiler/lists.nim
 nim/compiler/llstream.nim
 nim/compiler/lookups.nim
 nim/compiler/lowerings.nim
+nim/compiler/macrocacheimpl.nim
 nim/compiler/magicsys.nim
 nim/compiler/main.nim
 nim/compiler/mapping.txt
@@ -63,7 +73,6 @@
 nim/compiler/nimeval.nim
 nim/compiler/nimfix/nimfix.nim
 nim/compiler/nimfix/nimfix.nim.cfg
-nim/compiler/nimfix/pretty.nim
 nim/compiler/nimfix/prettybase.nim
 nim/compiler/nimlexbase.nim
 nim/compiler/nimsets.nim
@@ -75,12 +84,12 @@
 nim/compiler/parser.nim
 nim/compiler/passaux.nim
 nim/compiler/passes.nim
+nim/compiler/pathutils.nim
 nim/compiler/patterns.nim
-nim/compiler/pbraces.nim
 nim/compiler/platform.nim
 nim/compiler/plugins/active.nim
 nim/compiler/plugins/itersgen.nim
-nim/compiler/plugins/locals/locals.nim
+nim/compiler/plugins/locals.nim
 nim/compiler/pluginsupport.nim
 nim/compiler/pragmas.nim
 nim/compiler/prefixmatches.nim
@@ -90,9 +99,7 @@
 nim/compiler/reorder.nim
 nim/compiler/rod.nim
 nim/compiler/rodimpl.nim
-nim/compiler/rodread.nim
 nim/compiler/rodutils.nim
-nim/compiler/rodwrite.nim
 nim/compiler/ropes.nim
 nim/compiler/saturate.nim
 nim/compiler/scriptconfig.nim
@@ -114,7 +121,6 @@
 nim/compiler/semtempl.nim
 nim/compiler/semtypes.nim
 nim/compiler/semtypinst.nim
-nim/compiler/service.nim
 nim/compiler/sighashes.nim
 nim/compiler/sigmatch.nim
 nim/compiler/suggest.nim
@@ -139,11 +145,11 @@
 nim/config/nimdoc.tex.cfg
 nim/doc/advopt.txt
 nim/doc/basicopt.txt
-nim/doc/html/overview.html
 nim/lib/arch/x86/amd64.S
 nim/lib/arch/x86/i386.S
 nim/lib/core/allocators.nim
 nim/lib/core/locks.nim
+nim/lib/core/macrocache.nim
 nim/lib/core/macros.nim
 nim/lib/core/refs.nim
 nim/lib/core/rlocks.nim
@@ -160,6 +166,8 @@
 nim/lib/deprecated/pure/parseurl.nim
 nim/lib/deprecated/pure/rawsockets.nim
 nim/lib/deprecated/pure/sockets.nim
+nim/lib/genode/alloc.nim
+nim/lib/genode/env.nim
 nim/lib/genode_cpp/syslocks.h
 nim/lib/genode_cpp/threads.h
 nim/lib/impure/db_mysql.nim
@@ -176,11 +184,13 @@
 nim/lib/js/asyncjs.nim
 nim/lib/js/dom.nim
 nim/lib/js/jsconsole.nim
+nim/lib/js/jscore.nim
 nim/lib/js/jsffi.nim
 nim/lib/nimbase.h
 nim/lib/nimrtl.nim
 nim/lib/nimrtl.nim.cfg
-nim/lib/packages/docutils/docutils.babel
+nim/lib/nintendoswitch/switch_memory.nim
+nim/lib/packages/docutils/docutils.nimble
 nim/lib/packages/docutils/highlite.nim
 nim/lib/packages/docutils/rst.nim
 nim/lib/packages/docutils/rstast.nim
@@ -193,6 +203,8 @@
 nim/lib/posix/posix.nim
 nim/lib/posix/posix_linux_amd64.nim
 nim/lib/posix/posix_linux_amd64_consts.nim
+nim/lib/posix/posix_nintendoswitch.nim
+nim/lib/posix/posix_nintendoswitch_consts.nim
 nim/lib/posix/posix_other.nim
 nim/lib/posix/posix_other_consts.nim
 nim/lib/posix/termios.nim
@@ -283,6 +295,7 @@
 nim/lib/pure/oswalkdir.nim
 nim/lib/pure/parsecfg.nim
 nim/lib/pure/parsecsv.nim
+nim/lib/pure/parsejson.nim
 nim/lib/pure/parseopt.nim
 nim/lib/pure/parseopt2.nim
 nim/lib/pure/parsesql.nim
@@ -307,6 +320,7 @@
 nim/lib/pure/strtabs.nim
 nim/lib/pure/strutils.nim
 nim/lib/pure/subexes.nim
+nim/lib/pure/sugar.nim
 nim/lib/pure/terminal.nim
 nim/lib/pure/times.nim
 nim/lib/pure/typetraits.nim
@@ -322,6 +336,7 @@
 nim/lib/pure/xmlparser.nim
 nim/lib/pure/xmltree.nim
 nim/lib/std/sha1.nim
+nim/lib/std/varints.nim
 nim/lib/stdlib.nimble
 nim/lib/system.nim
 nim/lib/system/alloc.nim
@@ -345,10 +360,11 @@
 nim/lib/system/gc_common.nim
 nim/lib/system/gc_ms.nim
 nim/lib/system/gc_regions.nim
-nim/lib/system/genodealloc.nim
+nim/lib/system/helpers.nim
 nim/lib/system/hti.nim
 nim/lib/system/inclrtl.nim
 nim/lib/system/jssys.nim
+nim/lib/system/memory.nim
 nim/lib/system/memtracker.nim
 nim/lib/system/mmdisp.nim
 nim/lib/system/nimscript.nim
@@ -358,6 +374,7 @@
 nim/lib/system/repr.nim
 nim/lib/system/reprjs.nim
 nim/lib/system/sets.nim
+nim/lib/system/strmantle.nim
 nim/lib/system/sysio.nim
 nim/lib/system/syslocks.nim
 nim/lib/system/sysspawn.nim
diff -r 40406399ef99 -r 5fe05b30b776 lang/nim/distinfo
--- a/lang/nim/distinfo Mon Oct 01 12:37:23 2018 +0000
+++ b/lang/nim/distinfo Mon Oct 01 12:50:42 2018 +0000
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.3 2018/04/03 03:24:56 ryoon Exp $
+$NetBSD: distinfo,v 1.4 2018/10/01 12:50:42 ryoon Exp $
 
-SHA1 (nim-0.18.0.tar.xz) = 2f261782f80aaf30b8a72b93fc79e9e10f331f1a
-RMD160 (nim-0.18.0.tar.xz) = aabb04f85eb0fe074a4e887a9e13ef42424e100a
-SHA512 (nim-0.18.0.tar.xz) = 6434da5350858c434c4d39afa60854a8accdffb1a975edfc92cbb32a25a11a6f677a5bb335ae164bdb42555936b2835a80529e4e1e66ccc6d325163cd8c416bc
-Size (nim-0.18.0.tar.xz) = 4415048 bytes
+SHA1 (nim-0.19.0.tar.xz) = 6dc50e8b2a41b4583e2ce07367787ef2092d2e1d
+RMD160 (nim-0.19.0.tar.xz) = 6218166fe1004a40e007a6acab2e24867e4e2167
+SHA512 (nim-0.19.0.tar.xz) = f7f3c8e0e9a6509b6404e21da4693ceb279112dd7a7c39edc7e717f21554442914c9cf7d811bb4034ff244e34d77dabf6e09b5e3e77c37314adf99cc0c3b2311
+Size (nim-0.19.0.tar.xz) = 3321644 bytes



Home | Main Index | Thread Index | Old Index