www.sixfingeredman.net
..................................................
::. .  .   .     .       .          .

HOME
readme
brain
ideas
todo
writing
photos
graphics
projects
quotes
recipes
books
movies
links
old site

database language

- a query defines a relvar - so we can think of queries as stand-ins for the relations they will represent at run-time - so we derive the type of a query from the types of its base relvars and the operations - so we can statically type-check the query - but we DO need the database schema (aka relvar types), which we can think of as a header file for separate compilation of database and client - how much can/should we can infer the relevant types? - compile time versus runtime is not that important -- the difference is "just" partial evaluation, or compiler macros - there should be flexibility about where computation occurs; how much code should be sent to the database, and how much should be done on the client? - therefore having strong integration between database and language is good - object databases and ORM mappings are not good enough; languages need to understand relations - client operations need to be defined on structurally-typed records, and type inference is good; so we know exactly which columns of a relation are going to be used by the client and which are not


"The scarcest resource is development time. No way to do a baby in one month
using 9 women."
	-- /. #144654