Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Releases: ChaiScript/ChaiScript

Release 6.1.0

29 May 17:30

Choose a tag to compare

Changes since 6.0.0

Release 6.0.0

22 Feb 23:04

Choose a tag to compare

Changes since 5.8.6

6.0.0 is a massive rework compared to 5.x. It now requires a C++14 enabled compiler

Compiler Requirements

  • MSVC 2015 or greater
  • g++ 4.9 or greater
  • clang 3.6 or greater

Breaking Changes

  • Instantiating a ChaiScript object now, by default, builds the stdlib in
    • This was done to address the most common support issues of loading stdlib dynamically at runtime
    • If you want the old behavior, use include/chaiscript/chaiscript_basic.hpp
  • Headers have been reorganized to fully separate stdlib/parser/engine from each other (some faster builds)
  • Bootstrap functions no longer return a reference to the module added to (compile time savings)
  • It's now no longer possible modify AST_Nodes (compile time, runtime efficiency)
  • Function annotations no longer exist (simplifies code, reduces compile time, compile size)

New Features Added

  • Modular optimization system; this can be accessed via the ChaiScript_Basic interface
  • Execution tracing capability; also accessed via ChaiScript_Basic interface
  • range-based for loops for( id : container ) { } (much better performance than other loop types)
  • If-init expressions (ala C++17)
  • Support for passing r-value references to functions
  • Support for containing unique_ptr
  • Add helpers for exposing enum classes to ChaiScript
  • Allow typed ChaiScript defined functions to perform conversions on call #303

Improvements

  • Compile time improvements
  • Compile size improvements
  • Significant runtime improvements (see "Modular optimization system")
  • Significant parser improvements, both with parse-time and parser initialization time (Thanks @niXman)
  • Fix type conversion to bool in conditionals

Improvements Still Need To Be Made

  • File location tracking has been rewritten; this currently means error location reporting is not as good as it was
  • Tracing capability needs to be tested and vetted

Release 5.8.6

22 Feb 22:39

Choose a tag to compare

Changes since 5.8.5

  • Optimize away return statements in lambdas also
  • Allow conversions to bool in conditionals
  • Don't allow class statements inside of scopes
  • Properly error when a dynamic object non-function member is called

Release 5.8.5

10 Oct 02:02

Choose a tag to compare

Changes since 5.8.4

  • Fix order of operations for prefix operators
  • Make sure atomics are initialized properly
  • Remove parsing of unused prefix & operator

Release 5.8.4

10 Oct 02:02

Choose a tag to compare

Changes since 5.8.3

  • Fix case with some numeric conversions mixed with numerics that do not need conversion

Release 5.8.3

16 Sep 18:37

Choose a tag to compare

Changes since 5.8.2

  • Add support for reference of pointer return types

Release 5.8.2

16 Sep 18:36

Choose a tag to compare

Changes since 5.8.1

  • Allow casting to non-const & std::shared_ptr

Release 5.8.1

05 Mar 23:15

Choose a tag to compare

Changes since 5.8.0

  • Fix parsing of floats to be locale independent #250
  • Various warning fixes on various platforms

Release 5.8.0

17 Feb 00:35

Choose a tag to compare

Changes since 5.7.1

  • Make all parser iterator operations range checked
  • Parse in-string eval statements once, not once for each execution
  • Fix parsing of operators (ie 1<-1 now parses)
  • Fix variable scoping for functors
  • Exception reduction
  • Various object lifetime fixes
  • Add JSON support for load / save #207
  • Numeric overload resolution fixes #209
  • Fix long long #208
  • Add octal escapes in strings #211
  • Fixed sizing of binary literals #213
  • Added support for != with bool values #217
  • Various value assignment vector fixes
  • Fixed broken hex escape sequences from @ChristianKaeser
  • Multiply defined symbols fixes #232 @raptorfactor
  • Add add_class helper #233 @vrennert
  • Cheatsheet fixes #235 @mlamby
  • Fix parsing of strings inside of in-string eval statements
  • Allow lower-case global keyword
  • Enable thread-local on MSVC (should be significant performance boost)

Test_Release

17 Oct 13:16

Choose a tag to compare

Test_Release Pre-release
Pre-release
Implement option explicit for dynamic objects.

Closes #218
Morty Proxy This is a proxified and sanitized view of the page, visit original site.