You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -133,7 +133,7 @@ auto const res = engine.ExecuteCode( "squared( 2 )" );
133
133
std::cout << "square is " << res.GetAsInteger() << std::endl;
134
134
```
135
135
136
-
More examples are in the teascript_demo.cpp of this repo.
136
+
More examples are in the [teascript_demo.cpp](demo/teascript_demo.cpp) of this repo.
137
137
138
138
# Example TeaScript Code
139
139
@@ -226,6 +226,12 @@ You only need to set the include path in your project(s) / for compilation. Dete
226
226
227
227
HINT: For Windows with C++20 it is also recommended to use libfmt for the best possible Unicode support for print to stdout.
228
228
229
+
**Optional Features:** <br>
230
+
**TOML Support** - for the integrated TOML Support you need the toml++ Library. (tested with **3.4.0**) <br>
231
+
You can find the toml++ library here: https://github.com/marzer/tomlplusplus <br>
232
+
You only need to set the include path in your project(s) / for compilation. Detection is then done automatically. <br>
233
+
See include/teascript/TomlSupport.hpp for some more details.
234
+
229
235
# Building the demo app
230
236
231
237
**Windows:** Use the provided VS-project or the settings in compile.props.
@@ -247,10 +253,10 @@ If you see **6** as the result everything is functional.
247
253
248
254
# API stability
249
255
250
-
TeaScript is pre-mature and many things will probably change in some new (pre-)release.<br>
251
-
However, the public methods of the `teascript::Engine` class as well as the public getters of the `teascript::ValueObject` class are considered semi-stable (if not otherwise documented in the code).<br>
256
+
TeaScript is pre-mature and many things will probably change in some new release.<br>
257
+
However, the public methods of the `teascript::Engine` class as well as the public getters of the `teascript::ValueObject` class are considered stable (if not otherwise documented in the code).<br>
252
258
This means that I will try to ensure backward compatibility if possible or provide a smooth transition - except if major issues are detected or at very rare circumstances.<br>
253
-
This also counts for the headers version.h / Util.hpp / Exception.hpp.<br>
259
+
This also counts for the headers version.h / Exception.hpp / SourceLocation.hpp.<br>
254
260
All other classes / structures / types (including all its methods and members), and free functions are considered unstable and may change often or might be even removed entirely.
255
261
256
262
Methods / Functions marked with
@@ -260,27 +266,25 @@ Methods / Functions marked with
260
266
261
267
## Can TeaScript be used for production already?
262
268
263
-
Yes, it can for certain and specific scenarios. I explain why and which:
269
+
Yes, it can. I explain why and what is the best practice:
264
270
265
271
First, although the 1.0 release is not done yet, every release has 3 levels of quality assurance:
266
272
267
-
- UnitTests – on C++ as well as on TeaScript level (TeaScript files testing TeaScript features).
268
-
- Functional tests with scripts.
269
-
- Manual testing.
273
+
* UnitTests – on C++ as well as on TeaScript level (TeaScript files testing TeaScript features).
274
+
* Functional tests with scripts.
275
+
* Manual testing.
270
276
271
277
This ensures a high level of quality already.
272
278
273
-
Second, use the high-level C++ API only (e.g. via class teascript::Engine ). This API will stay backward compatible already or a soft migration will be provided – except if major issues are detected or at very rare circumstances.
279
+
Second, the TeaScript syntax and language features which are present already will stay compatible and are covered by the tests mentioned above. In new versions new syntax and new language features will be added, but old written scripts will still be functional in 99% of the cases (only if the script used some quirks or rely on broken functionality or if really big issues are addressed, this backward compatibility might not be hold.)
280
+
281
+
Third, usage of the high-level C++ API only. This API will stay backward compatible or a soft migration will be provided – except if major issues are detected or at very rare circumstances.
282
+
The high-level API consists of the classes teascript::Engine / teascript::EngineBase, all public getters in teascript::ValueObject as well as everything in Exception.hpp / SourceLocation.hpp and version.h (except if otherwise noted).
274
283
275
284
# License
276
285
The TeaScript C++ Library is 100% Open Source and Free Software and licensed under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3 (AGPL-3.0): see LICENSE.TXT <br>
277
-
<br>The library is dual licensed.<br>
278
-
<br>
279
-
If the license does not fit for you:<br>
280
-
- for **non-commercial** projects a different license might be available on request.
281
-
- for **commercial** use cases a different license can be purchased.
282
-
<br>
283
-
A purchased licensed will be individual fine grained for perfectly match the use cases and needs. Don’t hesitate to start a conversation / issue a request.
286
+
287
+
If you cannot or don’t want use this specific open source license, you may ask for a different license.
284
288
285
289
# Disclaimer
286
290
This software is provided “as-is” without any express or implied warranty. In no event shall the author be held liable for any damages arising from the use of this software.
@@ -290,6 +294,13 @@ See also the included COPYRIGHT.TXT and LICENSE.TXT for license ifnormation, usa
290
294
This software is a pre-release.
291
295
The behavior, API/ABI, command line arguments, contents of the package, usage conditions + permissions and any other aspects of the software and the package may change in a non backwards compatible or a non upgradeable way without prior notice with any new (pre-)release.
292
296
297
+
# Support my work
298
+
If you want to support my work, especially to further develop TeaScript and to run this website, you can do this by a donation of your choice via Paypal:
299
+
300
+
https://paypal.me/FlorianThake
301
+
302
+
The donation will be for covering the monthly and yearly costs as well as for free personal use. All donations will help me to put more time and effort into TeaScript and this webpage. Thank you very much! 🙂
0 commit comments