IRC log started Sat Oct 16 00:00:01 1999 [msg(modtunes)] permlog 1999.1016.mod -:- hcf [nef@me-portland-us208.javanet.com] has joined #modtunes -:- mode/#modtunes [+o hcf] by ChanServ * Tril/#modtunes is back from the dead. Gone 24 hrs 36 min 42 secs -:- water [water@tnt-10-134.tscnet.net] has joined #modtunes -:- mode/#modtunes [+o water] by ChanServ -:- SignOff hcf: #modtunes (Ping timeout for hcf[me-portland-us208.javanet.com]) Tril! we _must_ continue our discussion from a week ago 06:30pm which the one about types well, ok not interested right now? maybe shortly i'm at an installfest ok, i'm not in a hurry it's just that i wanted to explain how "types as sets of values" and "types as abstract specs" are not so incompatible (and i was cut off too quickly) 06:40pm yes, I remember your isp hung up and you never came back the last time it was a phone system problem... anyway, it's fixed now anyway, an abstract data type could be characterized as a set of operations which can be performed on the type the "actual data" stored would then be a stream of states as defined by an initial selector and a following sequence of operator selectors 06:50pm (with an implicitly-cached updated value stored for quick access) well, i understand that an ADT is a set of operations on the type.. and I dont understand the rest of what you said well, you could consider the ADT to be the set of operations *without* the type i mean, the type being the formalism for the data unfortunately, that doesn't explain how the ADT is mapped to each type no, it doesnt explain how to eliminate the circularity of "definition of a type" If an ADT depends on the set of functions available on the type, and the function definition depends on the set of values in the type, then the system makes no sense. hmm It ruins the definition of functions as pairs of values err, sets of pairs of values not necessarily Instead, functions must rely on intuition and there are then 2 different kinds of types- those that have distinct values, and those that are open-ended in membership anyway the main issue is: if I want to typecheck something, say, "is x in type A?" in formal logical specifications of algebra, the abstraction is provided by "equivalence classes" and the definition of type A is that operations B and C work on the object err 07:00pm what abstraction is "the" referring to in that sentence? er... the abtraction _process_ er... the abstraction _process_ the abstraction process is provided by equivalence classes? what does that mean and how does it have to do with types? like describing rationals when you only have integers or naturals a rational number is the equivalence class of all pairs of integers satisfying a particular multiplication equation "q={(a,b) : a = b * q} "q={(a,b) : a = b * q}" q=a/b it doesn't specify _how_, it specifies _meaning_ fine, that is perfectly clear really? wow but the question I have is, how do you take a reference to a specific rational number, given the definition you gave of a rational number. ah you must have a system that recognizes _representations_ of that number I.e. you need a more specific definition of the set of values that correspond to each possible rational number. values would be the abstraction that is independent of representation btw, there is an entire theory of representations (how to make abstract types realizable with formal languages, formally) i'm not sure what you mean by "more specific" i mean, i _can_ specify it via formal logic -:- hcf [nef@me-portland-us230.javanet.com] has joined #modtunes -:- mode/#modtunes [+o hcf] by ChanServ and representation theory provides for making effective functions that can parse languages to determine type 07:10pm -:- Kaufmann [Kaufmann@dial485.infolink.com.br] has joined #modtunes darn, i forgot the syntax for giving someone a voice sorry kauf, i'll figure it out /mode #modtunes +v kaufmann -:- mode/#modtunes [+v Kaufmann] by hcf thanks, guys -:- eihrul [eihrul@usr5-ppp49.lvdi.net] has joined #modtunes -:- mode/#modtunes [+v eihrul] by water water: +v doesnt matter atm since #modtunes is -m hmm btw, check the logs, all, for discussion history. the first part was over a week ago, and now we continue -:- mode/#modtunes [+m] by water Tril: so, what would we need beyond that? (i'm definitely for the notion that much is needed for integrating these formal languages) there is some confusion in my mind because there are 2 different kinds of types that I am thinking of one kind, doesnt ever need to be typechecked because its type is tagged (or part of representation) when it is created 07:20pm the other kind clearly does- but do I even need that second kind? give an example not sure what you mean by "other kind" ok I'm working on this assumtpion: the persistent store is a set of cells, and every cell has a specific value this is so the store can be actually implemented. right Each cell has a type AND a value.. when creating the cell, you MUST specify the initial value once you have cells like this, you never need to typecheck them. ok, i follow so far I guess I should do some work on the abstract types huh? If you want to have a cell that contains a value that might be in more than one type, but it will only be in one type at a time, then just use a "Sum" type dynamic coersion, then well, not technically, because the operations on the original types dont automatically apply to the "sum" type, tell me more about what this "sum" type will do sum is an operation that takes two or more types and returns a type 07:30pm the "sum type" as an ADT has two operations available on it is there an analogue of this in usual programming? yes, they are called "union" in C type sum is called disjoint union in mathematics Well, I'm off hmm.. what operations, then? my reference says, type sum (of two types) is constructed by two functions, that take elements of the original types and return elements of the new type -:- SignOff Kaufmann: #modtunes ("Jesus would make a good main character for a Seinfeld spinoff" - Amber << Well, it got my attention... coming soon, the pilot episode of BEN YOSSEF! Sundays at Atheist News Network!) sum: A x B -> C , would yield a function C1: A -> C and a function C2: B -> C * water/#modtunes makes a note to not give "voice" until requested -:- mode/#modtunes [-v eihrul] by water and there would be a unique element in C for each element in A and one unique element in C for each element in B the representation for C is usually the same as for A or B with a "tag" added that identifies it as a member of C sounds "quick and dirty" well, whatever, reps arent important well, what does it do for the type system, abstractly? i mean, disjoint unions don't sound very robust darn it, i must go for now the theory is, if an object is a member of both A and B, it will have two distinct objects in C but if we assume A and B are made of unique elements anyway that would never be possible. Tril, think about this stuff. i will be on later, and maybe we can meet and continue this leaving? sorry my net connection dropped (someone unplugged ) yeah, i still mst share my phone line with roommates s/mst/must ok btw, i consider your "objects" idea to be my "representations" idea my objects idea is gone for now I dont know what idea you refer to 07:40pm when you use the word object, i would only use representation -:- mode/#modtunes [+v eihrul] by hcf when I use object , I'm not sure what I mean bye i don't consider the object notion to have primal consideration yeah, bye 07:50pm -:- mode/#modtunes [+o water] by ChanServ !Hyrlaris:*! We need more linpeople q3 people @ quake3.roundtablepizza.com huh? sure * water/#modtunes is thinking of how to continue what would your "type of types" be like? well, like I said, I thinking about a language that describes sets of values so the type of types would correspond to the set of expresions in that language it would be capable of describing sets of values that are infinite in more than one dimension like real numbers for instance but"it would be capable of describing sets of values ..."? the description is an expression, too 08:30pm that's not of a primary importance i'm not saying the idea is invlaid, it's just weak maybe i'm asking the wrong question perhaps this: "what is a set of values used for?" for instance, the "variable assignment" metaphor is unsafe in general !Hyrlaris:*! We need desperatly need more linpeople q3 people @ quake3.roundtablepizza.com hjold on, sorry oh it just seems that a "set of values" is only good for variables (objects with state), which is unsafe by tunes-standards -:- SignOff hcf: #modtunes (Ping timeout for hcf[me-portland-us230.javanet.com]) -:- mode/#modtunes [+o hcf] by ChanServ ok 08:40pm (keep in mind that i've been lisping all week) :P what are sets of values for ? if you have, say, a "set of objects", then you apply functions to those objects, not ones with state consisting of that object set-membership is a predicate here's what I use values for or a function, if you only see one set per object a value exactly specifies one member of a type, which is not equal to any of the other members of the type, and is equal to itself and I have no idea what you mean by state state is that which is only updated by assignments ok, cells store state, agreed? so that the store can be implemented? right, but that's not what the type system sees not a functional one s/functional/purely-functional what do you mean (what does the type system see?) the store is a cache... it should be implicit in what way? implicit? well, the store as an object is only useful because it has to be modelled to be implemented 08:50pm remember what i was saying last week about persistent stores for functional languages? no, where did you say it (10/08) 1999.1008.mod? line number? well, at least you're modem isn't hanging up your still looking, sorry 1008.mod @ 6:50pm (sorry, no good text-ed at hand) the store essentially is a cache for function results, which for high-order languages includes functions themselves 09:00pm this could be generalized to the notion of caching expressions how do the function inputs originally get in the store? they would be the outputs of other functions what about just functions that take values that can be exactly represented? are we talking about the same thing? it seems not my "store" is the API at which data is saved and retrieved i'm thinking of the store abstractly... the data could be cahced in multiple places it's explicit saving/trestoring, not any implciit auto-save or implicit- GC or not at all, whenever the data is quickly calculable eek yes, assume it's above the level of specific locations like disk or memory, but below the level of caching function resuilts why? why pick that level of modelling? sorry, i'm arguing over a pointless issue :( 09:10pm i just can't understand why you're discussing low-level issues 09:20pm still here? well, at least for the logs, i'll mention that your store's "slots" would probably be better modelled as a finite bit-field 09:50pm -:- SignOff eihrul: #modtunes ([x]chat) [msg(modtunes)] newlog 1999.1017.mod IRC log ended Sun Oct 17 00:00:00 1999