~vdupras/duskos

duskos/NEXTSTEPS.md -rw-r--r-- 1.3 KiB
508a18b8Virgil Dupras cvm: add the ability to mount any file on the host has a drive 15 hours ago

#Next steps

Right now, my focus is on the C compiler, but here's some ideas of things to improve in periphery of that main effort.

#Word annotations

I'd like documentation about words to be in-system and this could be done with an annotation system. The annotation system is already there, we would need to populate those annotations.

Then, it's a matter of developing a nice interactive application to navigate words and see their associated documentation.

#Argspecs

Right now, only one type of annotation is there, the docstring. However, another type of annotation would be useful, argspecs. To have comments like ( a b -- n ) be in a separate structure is not only for better doc formatting, it's also that it will eventually be essential for C code to call Forth words. Because the C compiler has to know the signature of a word to properly call it, we'll need that argpec annotation to have a "machine-readable" structure.

#Accelerators

It would be fun if assemblers were leveraged early in the boot process to accelerate some core words. For example, it could override the "+" word into an immediate that emits eax [ebp] mov, ebp 4 i32 add, [ebp] eax add,, or even better, that detects if the last compiled word was a literal and replace that literal with [ebp] (replaced literal) i32 add,.