Can a guy get a little privacy? NO
Module vars and instance members are now globally writable!
Remember, with great power comes great responsible! Using a lot of dots might be slower than a method!
Hold on to your bits!
A new version of Lowerdash is here!
0.7.2 fixes:
- use FOR... IN multiple times in one DEF
- != is now recognized as an operator
- You can use dot syntax for dictionaries and modules
And of course:
I think Lowerdash is the huge step up you're looking for :p
As a language, LD has been through 5 releases now; the memory model is stable and tested.
Of course, being the first release of the new compiler, there may be holes! :D
Getting to 4,10:
Unfortunately, SB's file system is a little, er, basic. Lowerdash Package Manager can install libraries from other projects by copying them into the new one; leaving a large flat list.
Best case is a naming scheme that sorts user files to the top - I use "-" as scripts "_" as lib and "." as user.
Obfuscation would be awesome, but requires some very slower mechanisms
On types: #,%,$ are the same as normal SB. However, $ now means any pointer, not just a string pointer.
Pointer vars have to be typed, but functions do not (same as SB)
And yep, pointers are what you expect. An object pointer can be passed to other functions.
(a typed pointer can point to a function as well!)
@AlgorithmZ: Thas a lotta questions!
Theres a whole manual on smilebasicsource (being updated)
Lowerdash is object-oriented and uses a stack & heap paradigm. There is recursion, and all member variables live on the heap until an instance is DEL'd.
Modules can contain: MEM (member, export var); VAR (static var); STATIC defs; and EXPORT defs.
Exports belong to the object system.
Its finally here!
Lowerdash 0.7 features an even easier to use syntax and a powerful new compiler!
Download:
WXNEY3JJ
Features:
- new . (dot) operator
- find more syntax errors, earlier
- even fasterer
Manual:
smilebasicsource.com/page?pid=59
@Oscar: Its very close to assembly branch instructions, which I guess BASIC is supposed to be close to...
SUB A, B
BNE A, 12345
@MathPrg: Fun fact: The '{}'s are part of their own grammar definition in C, unlike SB where THEN really does terminate the condition.
<IF>(<EXPRESSION>)<BLOCK>(<ELSE>...)*
<WHILE>(<EXPRESSION>)<BLOCK>
Lowerdash 0.6.5 beta is out!
2383C3HE
Changes:
- Array literals!
- DO takes arguments
- Fixed a bug with deleting strings
This release is in preparation for the new parsing engine; it adds missing features and fixes critical bugs.