BigInteger coming to JavaScript CodeGen

Support for BigInteger type in SmartPascal is being added in the DWScript repository, it is mapped to the new BigInt JavaScript type which is now supported by the major browsers.

This is going to be a work in progress over a few weeks. In part because the JS implementation is rather bare-bones with few support functions, and in part because with the BigInt type, the JS designers did away with some automated and implicit casting (uh?).

(more…)

The case for strict parameter types

While refactoring a bit the way some “special” functions were handled in DWScript, I came about a case where the compiler started accepting strings as Math functions parameters.

While this comes naturally as an “interesting” side-effects of automatic typecasts, it left a feeling of “wrongness”, accepting literal code like Abs(“foo”) and then failing at run-time is asking for trouble.

(more…)

Prepping up for GPDR

As you have probably been made aware by the flurry of privacy policy updates in your mailbox, GPDR is coming.

While I am not convinced GDPR will not turn into a perfect showcase for “the road to hell is paved with good intentions”, this is also a good opportunity to update BeginEnd.net to use the 64bit version of DWScript and add a few missing features.
(more…)

Best wishes for 2017!

A belated Happy New Year and Best Wishes for 2017!

This site and news have been neglected for much of 2016, this year’s resolution will be to try and revive it a bit.

In particular announcements and articles have fallen way behind the code as far as DWScript is concerned. So I will start the year by attempting to rectify that.

(more…)

SHA-3 ad hoc compiler: Reloaded

count_the_monkeysIt occurred to me that SHA-3 being a cryptographic hash, it is one of those peculiar bits of code that are fully self-testing. Any bug in a cryptographic hash will quickly cascade to a different result, no matter the bug or the input.

This means the ad-hoc-compiler-monkey can be unleashed “safely”, and can be allowed to try “improper changes.”
(more…)