Skip to content

Baseline reached for KeplerKV

Pre-release
Pre-release

Choose a tag to compare

@sneha-afk sneha-afk released this 10 Jul 23:53
· 82 commits to main since this release

pre-release: v0.1.0-alpha

current features

The current form of the project has reached the baseline requirements I set to do.

  • Basic user CLI setup for five basic commands: quit, set, get, delete, and update
  • Volatile storage of some basic types: integers, floats, strings, and lists (including multi-dimensional)
  • Validation of user input during parsing

challenges

By far the most difficult part of getting the project running was understanding the parsing. The tokenization of user input was straightforward, but I had to restructure the format of my abstract syntax nodes continuously as I stumbled across errors with recursive definitions (for lists) and overcomplexity in the evaluator stage when dealing with values. For now, I settled on a basic model where nodes are either commands or values for commands.

next steps

The next steps for the project include:

  • Ideally, finding an easier definition for ValueNode and StoreValue that would reduce redundancy and added overhead
  • Lazy evaluation of identifiers whose values are set to other identifiers
  • Serialization so data can be non-volatile and persist