./devel/sfsexp, Small Fast S-Expression Library

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.4.1, Package name: sfsexp-1.4.1, Maintainer: ryoon

This library is intended for developers who wish to manipulate (read,
parse, modify, and create) symbolic expressions from C or C++
programs. A symbolic expression, or s-expression, is essentially a
LISP-like expression such as (a (b c)). S-expressions are able to
represent complex, structured data without requiring additional
meta-data describing the structure. They are recursively defined: an
s-expression is a list of either atoms or s-expressions. In the
example above, the expression contains an atom "a" and an
s-expression, which in turn contains two atoms, "b" and "c". They are
simple, useful, and well understood.


Master sites:

Filesize: 454.392 KB

Version history: (Expand)


CVS history: (Expand)


   2023-04-26 21:36:49 by Thomas Klausner | Files touched by this commit (3) | Package updated
Log message:
sfsexp: update to 1.4.1.

1.4.1

Summary

This is a bug fix release that addresses a race condition that can
occur in multi-threaded programs when memory management is enabled.
In previous versions of the library memory management was enabled
by default. This is no longer the case, and it must be enabled
explicitly at configure time.

Explanation of bug: The global variables used for caching and
reusing allocated structures and the functions that manipulate them
do not currently protect critical sections to guarantee atomicity
which can lead to failures in multithreaded programs. The current
fix is to disable memory management by compiling with the
_NO_MEMORY_MANAGEMENT_ directive such that the thread-unsafe code
must be enabled explicitly. The unsafe code may be removed in future
releases if performance evaluation determines that it is a legacy
feature that no longer provides a tangible performance benefit. If
it does provide a measurable benefit, a thread-safe fix will be
implemented.

1.4.0

Updates

    updates to build and installation process, pkg-config
    rename package from sexpr to sfsexp to avoid confusion
    documentation updates
    additional UTF-8 tests
    removal of archaic code that is no longer necessary
    fix for sexp_to_dotfile looping on empty lists
    update sexpvis.c to add arguments

Pull request changes

    generate pkgconfig file during configure by @bremner in #5
    make _sexp_to_dot static / hidden by @bremner in #4
    fix for sexp_to_dotfile looping on empty lists by @bremner in #8
    add some simple non-ascii tests by @bremner in #6
    remove archive/ by @bremner in #10
    Install sfsexp.pc file by @ryoon in #11
    Honor LDFLAGS to fix RELRO build, for example by @ryoon in #12
    Enhance markdown in README.md by @jpellegrini in #13
    Rename sexpr to sfsexp by @mjg in #17
    Pkgincludedir by @mjg in #18
   2021-11-02 14:48:03 by Ryo ONODERA | Files touched by this commit (1)
Log message:
sfsexp: Fix version number in buildlink3.mk

Before importing, I had forgotten to fix harf-baked buildlink3.mk.
   2021-11-01 15:15:42 by Ryo ONODERA | Files touched by this commit (5)
Log message:
devel/sfsexp: import sfsexp-1.3.1pre20211025

This library is intended for developers who wish to manipulate (read,
parse, modify, and create) symbolic expressions from C or C++
programs. A symbolic expression, or s-expression, is essentially a
LISP-like expression such as (a (b c)). S-expressions are able to
represent complex, structured data without requiring additional
meta-data describing the structure. They are recursively defined: an
s-expression is a list of either atoms or s-expressions. In the
example above, the expression contains an atom "a" and an
s-expression, which in turn contains two atoms, "b" and "c". \ 
They are
simple, useful, and well understood.