[racket] Need some help for my first real experiment with scheme
Hey all
I'm a sucker for note taking applications. I can't get enough of
applications like zim or tomboy notes.
Both have served me well but, after many years using them, I can't get
over some features they're missing that I find important. I decided I
would hack my own note taking application. While I would like to have
something functional in useful time, I have many ideas of future
features. This is also a good opportunity for me to experiment with
scheme, since I've never written any application in scheme or any
other lisp dialect. I hope I also learn something about not-so-trivial
data structures. Racket comes with a fairly straight-forward gui
library which should be enough to put something usable together in
relatively short time. Hence my choice.
So, the killer feature both zim and tomboy are missing is a modern
search. Tomboy's search works as I type, which is cool, but in order
to navigate through a note, I need to either use the mouse, or else
navigate through all the widgets in the dialog using tab or arrow keys
which is always require 4-6 keypresses. IMHO that is not practical at
all, specially for those who find mice unpractical. I think something
like firefox' awesome bar is the way to go. Search results are shown
as I type and search targets both the title (More relevant I suppose)
and contents.
My first question is: which kind of kind of data structure should I
use in order to perform such a quick search? I'm guessing I should
split my notes' data into words and store each single word in some
kind of tree. But should I just jam every single word in the memory?
Is this a common practice?
I have many more questions that I'll leave for latter.