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
In the past, we've found that bitlash isn't always perfect and is limiting to what we need. In order to find out what would need changing, or what we'd need from an alternative, I'll try and collect the problems we have with bitlash here.
There is no proper string support. String literals can be passed to builtin functions, but functions cannot return strings, user-defined functions cannot accept strings as arguments (or at least not meaningfully use them), strings cannot be modified or inspected.
There is no support for labmdas (anonymous functions). This is a limitation when passing callbacks to builtin functions. You can now either pass in a full command to execute, or a function that gets arguments passed, but there is no way to easily support both.
Error messages are often not clear.
There are no variables, other than 26 globals with single-character names and read-only, nameless function arguments.
It's impossible to represent structured data such as (nested) lists, dictionaries, etc. The only way to allow structure is in function arguments, which cannot be returned or stored.
Related to the previous one, reports are a bit messy now. There are a lot of report commands, which both send a report and display it, while you usually just need to do either of those.
There is no easy way to manipulate the stack directly. In particular, to call a specific function with some arguments, you have to serialize them into a bitlash commandline, which has to be parsed by bitlash again, while you just want to skip these steps.
The text was updated successfully, but these errors were encountered:
I'd also say that we're using it well outside of it's designed intent, we want it to be a simple library that we can pass strings into and it parses/acts on them, but it's fundamentally structured to use/expose quite a bit of embedded hardware directly (like serial, pins, etc) and be the main interface.
It also has a built-in process manager and pseudo-filesystem, whereas we're often trying to work around those things and do them ourselves.
Hello.
Just wanted to update on the "user-defined functions cannot accept strings as arguments "
There is a work around for using string as arguments for user defined functions.
v2.0 (c) 2013 Bill Roy -type HELP- 5648 bytes free
> bitlash here! v2.0 (c) 2013 Bill Roy -type HELP- 5648 bytes free
> hello my name is bitlash
hello my name is bitlash
hello my name is bitlash
hello my name is bitlash
hello my name is bitlash
In the past, we've found that bitlash isn't always perfect and is limiting to what we need. In order to find out what would need changing, or what we'd need from an alternative, I'll try and collect the problems we have with bitlash here.
The text was updated successfully, but these errors were encountered: