|
Prev: How do you know if the program is doing something ?
Next: "Fast Fourier Transform of a Step-function in 3-dimonsional."
From: analyst41 on 22 Jun 2008 10:27 On Jun 8, 6:40 am, analys...(a)hotmail.com wrote: > Thanks to everybody who has made contributions that were educational > for me (and hopefully for others as well), I propose to start a new > thread each time a thread fills up to 100 posts or so. > > I'll collect all the unresolved/TBD issues from the other thread later > but I want to move on to the "core" of linf. > > Linf will be aware of three "atomic" physical data types: > > (1) Bits > (2) Bytes > (3) Words > > and 4 "atomic" or scalar data types: > > (1) Logical > (2) Character > (3) Integer > (4) Floatin Point Reals > > The mapping between physical and language atoms will be > > (1) Bits will support logical only > (2) Bytes will support character and Logical > (3) Words will support integers and reals. > > there will be exactly one intrinsic structure - the array - of > exactly two types - statically sized (known at compile time) and > dynamically sized (known at the time of entry into a subprogram. > > Static versus dynamic need not be declared - the compiler should be > able to infer it. Exiting from a sub-program deallocates all arrays > that are not present in the argument list. > > memory management will not be done through program statements. > > Arrays can be of arbitrary number of dimensions of each of the four > scalr data types. > > comments? Moving on to the core of the language: I would like linf to allow for very generalized "iterator sets" (known to Fortran as "do loops"). And also totally eliminate the j = j +1 construct (except as a stylistic feature preferred for idiosyncratic reasons): I'm thinking of a syntax like DO FOR ALL <iterator set identifier> things continue : count with <count identifier> things do for all <nested iterator set> things continue :count with <inner count identifier> <end nested iterator set> <end main iterator set> We can use continue statements to simply count how many times the exceutiuon path came there. iterator sets will be defined and named only once but their membership may change over time as the sub-program executes. |