Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

Best Language

 [1/4] from: reichart::prolific::com at: 11-Dec-2002 10:05


A friend of mine posted this in a tech (but not necessarily programming) ML I belong to: If I might drag y'all into my dark alley for a moment... Here's a question I'm presently pondering in my pursuit of the perfect programming language. I'm curious what answers y'all might have, and not just in "programming language" terms but in whatever terms suit your way of looking at it (i.e., no programming background required!) : What representational system, besides English, is good at expressing the following three (characteristic) statements, and how would these statements be represented in that system? 1) L is a list of Foobles. 2) L is a list of Glorps of Foobles. (Assume G(f) maps Foobles to Glorps) 3) L is a list of Foobles such that each Fooble is H() of the one before it. (Where H(f) is a function mapping Foobles to Foobles.) Perhaps I should rephrase the question slightly -- while I am asking for a concrete representation, I am specifically after one that mirrors however it is that you represent the above statements in your head (i.e., how you "understand" them as opposed to just seeing a string of words). So, bonus points for representations that feel "natural". But all answers appreciated. And to programmers: note that the above are more type or structual definitions than mappings. A function which *creates* the L in each case is not addressing the question -- I want a representation which *characterizes* the L, as the English statements do. I could say more but would rather not lead the question. Thoughts, anyone? Be useful. Reichart... [Reichart--Prolific--com] www.Prolific.com "The crazy place I work." www.SereneScreen.com "A cool thing we make." www.ProGadget.com "Something brewing in the kitchen." www.SafeWorlds.com" "The Alternative Messaging Environment."

 [2/4] from: joel:neely:fedex at: 11-Dec-2002 13:54


Hi, Reichart, Interesting questions! Reichart wrote:
> What representational system, besides English, is good at expressing > the following three (characteristic) statements, and how would these > statements be represented in that system? > > 1) L is a list of Foobles. >
One of the following L :: [Fooble] or L = {f | f (- Foobles} (where the "(-" is really a lowercase epsilon!)
> 2) L is a list of Glorps of Foobles. > (Assume G(f) maps Foobles to Glorps) >
This one is a little harder, because there are two different issues, in my mental model: L :: [Glorp] or L = {g | g (- Glorps} express the idea that L is a list of Glorps (without worrying about where they came from). If I *need* to worry about the Foobles used to "manufacture" the specific Glorps in question, I'd probably write L = {G(f) | f (- Foobles}
> 3) L is a list of Foobles such that each Fooble is H() of > the one before it. (Where H(f) is a function mapping > Foobles to Foobles.) >
As the construction becomes more complex, I tend to fall back on more and more formal notation. If I want to focus on the pairwise element relationships, I might write (A i,j : 0 < i < N : L.i = H.L.(i-1)) or, if I think for a few seconds about the implications of the above, L.i = H^i.f0 | f0 (- Foobles or, if I just want a high-level description, L contains the iterates of H over f0 depending on the need of the moment. -jn- -- ---------------------------------------------------------------------- Joel Neely joelDOTneelyATfedexDOTcom 901-263-4446

 [3/4] from: g:santilli:tiscalinet:it at: 11-Dec-2002 21:19


Hi Reichart, On Wednesday, December 11, 2002, 7:05:15 PM, you wrote: R> What representational system, besides English, is good at expressing R> the following three (characteristic) statements, and how would these R> statements be represented in that system? Mathematics. I = {1, ..., length(L)} 1) For each i in I L(i) in Foobles 2) For each i in I exists f in Foobles so that L(i) = G(f) 3) length(L) > 1 and for each i in {2, ..., length(L)} L(i) = H(L(i - 1)) (Not too far away from English, but I think a good notation should not be too far from English anyway.) Regards, Gabriele. -- Gabriele Santilli <[g--santilli--tiscalinet--it]> -- REBOL Programmer Amigan -- AGI L'Aquila -- REB: http://web.tiscali.it/rebol/index.r

 [4/4] from: brett:codeconscious at: 12-Dec-2002 10:48


I am ignoring "..the pursuit of the perfect programming language." and ignoring the "What representational system, besides English, is good..." bits. Just answering the "...however it is that you represent the above statements in your head...", ie a representation that makes sense to me (no claim for making sense to others). No it is not REBOL, or maybe it is but that is not the point, or maybe it is. 1) L: [Fooble1 Fooble2 ... FoobleN] 2) L: [ G Fooble1 G Fooble2 ... G FoobleN ] 3) L: [Fooble1 Fooble2 ... FoobleN] Fooble2: H Fooble1 Fooble3: H Fooble2 ... FoobleN: H FoobleN-1 Using the : notation was something I was doing before REBOL came along. Though, prior to REBOL I would have used "(" and ")" instead of "[" and ] - and I might have drawn a little arrow with an H above it as in: H Fooble1 ----> Fooble2 I don't really have a specific representation I always use, though habit usually dictates what it will be. I use various representations, it depends on the problem as to what I will use and of course reflects my specific experience. I most often make representations of problems using marks on A3 bits of paper. They will often contain some very visual elements so that I can explore relationships and ideas in a much more free way than just textual notations. Regards, Brett.