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