#+OPTIONS: toc:nil num:nil <:nil \n:nil ::nil timestamp:nil *:nil ':nil #+HTML_HEAD: #+EXPORT_FILE_NAME: stdlib.html #+TITLE: GRU DeerTree standard library specifications * TODO Introduction {} - optional argument to function (FIXME: should be defined in main specfications) * TODO Buitlin syntax * TODO ~~ header FIXME: Like stddef.h in C, maybe more ** Types *** ~Size~ - alias for unsigned long long * TODO ~~ header ** Types *** ~File~ - an object type used for streams. ** Functions *** ~printf();~ // C-like formatting *** ~fprintf();~ *** ~sprintf();~ *** ~eprintf();~ * TODO ~~ header ** Types ** Functions *** ~isalnum()~ *** ~isalpha()~ *** ~isascii()~ *** ~isblank()~ *** ~iscntrl()~ // FIXME: maybe not needed *** ~isdigit()~ *** ~isgraph()~ // FIXME: maybe not needed *** ~islower()~ *** ~isprint()~ // FIXME: maybe not needed *** ~ispunct()~ *** ~isspace()~ *** ~isupper()~ *** ~isxdigit()~ *** ~toascii()~ // FIXME: maybe not needed *** ~tolower()~ *** ~toupper()~ * TODO ~~ header Functions for memory usage (FIXME: better description) ** Types ** Functions *** fn alloc(Size sz) (byte[]); *** fn free(byte[] ptr); * TODO ~~ header ** Types *** Flag ** Functions *** fn open(Path p, Flag flags) (File); // FIXME: should path be path_t or string? should flags be flag_t or string? *** fn read(File f, Size sz) (byte[]); // FIXME: maybe it should return something like byte[] *** fn write(File f, String str, {Size sz}) (Size); *** fn close(File f) (int); ** TODO ~~ header ** TODO ~~ header ** TODO ~~ header ** TODO ~~ header *** Types *** Functions **** fn syscall(long number, {arguments}) (long); // FIXME * TODO ~