twinBASIC Update: January 9, 2022

Highlights include error messages that now match VBx, a twinBASIC Discord server, and a teaser about twinBASIC's potential as a VBA replacement.

twinBASIC Update: January 9, 2022

On April 23, 2021, I helped Wayne Phillips introduce the world to twinBASIC at the Access DevCon Vienna conference.  I boldly predicted that twinBASIC (along with the Monaco editor) would replace VBA and its outdated development environment by 2025.  With that goal in mind, this weekly update is my attempt to keep the project fresh in the minds of the VBA development community.

Every Sunday, I will be providing updates on the status of the project, linking to new articles discussing twinBASIC, and generally trying to increase engagement with the project.  If you come across items that should be included here, tweet me @NoLongerSet or email me at mike at nolongerset dot com.


Updated Error Messages

The following VBA library functions now throw errors matching VBx (English-only for now):

  • all VBA.Conversion functions
  • all VBA.String functions
  • all VBA.Information functions
  • all VBA.DateTime functions
  • all VBA.Math functions

Around the Web

twinBASIC Discord Server

There is now an official discord server for more informal twinBASIC conversations.  

Join the twinBASIC Discord Server!
A place to discuss twinBASIC, the next-generation classic BASIC programming language | 14 members
Things are less formal [on the Discord server], so if you want any general help with twinBASIC, or have some outrageous ideas that you want to bounce off a few people, you're very welcome to come over to the discord server to discuss.

Note, this is NOT a replacement for bug reports and feature requests.  Those should still go on the GitHub issues site so that they can be tracked and closed.  

Show Your Love for the twinBASIC Project

Licenses remain available for purchase at a discount prior to the official release of Version 1.0 of twinBASIC here: twinBASIC Pre-Order Information.

If you don't want/need a license at this point, but you still want to show support for the project, you can make small one-time donations at the official twinBASIC Ko-fi page: Buy a Coffee for twinBASIC Programming Language.

"All donations very much appreciated, and will be put towards the goal of world domination."  A worthy goal!

Wayne Phillips: International Man of Mystery

Mark Burns posed the following question in the discussion on twinBASIC someday replacing VBA as the default Office development environment:

...but how would that actually work in practice?
vbx doesn't compile to a .exe, but to pcode that I'm guessing the VBA runtime then reads and executes alongside the ms-office apps .exe, right?
How could it work for a tB-compiled .exe/.dll to work in direct place of that VBA/p-code in practice?
Register the tB as an activeX .dll add-in? (Once again, there are some serious problems with that in enterprise configurations, as default enterprise security profiles generally lock those down.)

To which Wayne responded teasingly:

Ahh, well I might have a few tricks up my sleeve.... you'll have to wait and see 😜


Here are the updates from the past week.  You can also find this information by installing the twinBASIC VS Code extension and clicking on the Changelog tab of the extension page:

[v0.13.68, 9th January 2022]

[v0.13.67, 9th January 2022]

[v0.13.66, 8th January 2022]

[v0.13.65, 7th January 2022]

[v0.13.64, 7th January 2022]

[v0.13.63, 6th January 2022]

  • fixed: VBA.Conversion.Error$() now implemented (ENGLISH ONLY FOR NOW)
  • fixed: all VBA.Conversion module functions now throw errors matching VBx (ENGLISH ONLY FOR NOW). Lots of edge cases also fixed. [ ]
  • fixed: all VBA.String module functions now throw errors matching VBx (ENGLISH ONLY FOR NOW). Lots of edge cases also fixed. [ ]
  • fixed: Variant to Decimal conversion causing a buffer overflow (affected 64-bit only)
  • fixed: linker error causing some 64-bit builds to fail randomly

[v0.13.62, 4th January 2022]

All original code samples by Mike Wolfe are licensed under CC BY 4.0