Skip to content
Tharo edited this page Aug 31, 2021 · 21 revisions

Intro

On this page we list upcomming tasks, features and topics about the projects development.

Each Item can (and should) be commented by different developers.

Sample bucket one (rejected)

  • I don't think that we need this - tharo
  • I second this - someone else

Sample bucket two (v18)

  • Show must go on - tharo
  • subfeature that we should do
  • βœ… subfeature 2 that allready had been done in devel

v19

Project

  • We need at least one Tutorial how to make an (hopefully cool) mini-game with bass - tharo
  • It would be great if we would have an tutorial how to add an architecture. I would like pokemon mini. - tharo
  • Its unrealistic, but not having this two tutorials but also have them as youtube video's would be amaaazing. But we should def. cooperate with other you or vtubers on that one. - tharo
  • Lower expectations - tharo
  • Better tests env. - tharo

Features

In v19 I dont want to focus on new features but on reworking some given features that, visible or not, will have an huge impact to bass itself

New scanner πŸ”₯

  • Our row based scanner came to a point that it's a burden on multiple points. We will jump to an token based scanner instead which would lead into all of the following features - tharo

Better Error Messages

  • nuff said - tharo

Unify Blocks and Scopes

  • At the moment Blocks are just an visual mark without any feature. Then each block will be it's own scope. With named scopes on namespaces and macros, and innerhinting anonymous scopes.

Parent scopes

  • If a scope dont find something, we will look on its parent scope. global and parent will become obsolete - tharo

Float support reintegration

  • At some point we lost our floating point support. It will be reintegrated :/ - tharo

Unicode Support

  • Needs to be investigated - tharo

macro 'functions'

  • We should be able to return macro values from macros. In other words: Having real functions. - tharo

Lazy keywords

  • const, var, def and fun. Many people requested shorter keywords and there is no real reason to deny them while keeping the old. The new scanner would make them possible - tharo

v18

Project

Work on new release

  • βœ… I would like to offer binary downloads. Also I would like to call the next release v18 or even 1.18 - anything but not v17 just to keep it original - tharo

Rework doku

  • βœ… Currently we have the bass.html files and the wiki pages with almost identical content. The wiki can be considered as outdated. The html file is technical and incomplete as soon as it comes to architectures. In v17 it also lacks details about 'functions' and some other 'features'. I would like to start an more user friendly doc using markdown files inside of the repro. Like having a 3th root directory called "docs". The original html file however should remain untouched. Im nostalgic about it :/ - tharo

Fix and close all Issues

  • ☐ Allready started that. But some of them should be taken care of later before we release again - tharo

Clean up or Delete Wiki

  • βœ… Atm its a mess. I would like to kill the github wiki and only fill it with infomations like about troubleshooting and project planing. The manual itself should remain in the sources - tharo

Features

Port kroms architecture files πŸ”₯

  • βœ… The repro had been stuck on v14 for four years now. I think it's time to migrate nears last version and port all our architecture files. I suggest this for the v18 release - tharo
  • βœ… return of arch as valid alias for architecture - We will need to decide if we prefer short terms or long terms. Or both. For now I re-insert arch to increase compatiblity rasons - tharo
  • βœ… include I will add an #include <file> statement for architecture files. The old arch files had couple of include like features in them. And I think they make sense - tharo
  • βœ… arch files The arch files had changed in a way that each command that is not meant to be an assembly description have to start with #. All existing commands #endian, #include and #directive had been altered.
  • βœ… add exit command for better debugging of huge bin files - tharo

Float values

  • ☐ I heard thats still missing. It might make sense to add it soon since some of the architectures make not that much sense without having float values available. It should be possible without changing our syntax too much - tharo

No shared Namespaces

  • ☐ Variables and constants are not sharing the same namespaces. In other words: the define x is not the same as the evaluation x. This is an VERY error prone 'feature'. But we need to expect that of course some users use it. I would recommend that we add a feature that forbits this behaviour when strict mode is active - tharo

From Forks

New architecture statements

  • ☐ Some of our current forks add more architecture statements. basstess for example has relative offset calculation, witch is needed by x86 architectures. We should consider adding them - tharo

Full nested namespaces

  • ☐ Currently bass only supports tree namespace scopes but it's not possible to access them by inerhinting your parent namespaces, just as users and logic would expect it. That had been changed on basstess with the result, that it allows a complete more basic like design for libs. So I would like to add it - tharo

Util

Testfiles

  • βœ… We could need testfiles for each architecture in source an bin to ensure that or main feature, the assembly, will always remain intact - tharo
  • βœ… Test's should pass with 100% equal bin outputs - tharo

Syntax Highlighting

  • maybe someone would do this - tharo