IRC log started Sun Jan 2 00:00:01 2000 what in particular? [msg(TUNES)] permlog 2000.0102 hard to tell... heh "particular" is not a good word to use when making a general purpose system.. ok http://www.disflux.net/bueno/ :) nice front page... "can you use frames?" :) heh tril: so what's standing between you and the tunes hll spec? i didn't make it i don't know html well... * eihrul/#tunes clicked on to not use frames. it's not that obsolete, and I never really got any comments on it.. sorry eihrul :D you mean the hll page on tunes.org? not the hll page but anything under ~dem/tunes oh heh. you should get into "push" content... put it on the mlist. discuss it there 12:10am -:- higby [RH@tnt155.web-ster.com] has joined #tunes hello water well, what's wrong with taking a tiny lisp and arguing about how to make it into tunes? hi higby guess what... i got my modem to work when i am not root * water/#tunes would rather argue than spend the short time he has to talk with tril silently hig: cool i love the chmod command How to make lisp into tunes? hig: now if only my modem would work again :) tril: sure `you having modem problems or whatever. just something ridiculously simple hig: yes, since i upgraded to mandrake 6.5 sorry for you if it'll make you fell better water you can scold me i am on openlinux 2.3 haha good one * water/#tunes slaps fire around like the whiny wannabe-coder he is. :) :( lol that's harsh you guies get vicious especially after trying to compile this program and ending up with 25 or so errors but it felt good and it's the truth :) fire: welcome to the wonderful world of c :) HERE HERE i need a stiff drink -:- higby [RH@tnt155.web-ster.com] has left #tunes [] eh? hm. he left Tril: so how about it? ¬_¬ ok what are we willing to do to get tunes going? I don't like lisps ack typesystem *minimal* lisp scheme ph34r ;) * water/#tunes slaps fire around like the whiny wannabe-coder he is. D: minimal lisp with what typesystem? forget scheme sorry father -:- higby [root@ascend68.web-ster.com] has joined #tunes ok i am back roll the typesystem over lisp how about a minimal weakly typed object system? heh. as root ya well i have some nmap scanning to do 12:20am water: what? "roll"? treat lisp as the lll how about a decent typesystem :) lol do any of you know anything about nmap typing typing typing...trash! make a simple object system for it nmap? whose type-system is the mop the scanning program higby: no, sorry k how do i get ppls ip's in here not this chan whois my idea is to make a database that uses my data flow model /whois ./dns ya ./dns thanks np tril: what is that like? i take a relational database and remoev redundant abstractions like multiple columns and make the values out of my own typesystem i see hm that word "type" makes me feel dirty each table has 2 columns and the tables are linkd together fire: shush I call it a functional database ;) say you have some type seems a little too "structured" to me ok hm. not my style but it seems ok then each of the functions on the type is a 2-column table in the functional database fire: my style is very structured so is COBOL ;) so if you take all the functions on that type you can pretend it is a multi-column table so, a function over the integers would have as many db entries as there are integers? just put the function names as the column names interesting rows, yes fire, it says unknown command each row corresponds to one value in the type rows? oh right \dns RDBMS have table rows and columns you know? yes i know The actual values in the type aren't printable i don't think of it that way I wrote abuot that in one of my specs why values are hidden huh? why wouldn't values be printable? fire: you might want to think of type as specifying the interfaces to which the object complies They are- but only with a function that takes the value and returns some printable form but i like to be in the raw of it er it's not important not pretend it ok well, how do you specify functions, then? not important enough to let it confuse you now 12:30am so is each row like a member? you don't... at the level we're takling about the functions are defined at a meta level.. bceause the current level is all unchangeable fire: member of what the function whoa you're separating meta-level from first-order level... why? because it will help me understand the system better. i disagree i mean, i don't think that it will help you understand the system better in any way that helps tunes tril: how do i get to your project sources? anyway, just assume that I am separating the levels for now.. they get cmobined later (hopefully after we have an implementation of this) i can't get to them from your home page try the hidden ~dem/old/ symlink ah hmm then go to the hidden ~dem/old/tunes directory :) well, what's your meta-level then? haven't decided yet ack i'm still trying to get a clear picture of the first order level darn it It will be either LISP or C, does that answer the question? because i can show how your idea is very similar to mine and how that very problem (how to specify functions) relates to how i intend to specify graphs I am also trying to make a non-reflective design first yeah, well i already have one of those the arrow alpha code specifying functions, I can answer that "at the meta-level" is not an answer :) first-order level is you can use declarative style to define every pair in the function other than that you can use lambdas or whatever which are a meta level heh it looks like most of the people here have different ideas for tunes yes, but declarational style is arbitrary and incomplete (GODEL) -:- SignOff higby: #TUNES (using sirc version 2.211+4KSIRC/981227-pre0.9) and this matters beacuse... not to mention incomputable and intractable for most cases what?!? maybe you read more in than I meant maybe i did I am saying that I can define functions by saying f(blah,blah). f(blah2,blah3). just defining pairs 12:40am but i've been studying up intensely on these issues, and i think that there are some very important issues s/issues2/problems And lambdas are just a way to do a whole bunch of such declarations all at once. tril: which is like my graph spec of functions without even doing the declarations. A graph spec, suer sure yes, but you can't specify '+' with lambdas without resorting to recursion through the natural numbers and you can't specify '/' with a lambda or '-' for that matter so... use recursion then... or do you want to do it without lambdas? the problem is that you'll wind up with lots of complexity at the meta-level that will not get you any closer to tunes-capable reflection the system for specifying your functions has to be your biggest concern what's wrong with defining + like we did in scheme class, calling Increment recursively nothing with that, but defining - that way won't work we did that too or / and / and pow how / ? I'll go grab it :) whatever it was, it was only programming /, not a mathematical / there's a big difference that programmers don't get It was meant to be a mathematical definition, it was very inefficient. well, that doesn't help specify the function what do you mean "specify"? don't you just need a way to get the result, given the input? because it doesn't allow the system to relate rationals to integers no specify means understanding otherwise, you don't get "useful", you get "expedient" :) BRB 12:50am back water isn't talking about lambda closures understanding?! whose understanding anyone's I'm sure there are people who are really good at specifying functions Whatever language they use to do it, they should be able to use that well, that argument is one that the tunes members haven't really agreed with geez I'm not raelly concerned with it you missed the point Yup i've been trying to figure out how to specify objects as well there are all sorts of aspects to objects that are not captured by calculable functions some insight would be nice in real life, every model that a computer can manage will diverge at some point from the actual dynamic system think about the word "specify" what does it mean. It means to get more specific. To specify a function all you do is start with the set of all possible associations ebtween members of the two types then you use some langauge , ANY LANGUAGE that allows you to describe which associations you want and don't want. yeah set theory but the language doesn't have to be lambda-calc I'm not an expert on those specification languages.. nor do I have time to be you assume lambda-calc implicitly I didn't say it had to be why do you think so? well, how else would you specify functions? maybe it's the only one I know s/you/*you* what if you don't have all the information on what a function should do? what if you can't specify the domain precisely? the first question is saying what if I can't specify the function precisely. no, it's saying that the *goal* of the function can't be known then clearly I want to reason abuot the function in the abstract. the computer isnt expected to implement it. for example: how do you analyze experimental data? I don't think of functions as "doing" or "having a goal" they're just static mappings oh wait! abi agt hmmm... agt is Around Goedel's Theorem at http://www.ltn.lv/~podnieks/ that kind of thing is what my professor specializes in.. we learned a lot about it in the AI class he taught Inductive Logic Programming 01:00am yeah, and it's not the world a program writes a program and then refines the body of the program as new data comes in that's not all there is to it I won't object for a given physical situation, there can be many different conflicting yet applicable computational models and prediction in most cases isn't as valuable as understanding ... have you read agt anyway? I'm not sure you have made your point no i think you should at least look at it I'm looking at the page Is this a book with the entire contents online? If so, cool. ok, a long thesis it actually was a book in russian in 91 i've also been looking at hyperset theory it's where you allow sets and classes that are members of themselves is that what you mentioned the other day, yes it is sounds interesting yes, especialy for reflection hcf came up with some links, hold on what makes them better though? "better"? er it's a more expressive theory why would yu want hyper sets oh well it should be allowed "allowed"? er im not one for words tonight possible i guess in the language 01:10am the problem is that some important axioms have to get shifted around but it allows graphs with loops and identity arrows to be faithfully encoded by sets and/or classes :) http://www.cs.bilkent.edu.tr/~akman/jour-papers/air/air.html it's a related paper from an ai journal so, what's your non reflective system that paper on platonism is really good water huh? im glad you pointed it out earlier my arrows code um thx with the platonism part that is heh im really not well tonight there's also a paper about unifying information theory, if you're interested YES! heh i would love to read it i thought i was the only one http://splendor.unibe.ch/Activities/UCI/Proceed/FIS96PRC.htm if the word "unify" is there i'll read it if you're not familiar with shannon or formal info systems, it might not be easy to read yes that might be a problem it's great that i can carry around so many papers on my handheld im sure a search on altavista will solve my problem though yes, there's a copy of shannon's information theory on the web, iirc and formal info systems are just oo programming systems the next thing I'm going to do is solidify my partial evaluation model. then back to the tough problem of a type definition language darn it, i just think you're working on the same problems i am are we? i believe so we're concentrating on different aspects of it, though i'm not sure if we have exactly the same goal my goal is to get some code soon so the CS dept doesn't force me to take their C++ intensive degree program brb C++, X86 ASM and Win32 why would your code help that? that's why i dropped out 01:20am (in a manner of speaking) if I just write incoherent papers and reams of notes, I won't be approved for a custom degree but if I write some code, I can say, this is my degree, to work on this program they really let you do that? heh. how much time do you have? :) no. I have to take classes that are related to my work, and show how they all relate with some central project. time? A year, minimum if I do my own thing. Probably 2 or more if I have to take a bunch of boring CS classes -:- SignOff fire: #TUNES (Ping timeout for fire[209.68.229.40]) hm i think you use the word "partial evaluator" in your spec a bit oddly I use it to mean specializing of functions if a function is specialized all the way, it has all its arguments known and there's nothing left to do because we have the result but how does speciallizing functions mean "partial evaluation"? that's not the same thing, imo of the function perhaps? well, if you have f(x,y) and you pick a specific value of y, you get f'(x) = f(x,VALUE) right, but the domain of x's is not a subset of the domain of (x,y)'s ahh, so closer to memoisation than what partial evaluation usually means that's why i say it's odd but it's isomorphic to a subset of it. the set of (x,VALUE) but that makes sense I guess :) right, but it's still not strictly the subtype it requires that isomorphism function to relate the two that's true i just think you should explain that -:- SignOff hcf: #TUNES (Read error to hcf[me-portland-us924.javanet.com]: Connection reset by peer) -:- hcf [nef@me-portland-us203.javanet.com] has joined #tunes i don't think that there's something wrong with the notion, just that you should be clear well, the standard kind is also included if I wanted to specialize with subtypes, I mean what's that called? partial evaluation? sigh... no, specialization with strict subtyping according to you guys, that's called "partial evaluation", and what I'm doing is slightly different; 01:30am no it's not I probably use "partial evaluation" where I just mean "specialization", is that the confusion? under 2.3 of the spec, you list Specialization (Partial Evaluation) what is the distinction then? Keep in mind I've never actually used a partial evaluator. specialization by subtyping is not partial eval of the function, it's partial eval of the set or something like that So, you're saying my terminology is not clear, but you dno't know what it should be? i'm saying you should split the two ideas I'm asking you to tell me what partial evaluation is hm "what it is" is evaluating the function to a further lambda-context I'm basically going off of the Glossary definition subtyping is different from that yeah, and it's not the world oops ignore that * water/#tunes checks the glossary A metaprogramming technique that consists in transforming programs into simpler programs specialized for execution in an environment where some information is known as compared to a generic environment. Typically, a function that takes many arguments is partially evaluated considering as known the values of some of the arguments (the static arguments) while some other arguments are still to be determined (the dynamic arguments) um. was that necessary? no. sorry. It didn't look so long on my screen. look... metaprogramming a program into a simpler program isn't the same as restricting the domian by subtyping the latter is a particular case of the former i disagree then what? in order to partially-evaluate, you have to apply some function to take a subtype doesn't involve a function in the normal sense I'm assuming that we have selected a particular function of course. ok 01:40am When you said "subtyping a domain" obviously a function is implied since "domain" has to be domain of some function ok, thats not why let me just give the example if I have a function, and then I find some subtype of its domain, * water/#tunes checks the names Fare references in the glossary from that, a specialized function can be produced. sure What's that called? domain-restriction, i guess heh. here i go again, downloading papers so how does it relate to Partial Evaluation it doesn't precisely relate to it: that's my point and I don't understand why because if you're going to use type theory, then you have to understand that, for instance, the real number line is not a subtype of the real number plane A further lambda-context you said, but I say that is just the lambda context f(x,y) with y replaced with 1 it's how you arrive at a new lambda-context that is the difference one way, you take a subtype. the other way, you factor out a "dimension" from a type which we already said could be done by first taking a subtype, then showing an isomorphism . So what's the problem, just show lots of isomorphisms. (darn it, if only someone would port ghostview to the casio :) heh s/someone/you/ it was a joke, ghostview would never fit on a casio I like this factoring out a dimension idea.. you think I have two concepts really confused? well, it's not subtyping it's certainly specialization vaguely yes here is how I figure it if a function f is from AxB -> C and I pick a value b in B then you get a new function from A to C call it g 01:50am and it's defined as g(foo) = f(foo x b) and for every value b of B you get a unique function A->C but when you subtype, you get something completely different so if I have h: Int->Bool and I want j: Nat->Bool a subtype has to have all the properties of a supertype plus some the additional property is > 0 sure so j(x) = h(Nat2Int(x)) either way, all we need is a function from the new domain to the old one Nat2Int, though isn't totally defined foo x b , is the function from before *a function* yes, but different kinds of functions -:- fire [no@209-68-229-37.dialup.cust.tfb.com] has joined #tunes all i'm saying is to distinguish the cases can we agree that both operations g->f and h->j are kinds of partial evaluation? not to lump them into the same category no Are examples of partial evaluation? anyone know how much of vodka is alcohol? abi: tell fire about shannon one is part eval. the other is domain-restriction thanks hcf Then..both of those are kinds of specialization!? no well, if you're willing to let "specialization" be a magic word, yes abra cadabra! um poof! i have made a new function they look very similar operations to me they are different in nature but they have the same form. no they don't! where in a math book does it say that A is a subset of A x B? it doesn't g(foo) = f(foo x b) , think of it as g(foo) = f(foo2AxB(foo)) then it looks just like the Nat2Int one -:- SignOff air: #TUNES (BRiX [http://www.qzx.com/brix] :: sleep) but that's confused thinking I think it's basic pattern recognition. you'll wind up with contradictions so? In one case we use a subtype and in the other we use a product. pattern recognition isn't so basic no, an inverse product whichever way you look at it you're going to confuse more people than i and i'll bet i'm the only one who seriously read your stuff water is that possible? I am not claiming A is a subset of A x B pardon... subtype 02:00am subtyping should be very clear... if you make the subtype notion categorized with factoring of product types, you'll confuse people All I"m saying is that the g and j functions are simpler than the f and h functions, or that they require less information given to them in the argument. otherwise they'll wonder why A doesn't behave like AxB yes, but you should distinguish them the paper makes them look like indistinguishable synonyms thank you, I'll keep that in mind.. really. thanks do you understand what I'm trying to say, though? That there is a relationship, whatever it may be called, where I have DONE SOMETHING to each of the functions f and h sure, but "specialization" means something specific in type systems try "simplification" oh really what does specialization mean subtyping -:- SignOff eihrul: #TUNES ([x]chat) so you said.. one was domain restriction and the other was PE the PE one must have been the factoring dimensions one as in "goth girls are a more specialized class of women" :) yes whats the inverse of subtyping? supertyping of course. supertyping and/or generalization err, unsubtyping -:- NetSplit: forward.openprojects.net split from sterling.openprojects.net [02:07am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [forward.openprojects.net] partial evaluation involves taking married couples and treating one partner as the variable and factoring in the effects by the other of a particular gender (j/k) -:- Netjoined: forward.openprojects.net sterling.openprojects.net -:- fire [no@209-68-229-37.dialup.cust.tfb.com] has joined #tunes see the difference? you said one thing there was a netsplit too there was? well, check the logs heh... i really like that analogy; it just popped into my head the log saw the same thing that I did. You check it, and tell me if anything you said didn't make it k 02:10am partial evaluation involves taking married couples and treating one partner as the variable and factoring in the effects by the other of a particular gender that's all you missed that's all I saw if you said "see the difference" right after that, and "supertyping and/or generalization" right before it, we'er fine what the other types of specialization besides subtyping? yeah, but the logs missed that sentence no it didnt oh yeah n/m then if you said anything else, I'm assuming it would have been, "specialization involves taking married couples and treating all old couples as the subtype" or some such It's a bad example, what's the return vaule? yeah, that would have been right >>> hcf [nef@me-portland-us203.javanet.com] requested PING 946808224 from TUNES b&d couples are a more kinky example, though :) nope I guess I dont know what b&D is but that's off topic.. heh my point is that there is something callde simplification or whatever, i think we've driven our points in very well :) and the arguments go from having a lot of information, to having less information hcf: what do you mean? water: n/m I do appreciate your help clarifying the meanings of specialization and partial evaluation. That was something I hadn't solved when I wrote that draft. well, i'd like to point out that all of the operations that you mention on types (as sets) apply to arrow graphs great well, it's obvious really when you consider that my graphs are just sets of arrows So how do you specify an arrow graph (a type)? now, a partial answer to that question involves looking at the strcture that you set operations provide s/you/your 02:20am they take a certain group of sets that can't be defined in terms of those operations, and generate new sets determined by those "kernel" sets and the operations it's a small language. in mathematics, it's very similar to formal model theory they = the set operations? it (last one) = the set operations? um * water/#tunes parses the previous statements yes i had to make sure first where do you get a group of sets that can't be defined in terms of those operations? well, i'm assuming that not *all* the sets we're interested in are definable by the system of operators we're discussing (the ones from the spec) If there's others, can we add them there? add them where? Into section 2.1 Type Constructors and implement them with the system i'm saying to get the others, you'll probably need different kinds of operators such as... hm heh... sets that contain themselves :) er.. types I think I have a quote from a book to read you.. * water/#tunes thinks that Tril knows and i don't see how any of your operators create higher-order types never mind the quota quote ok 02:30am anyway, i don't see any place where types are the elements of types or rather the subject matter of types The book just says that Product, Sum, and induction are enough to describe all the types needed to write current programming languages yeah, for programming, sure actually no (with something else it calls Function Domains which just means you say that A->B is the set of all functions from A to B ) what about non-deterministic languages? huh? no, it doesnt mention ND. I dont make any claim. off to sleep now -:- SignOff fire: #TUNES (:D) hmm. another example is types whose members are themselves functions. otherwise you won't get higher-order functions higher order types are just any sets of types? Sets of functions? that's what it meant by function domains see abiove sometimes "just any", but i'd like to think that there'd be meaningful types of types I can think of several :) ii don't see function domains in the spec the ones that water invented which can't be implemented, and the rest :P :P I left function domains out because I didn't understand them, or didn't see how they fit in. or I did see how it fit in, and it was already covered hm when I think of a function as a set of pairs, that's a subtype of a product and product is clearly already included so, function domain just isn't a new concept so, can a function have as it's domain a set of functions? yeah, the apply function for instance actually, that sounds very similar to partial evaluation the quotient function for another example which was listed but where does it fit into your theory? quotient = unapply quotient was one of the type constructors apply is the giant function in the sky that all other functions have to be connected to in order to be applied. i don't understand how it constructs a type construct = return 02:40am I am not assuming that constructing a type implies registring the type into the system or anything... if that makes sense but all it does is return the inverse(s) of a codomain element. is that set the new type? right, quotient returns a set. All sets are types. Or, so I think, I can't tell the difference. Wait, I can.. heh so what's the diff? a type has the special feature of being able to have .. shall I call them.. instances? btw, since my system allows graphs to be applied functionally, "apply" in my system is nondeterministic, and both apply and unapply are type-constructors in your sense by making new graphs that doesn't sound right to me Here is how it works if you are in my persistent store and you create a cell (allocate storage) what's the difference between instances and members? (members of a set) the new cell operator needs a type I guess it's like a set with a unique value for every member uh you mean it's a function? For instance if you have a set of junk and yuou dont ever need to have a variable that varies over the members of the set, then you dont need it to be a type oh so "type" is just an arbitrary kind of set based on "usefulness" but wait or whether you wrote a definition for it or not if it has an implementation yuck see, this issue is not clear for me no kidding i think you'll always need a variable to vary over a set so, are you saying that types and sets need to be different? even just potentially no, i'm saying that they're too similar to distinguish, according to your system and in some other system? not tht that's bad * water/#tunes shrugs i don't know. most type systems are based on set/class theory anyway, the imporatnt issue is not whether types are sets, but how to specify the sets of values 02:50am well, you can obviously enumerate them (for one) right I figure I can use "adjoin" (listed) for that, if I assume a null set to begin with you can define a canonical set of iteration (the natural numbers) and relate other sets to that via functions (morphisms) and you can use the operators from your spec but you'd probably still need more than that for instance, the book on hyperset theory develops a formal theory of streams and you can't do it with ordinary sets I need a "set of experssions" that denote the possible types, one per experssion sure, but how do you denote the type of all streams? you mean set of expressions hold on you said streams, not me i know, but streams are important in programming and they *are* expressions ok, the type of all streams over a set A would be Z=AxZ and streams handle lots of issues with non-determinism that straight lambda or basic lisp (or most prog langs) can't handle UNIX type streams?? yes, or lisp type streams or any other type of stream I dont see how it relates to Hyperset but... if I look at that experssion.. * water/#tunes recalls the simplicity of the smalltalk class Stream 03:00am well, there turns out to be no straightforward answer to that eqn what? you can't solve it algorithmically what eqn i.e. with a program Z=AxZ? yeah sorry it looks like a Regular Grammar to me.. icuc, a non akman-site theory of streams hit, http://oldwww.comlab.ox.ac.uk/oucl/groups/declarative/HSA/backgrnd.html "non akman"? water: the other hits were all on akman's pages right, and regular grammar isn't usually formalizable neither is EBNF, btw but it's translatble to FSM! so? you see the gap? :) those are a teeny tiny subset of what is turing computable yep so what is this not formalizable stuff set theory and logic but set theory and logic are used to prove something is turing computable keep in mind that "computation" is a very intuitive concept witness church's theorems well, in my type def. language it will have to allow self references I believe.. such as your Z=AxZ thing.. as well as goedel's just make sure it even turns out that Z=AxZxZ is also meaningful I wrote all those type constructors in sort of a simple type def. language.. the induction one required some self reference. If you watn I can reboot to linux and grab those def's yeah I better. brb you shouldn't have to do that wait! darn it just today, i found software that allows read-only mounting of ext2fs from windows water: oh u did? ;) huh? what's the wink for? cuz i gave u the links to such oh yeah :) 03:10am * water/#tunes is getting quite sleepy emailed you water I should go to bed too just tell me what you think of that email soemtime, doesn't have to be now prefer not now :) ok g'nite all nice talking to you.. likewise -:- water [water@tnt-10-104.tscnet.net] has left #tunes [] >>> Tril [dem@bespin.dhs.org] requested PING 946811653 522424 from #TUNES -:- SignOff Tril: #TUNES (BYE) 03:20am -:- SignOff Zhivago: #TUNES (Leaving) -:- ScampiUK [root@p65s12a06.client.global.net.uk] has joined #tunes hey ppl anyone tryed to update from the ftp site using Yast?? If you have - please help! :( -:- ScampiUK [root@p65s12a06.client.global.net.uk] has left #tunes [] 05:00am Gakuk lappola u yak! 05:10am -:- SignOff hcf: #TUNES (Ping timeout for hcf[me-portland-us203.javanet.com]) -:- hcf [nef@me-portland-us636.javanet.com] has joined #tunes -:- basile [basile@Beaujon-21-2.abo.wanadoo.fr] has joined #tunes hello basile On est loggui, en privi, ou pas basile: you're on a public, logged, channel /set EIGHT_BIT_CHARACTERS ON 08:00am * Fare/#Tunes is discussing LLL bytecode issues with basile IS fare listening ? My idea is to define and implement a small bytecode which is only an easy internal representation to generate bad x86 machinecode * Fare/#Tunes never listens 08:20am I do not wxant to have a stackbased bytecode (a la JVM) because did you see the RScheme bytecode stuff? 1. maintaining precise GC roots on the bytecode stack is a headache (but on the machine x86stack it is ok) well, ok, they do use a stack too, as a cache to their heap-allocated continuation stacks 2. a stack requires (specially on x86) to spill register containing pointers into compiler generated roots I read about RScheme long time ago (forgot the boring details) Current state of my thoughts is: A 3 addr bytecode for most operations: X=Y+Z with Y,Z either locals or immediate values Ridiculous register allocation on x86. Any suggestions welcome hum. how many registers has your "bytecode" ? -:- AlonzoTG [Alonzo@216-164-136-157.s157.tnt4.lnhva.md.dialup.rcn.com] has joined #tunes The bytecode registers are what I call local (concretely in the call frame, EBP based, on the x86 machine stack At most 4096 or 65536 locals per frame) one solution is to say "256", and issue an exception when it is overflown you can't fit 4096 or 65536 in a byte Essentially the bytecode has lots of (pseudo) registers even less three of them Let talk about 256 locals + a far scheme to code them on 2 bytes, or altenatively, a halfword code. ??? reminds me of the CLISP bytecode -:- SignOff hcf: #TUNES (Leaving) You need locals inside call frames (or continuations) (stack based) I'm a bit afraid of allocating continuation on the heap, a la SML-NJ 0.93 (even A.Appel get back of this madness) Yes locals are on the stack madness? well, it simplifies things, so it might be an ok idea for quick&dirty Are you so sure? Perhaps Fare is right ... On the other hand, I do accept a 2 or 3 slowness factor over C code, but I am uneasy having a 10 or 100 factor Also, I will have a plain copying generational (ie birth region + old) GC Nothing fancy here... (I think that GC tuning is a lot of headache) Appel says his heap-continuations cost him about 5% (when optimized) 08:30am The probleme is precisely this optimisation I wont have any real optimisation soon... I guess he used the hardware stack pointer as heap pointer (?), like in hbaker's "Cheney on the MTA" Also, I think that a call stack is easier for me to code with, since at the beginning I will have to code myself by hand The problem is to have the birth region limit somewhere. (registers are really expansive on x86) either have a trap, or compare sp to some limiting value (modulo preallocation of suitable safety net) Trap handling is believed to be very inefficient on Linux and other Unixes (ie SIGSEGV) and more so since you never pop frames back one way to do cheap tests is to have the region end at precisely 0x00000000 or 0x80000000 so you can directly test the C or S flag instead of doing a comparison Ok But I am afraid of the runtime. (again, it's better to have a safety net of e.g. 4096 bytes so as to survive between the moment the overflow is detected and the moment it is settled) runtime? Making a GC (under Linux) which manage fixed addresses specially is doable, but seems harder than an easy GC what's an "easy GC" ? (for instance, I believe that doing dlopen from the runtime is interesting to load existing C libraries) btw, only the overflow check needs have this fixed address, in considered optimization So the birth region has a fixed end. the other end needs not be statically fixed I think that this require a lot of other things (ie ld.so may be unusable, LD needs a special link map, etc... All this is doable but scares me a bit) 08:40am The underlying assumption is that the whole heap is persistable. dlopen looks like an independent issue. Isn't it? This means the runtime provide an export primitive to dump the whole heap, from a given root, into a reloadable file. the whole heap persistent? by mmap()'ing a file a fsync()ing it? or by more subtle means (a la GrassHopper)? I don't know enough about dlopen internals (read them a bit) but believe that they depend on LD maps LD maps? Back LD maps are the internal ld command files elks has a set of nice dlopen wrappers used to work even before the days of dlopen, actually it would ld -Ttext 0x so as to load objects at the right place My initial goal is just the equivalent of SMLNJ 0.93 exportFn primitive 'regarding persistency of course' hum. Sorry. Really gotta go. So exporting a heap file is like a GC full copy, except that the To-space is actually the file I can phone you in an hour or so, if you like Ok. Bye. Ok. If the phone lines are free. Try on 1.46.65.45.53 or if it fails on 1.46.64.14.40 (my wife's line) -:- SignOff basile: #TUNES (bye) 08:50am -:- SignOff Fufie: #TUNES (Ping timeout for Fufie[tunnel-44-14.vpn.uib.no]) -:- ult [pope@user-37kbats.dialup.mindspring.com] has joined #Tunes -:- SignOff ult: #TUNES (Read error to ult[user-37kbats.dialup.mindspring.com]: Connection reset by peer) -:- sTIcKBoY [MaNiaC@212.64.194.196] has joined #tunes #ayna #ayna #ayna #ayna #ayna #ayna : #tunes @#kemik #windowmaker @#darksun #dalga @#istanbul @#izmir @#ankara @#ruin @#keþhane @#L_maniak @#ayna @#lost -:- sTIcKBoY [MaNiaC@212.64.194.196] has left #tunes [] 09:50am -:- NetSplit: irc.linux.com split from sterling.openprojects.net [09:54am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [irc.linux.com] -:- NetSplit: adams.openprojects.net split from sterling.openprojects.net [09:54am] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [adams.openprojects.net] -:- Netjoined: irc.linux.com sterling.openprojects.net -:- abi [nef@bespin.dhs.org] has joined #tunes -:- Netjoined: adams.openprojects.net sterling.openprojects.net -:- AlonzoTG [Alonzo@216-164-136-157.s157.tnt4.lnhva.md.dialup.rcn.com] has joined #tunes -:- smkl [sami@glubimox.yok.utu.fi] has joined #tunes -:- Fufie [stig@tunnel-44-18.vpn.uib.no] has joined #tunes hi 10:00am * AlonzoTG/#tunes left clicks on Fufie -:- smoke [smoke@15dyn202.delft.casema.net] has joined #tunes * Fufie/#tunes opens does anyone have any nice background pictures in 1280x1024? fufie; try www.gfxzone.org, it's no shame to scale up some nice 320x256 pictures happy new year everyone btw happy new year scaling 1024x768 is bad enough popd q popb 10:20am om I think I mite have some 1024 stuff... My video card is 5 years old anyway... and I have no ram so I had to take down my nazzi bill gates background. I have enough RAM.. bought one and a half year ago when prices were lower (than now) 10:30am -:- mibin [mibin@62.11.103.250] has joined #tunes -:- mibin [mibin@62.11.103.250] has left #tunes [] -:- mibin [mibin@62.11.103.250] has joined #tunes anyoen here know PPRINT in CL well? 11:00am oh well.. figured it out 11:10am -:- SignOff mibin: #TUNES (main(){fork();main();}) -:- Downix [down@d-gnaps-32.ici.net] has joined #tunes -:- air [brand@p0wer.qzx.com] has joined #tunes * Fufie/#tunes yawns and stretches so anyone awake? 12:10pm not really anyone know howto make only one table column stretch? 12:20pm in html Nope colspan? rowspan? or if you mean stretch as when the window is resized, use fixed values for the other columns well i want all the columns except for one to be as small as they can and still display the value do u know howto use colspan for that? air: air; ? smoke: no that wont work (it should be width="90%" btw air; you couldn't set one column to 90% and the rest to default? no, because on my current window size the 6 columns that i want to be small take up 50% of the width but if i make the window bigger than they take up less... ehm couldn't you use 8% then? for each column? behave=well? fufie; you may as well want to use the tags every ten lines :) air: blah resizable one isnt there a width=as_small_as_possible option? :) smoke: that is deprecated.. it is now part of the PLEASE tag.. hah 12:30pm lol hmm.. norwegian news-statistics for last quarter has arrived.. I am among top 12 in four programming groups (c,java,lisp,various).. ranked second in the lisp-group :) I even managed to become number 12 in the politics group :) statistics is fun ;) hhehe hmm seems to work when used with the stretched column air: use makes life easier for programmers who write new browsers (I remember fixing such bugs last year) i could care less about programmers writing new browsers netscape and ie support the lack of quotes 12:40pm yes, but leaving the browser space to only them and allowing a monopoly will only make standardisation worse you have a social responsibility when writing html ;) I say GO W3C! air: you really want the quotes * Downix/#tunes is going well, got email from Fleecy Moss 12:50pm -:- eihrul [lee@usr5-ppp64.lvdi.net] has joined #tunes hey eihrul 01:00pm -:- yoo [pope@user-38lcmoc.dialup.mindspring.com] has joined #tunes * yoo/#tunes mumbles hmm -:- water [water@tnt-10-236.tscnet.net] has joined #tunes hey water we have air water and fire... where's earth? hey.. won't be here long hmm. no hcf it's ok noone is talking anyways is fare here? I see a body for him heh n/m then -:- yoo is now known as earth -:- zarq [zarq@10dyn145.delft.casema.net] has joined #tunes hi! hi zarq hello well, if there's no news see ya -:- water [water@tnt-10-236.tscnet.net] has left #tunes [] see ya 01:10pm om -:- hcf [nef@me-portland-us926.javanet.com] has joined #tunes 01:20pm Downix: we also have smoke . * earth/#tunes coughs hehe, yup But where there is smoke there is fire, so where is he? lol well we have fare... water extinguished him lol Pikachu, I choose you! yes... lol =\ ugh, stupid speedos is like a site for buying books to get all the info all pokemon * is banned from this channel. Bend over and prepare to be kicked. hehe 01:30pm electric rats.. 01:40pm -:- SignOff AlonzoTG: #TUNES (Have Nice Day :)) -:- AlonzoTG [Alonzo@216-164-135-234.s615.tnt4.lnhva.md.dialup.rcn.com] has joined #tunes -:- SignOff eihrul: #TUNES (Ping timeout for eihrul[usr5-ppp64.lvdi.net]) anyone else awake? no ok * Downix/#tunes is looking at "THink Geek" for some fun toys -:- eihrul [lee@usr5-ppp24.lvdi.net] has joined #tunes OO, Slashdot T-shirt I need a tie tho slashdot tie? Let's see if they have one no slashdot pants? Nope, only Tux Ties Oh well * Downix/#tunes looks for more geek stuff 02:30pm is there anyway to make date use a format without adding that format to the command line? 1) pray 2) modify the sources lol 3) make a script or alias damn hmm there are functions that do the same ok how do i make an alias for this date '+%T %Z - %a %-d%b%Y' alias foo "date '+%T %Z - %a %-d%b%Y'" looks ugly though 02:40pm thanks air: this a html/cgi thing? hcf: no hmm -:- NetSplit: carter.openprojects.net split from irc.linux.com [02:43pm] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [carter.openprojects.net] i want xlock to use that format er xclock -:- Netjoined: carter.openprojects.net irc.linux.com -:- Downix [down@d-gnaps-32.ici.net] has joined #tunes geesh -:- zarq_ [zarq@9dyn105.delft.casema.net] has joined #tunes -:- SignOff zarq: #TUNES (Ping timeout for zarq[10dyn145.delft.casema.net]) -:- zarq_ is now known as zarq 02:50pm later -:- SignOff earth: #TUNES (Leaving) 03:10pm finally.. now gnus is set up ok yay! 03:20pm * zarq/#tunes is away: zzz g'nite 03:30pm hmm * Fufie/#tunes yawns * hcf/#tunes blinks * Downix/#tunes feels like writig a speech this job site I am at is WAY TO GOD DAMNED MOTHERFUCKING SLOW!!! too 03:40pm lol downix: hopefully about the lack of art on the walls in #tunes Fufie: change art on the walls to process on the kernel art is more important than progress True gnus rocks goodbye slrn what are those? newsreaders ok gnus stops my whole xemacs while loading messages. That sucks. isn't xemacs threaded either? I use vanilla emacs I'm trying to learn emacs 03:50pm xemacs is mostly the same as emacs, as general structure goes I can't figure out how to add programs to either of them * Downix/#tunes wants to surf the web with xemacs I downloaded it, installed it still can't Same with VHDL mode * Fufie/#tunes goes to bed.. goodnight Downix: w3 is nice, but will stop your whole xemacs as well Fare: Same with regular emacs? sure Damn Why can't someone make a crash-less web browser? emacs is the only non-multiprogrammed end-user OS still around. Downix: crash less? try w3m Is it an OS? or lynx Fare: I've had both crash on me emacs sure is an OS oh. Hum. maybe telnet? did you try closure or mmm? telnet is not a web browser last I knew never used those unhappily, they are not developped much ok Mosaic was pretty crash-less for me but it's development is kida dead lojban? there's also gzilla, or amaya, or whatever abi: lojban is an interesting language and may be found at http://www.animal.helsinki.fi/lojban/lojbroch.html I could not get amaya to compile and run and gzilla is slow if you find a suitable browser, do tell me downix: www.icesoft.com has a browser which doesn't crash too often Fufie: Is it open-source? /bin/true has a browser that never crashes downix: no.. it's somewhat expensive for personal use but might show up in your next car konqueror? mozilla? Fufie: Ok I've used Mozilla, it's mostly stable fare: /bin/true is really nice to have around when everything else fails and pessimism is descending upon you.. /bin/true is _the_ optimist Better than Netscape is better than netscape? gotta try it, then. Last time I tried, it was slow as hell, cluttered with horrible subwindows, and in tiny unreadable fonts 04:00pm -:- SignOff smoke: #TUNES (z!) give mozilla a few more weeks it's not yet stable Fare: It's not stable, but it is damned close. And it's much improved in the past few M's M == milestone need sleep.. good night.. (afk) Death is only a milestone - albeit one that is dropped on you from a very great height -- Terry Pratchett. .em laughs * Downix/#tunes laughs 04:10pm -:- SignOff hcf: #TUNES (Leaving) * AlonzoTG/#tunes hurls a laser guided flaming woodchuck at Downix Hey! that hurt om * Downix/#tunes gets out the heat seeking leper camels here chucky chucky chucky... My goal is to become madly successful. If you have a good idea, I can market and sell it. Anything else you think is worth mentioning as far as a good idea - I'd love to hear about it! === Peter S. Izzo Merrill Lynch World Financial Center You moticed that one too, huh? How can a wimpy little single conductor serial cable concievably spew as many bits as a honking watermain? (64bitx133mhz BUS? -:- mibin [mibin@62.11.102.182] has joined #tunes uh, ok hmm lojban? Yes, I did get a mail from this guy a while ago. 05:00pm What about Lojban? I am next door from the logical language group and I can get you any lojban materials you want within 2-3 days... =\ Has everybody gone mute? :X * AlonzoTG/#tunes hurls a laser guided flaming woodchuck at eihrul free (AlonzoTG); Hey, I was trying to answer your question about lojban and then you went silent. * eihrul/#tunes was getting food. 05:10pm AlonzoTG: still reading page, will let ya know if i want any materials on it -:- lar1 [larman@2Cust23.tnt20.sfo3.da.uu.net] has joined #tunes Hey Downix! hey! looking for you Do you ICQ? Yes ok: 3457797 Lemme retirive my UIN... it was lost in the reformat ok 05:20pm @find dante hehe -:- SignOff lar1: #TUNES (Ping timeout for lar1[2Cust23.tnt20.sfo3.da.uu.net]) ops Da-Chia [Chemical Brothers] - Don't Stop The Rock.mp3 !Da-Chia [Chemical Brothers] - Don't Stop The Rock.mp3 -:- lar1 [larman@1Cust41.tnt31.sfo3.da.uu.net] has joined #tunes Better ok uin? heh * Downix/#tunes smiles 05:30pm -:- SignOff lar1: #TUNES (Read error to lar1[1Cust41.tnt31.sfo3.da.uu.net]: Connection reset by peer) -:- lar1 [larman@2Cust58.tnt31.sfo3.da.uu.net] has joined #tunes Yes boys and girls, windows 98 is a Bad Thing :) 05:40pm -:- SignOff Downix: #TUNES (BitchX: melts in your mouth, not in your hands) -:- lar1 has changed the topic on channel #tunes to: TUNES, Free Reflective Computing System: || Rewriting: -:- ult [pope@user-38lcn4p.dialup.mindspring.com] has joined #tunes lar1: I noticed howdy ATG: is there an e-mail address? -:- SignOff lar1: #TUNES (Leaving) 06:00pm Harry Browne for president!!!! Harry Browne for president!!!! Harry Browne for president!!!! =))))) who's Harry Browne? 06:20pm you're a frog. In the USA Harry Browne is running for president on the Libertarian party ticket. www.lp.org 06:30pm ATG: you libertarian! ATG: btw, lpf.org is (was?) owned by the libertarian party of florida hmm... anyway. 06:40pm The reason they aren't mainstream is that their economic policy is so radical its scarry. scary I kind of depend on a single fixed currency. their revertion to banknotes is a bit of a step backwards. I'm not a libertarian, because we in France, the name "liberal" was not stolen, and we need not forge another name. revertion to banknotes? Also their proposal to drop the pre-fab ballots is a bit rash though I strongly support easing of restrictions on who gets to be on ballots. they want to do away with the federal reserve. I disagree with that because its our only safeguard against a depression. yes and what would be left to back banknotes? i agree with you ATG US money is worthless its not backed up any more we -need- the federal reserve who's "they"? * Fare/#Tunes is confused. Are you talking of libertarians, or of their opponents? of the american libertarian platform. On voting day: FEEL MY FINGER B- B- ? I find it hard to believe that libertarians would propose unbacked money 06:50pm B B- = me voting with my middle finger, (raising one's middle finger is considered obscene in USA) 07:00pm WiErD The CrAcK CsC projeckt is 91% complete already but the key hasn't been found. =\ I hope there isn't a bug in the client that we have to do it again. =( (distributednet.{ 07:10pm -:- hcf [nef@me-portland-us122.javanet.com] has joined #tunes om -:- SignOff mibin: #TUNES (Ping timeout for mibin[62.11.102.182]) 07:30pm -:- Downix [down@d-gnaps-38.ici.net] has joined #tunes -:- lar1 [larman@sdn-ar-019casfrMP044.dialsprint.net] has joined #tunes Hey hey 07:50pm -:- SignOff lar1: #TUNES (Leaving) Crack CsC? Hrm? Fare: hmm, why does common lisp not just represent (symbol-function) and (symbol-value) as properties? any idea? 08:10pm doesn't it? well, why are they treated differently? why are (symbol-function) and (symbol-value) atomic constructs of the language? no idea 08:20pm -:- lar1 [larman@sdn-ar-019casfrMP044.dialsprint.net] has joined #tunes Good day 08:30pm -:- SignOff AlonzoTG: #TUNES (Ping timeout for AlonzoTG[216-164-135-234.s615.tnt4.lnhva.md.dialup.rcn.com]) -:- NetSplit: merril.openprojects.net split from sterling.openprojects.net [08:58pm] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [merril.openprojects.net] -:- Netjoined: merril.openprojects.net sterling.openprojects.net -:- zarq [zarq@9dyn105.delft.casema.net] has joined #tunes -:- SignOff ult: #TUNES (Read error to ult[user-38lcn4p.dialup.mindspring.com]: Connection reset by peer) -:- ult [pope@user-38lc6bb.dialup.mindspring.com] has joined #Tunes -:- NetSplit: lackey.openprojects.net split from devlin.openprojects.net [09:53pm] -:- BitchX+Deb1an: Press Ctrl-F to see who left Ctrl-E to change to [lackey.openprojects.net] -:- Netjoined: lackey.openprojects.net devlin.openprojects.net -:- ult [pope@user-38lc6bb.dialup.mindspring.com] has joined #Tunes air: u here? * ult/#Tunes ponders eihrul: Tu aqui? 10:10pm -:- _ruiner_ [DIY@ppp255.wi.centurytel.net] has joined #tunes Hey _ruiner_!! <_ruiner_> hi lar 10:20pm -:- SignOff _ruiner_: #TUNES (destroy what destroys you) lar1: si, senor Are you familiar with Asymetric Multiprossing? More specifically, how other x86 chips were used in ps2s for IO? 10:30pm nope Ok -:- merlyn5 [merlyn@north14.ncia.com] has joined #tunes -:- merlyn5 [merlyn@north14.ncia.com] has left #tunes [Bye] 10:40pm if u use a 48bit call will it always push cs even if the destination cs equals the current cs? 10:50pm I would think so I am not sure if the x86 designers had a sense of humor, it wouldn't geesh half the keys on my board just died Ouch no letter eye and no punctuation geesh eye think you should restart :) eye cannot even slash eye cannot no slash to quit or cntrl to kill or alt to swap sessions ok, fixed What was the problem? no idea this keyboard is messed up I'm trying to find a good keyboard but the model I like they don't have anymore Downix: something like that happened to me a few weeks ago air: Oh? all the keys were acting like arrow keys, but it worked fine after rebooting weird er, no it worked fine after restarting X Who the hell designs these keyboards? i had to telnet in and kill X Not I :) 11:00pm gnite -:- SignOff ult: #TUNES (Leaving) -:- hcf_ [nef@me-portland-us743.javanet.com] has joined #tunes -:- SignOff hcf: #TUNES (Read error to hcf[me-portland-us122.javanet.com]: Connection reset by peer) -:- hcf_ is now known as hcf 11:20pm How much is 60 pounds (currency)? about 120 half-crowns In US dollars? about 100 http://www.fts.frontec.se/~dast/currency/ Ok -:- SignOff Downix: #TUNES (BitchX: now Y2K compatible!) 11:30pm http://www.xe.net/ucc/ 1 USD (United States Dollar) = 28700.000 AFA (Afghanistan Afghani). A wee bit inflated would you say? ya but most of them are millions ugh millionaires Youd better be a multi-millionare because 1 million AFA is like 1000 bucks 34 11:40pm Heh ok im really really tired and cant think right now Heh Too much party? if i have a list of times when timers expire and a pointer to the next timer to expire how do i compare a new timer to that time What? the value is 32bits and there is a current time value. so the timer values can range from current time upto 4.2billion and then from 0 to current time-1 if i want the timer to expire in 1ms i would set its time for current time+1 sub the old timer from the new timer? i cant just compare them if current time is 1000000 and next timer is 1000001 and new timer is 1 next timer will remain next What are you trying to do? You want to see if they are equal? no, i want to see if the new timer will be the next timer or if the current next timer will remain as the next timer Under what condition is it next? the counter is 32bit and it rolls over the timer with the next highest value is next but since they can roll over it might not be higher You need a way to keep track of how many times each has rolled over if counter=100000 and there is only one timer with a value of 0 then it will be next it doesnt matter how many times it rols over 11:50pm the counter increments every 1ms and timers can only be 32bits so that is 497 days Make a loop CMPing counter, 100000 then JE to a loop CMPing the timers to 0. INC a var if equal. when done CMP the var to 1? er 10ms not 1ms huh Go to sleep? I'll explain again if you really like do u understand what im saying? C = counter, X=next timer(C+time1), N=new timer(C+time2) Ok, under what condition is N next? lets assume C=2^32-5 and time=2 and time2=20 C counts up so X would be next but if C=2^32-5 and time1=20 and time2=2 then N would be next When counter rolls over you want the timeer with the lowest value to be next? i want the timer that will be reached next to be next [msg(TUNES)] newlog 2000.0103 IRC log ended Mon Jan 3 00:00:01 2000