| "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid>: Dec 22 04:23PM -0800 On 12/22/2018 10:42 AM, Rick C. Hodgin wrote: >> be changing). > True. In those cases, don't use shorthand pointers. An option could > be added to the compiler to disallow them. It seems like you say, don't use shorthand pointers, quite a lot. |
| "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid>: Dec 22 04:38PM -0800 On 12/22/2018 10:05 AM, Rick C. Hodgin wrote: >> Do you think CAlive might be ready in alpha, or beta by Christmas >> 2020, or even 2019? > My goal has always been Christmas 2019. Great! I will install it for sure. If you can, please think about adding support for C11 threads, atomics and membars! Then, you can compete with Pelles C. |
| "Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Dec 22 09:52PM -0500 On 12/22/2018 7:23 PM, Chris M. Thomasson wrote: >> True. In those cases, don't use shorthand pointers. An option could >> be added to the compiler to disallow them. > It seems like you say, don't use shorthand pointers, quite a lot. People don't seem to realize the need for self-constraints in software design. If you have a worry about breaking future code, and it's going to be such a large issue, it seems to go without saying that you would not want to use that feature. But some people don't seem to see it. Even in conventional software design, with long-standing legacy functions, there are things we're taught not to use, such as goto. Perfectly valid. Perfectly legal. But it causes trouble, so you don't use it. In any event ... my statement goes along these lines: All of these features people seem to hate are add-ons. No one is required to use any of them. They're there if you want them. If not, code like you always have. People don't seem to realize that either. -- Rick C. Hodgin |
| "Chris M. Thomasson" <invalid_chris_thomasson@invalid.invalid>: Dec 22 08:26PM -0800 On 12/22/2018 6:52 PM, Rick C. Hodgin wrote: > features people seem to hate are add-ons. No one is required to use > any of them. They're there if you want them. If not, code like you > always have. People don't seem to realize that either. I understand that CAlive will be a standard C compiler at its most basic level. However, it will have a lot of other exotic spices that a user can decide to use as well. Also, it should have an interesting specialized GUI. We can write code in a text editor, or choose to use your GUI, or any other GUI. However, your GUI will have the special spice that is CAlive... How off base am I Rick? Looking forward to new years eve 2019. :^) |
| "Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Dec 22 11:54PM -0500 On 12/22/2018 11:26 PM, Chris M. Thomasson wrote: > We can write code in a text editor, or choose to use your GUI, or any other > GUI. However, your GUI will have the special spice that is CAlive... How off > base am I Rick? Looking forward to new years eve 2019. :^) We have an expression at my house: "Spot on nailed it." :-) -- Rick C. Hodgin |
| Juha Nieminen <nospam@thanks.invalid>: Dec 23 08:24AM >> be changing). > True. In those cases, don't use shorthand pointers. An option could > be added to the compiler to disallow them. How would you know in advance that, perhaps, months or years from now there might be such a naming conflict? Besides, it's silly that variable names in one struct or class (which in C++ may even be private) may cause a conflict with names in a completely unrelated struct or class. |
| Reinhardt Behm <rbehm@hushmail.com>: Dec 23 04:31PM +0800 AT Sunday 23 December 2018 02:42, Rick C. Hodgin wrote: >> be changing). > True. In those cases, don't use shorthand pointers. An option could > be added to the compiler to disallow them. So there is a simple general solution: Don't use it at all. -- Reinhardt |
| Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Dec 23 10:17AM On 22/12/2018 20:49, Rick C. Hodgin wrote: >> or an egregious religious post. > You're an amazing hypocrite, Leigh. You post 12 lines of religious > commentary on every post you write. Atheism isn't a religion nor is it about religion. /Flibble -- "You won't burn in hell. But be nice anyway." – Ricky Gervais "I see Atheists are fighting and killing each other again, over who doesn't believe in any God the most. Oh, no..wait.. that never happens." – Ricky Gervais "Suppose it's all true, and you walk up to the pearly gates, and are confronted by God," Bryne asked on his show The Meaning of Life. "What will Stephen Fry say to him, her, or it?" "I'd say, bone cancer in children? What's that about?" Fry replied. "How dare you? How dare you create a world to which there is such misery that is not our fault. It's not right, it's utterly, utterly evil." "Why should I respect a capricious, mean-minded, stupid God who creates a world that is so full of injustice and pain. That's what I would say." |
| Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Dec 23 10:19AM On 22/12/2018 22:42, Rick C. Hodgin wrote: > ability to expand it if you want with a keystroke or two-stroke key > combination. ^K+~ for example, to toggle the full display of short- > hand pointers on/off. Richard just offered a sensible way forward for your feature: make it part of the IDE rather than part of the language but as usual you reject any sane help. /Flibble -- "You won't burn in hell. But be nice anyway." – Ricky Gervais "I see Atheists are fighting and killing each other again, over who doesn't believe in any God the most. Oh, no..wait.. that never happens." – Ricky Gervais "Suppose it's all true, and you walk up to the pearly gates, and are confronted by God," Bryne asked on his show The Meaning of Life. "What will Stephen Fry say to him, her, or it?" "I'd say, bone cancer in children? What's that about?" Fry replied. "How dare you? How dare you create a world to which there is such misery that is not our fault. It's not right, it's utterly, utterly evil." "Why should I respect a capricious, mean-minded, stupid God who creates a world that is so full of injustice and pain. That's what I would say." |
| "Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Dec 23 08:24AM -0500 On 12/23/2018 3:24 AM, Juha Nieminen wrote: > Besides, it's silly that variable names in one struct or class > (which in C++ may even be private) may cause a conflict with names > in a completely unrelated struct or class. I think it's equally silly to require that a user type out the fully qualified path to a uniquely named variable in a system where it's not likely that there will be a name conflict. It's just a different philosophy. -- Rick C. Hodgin |
| "Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Dec 23 08:37AM -0500 On 12/23/2018 5:17 AM, Mr Flibble wrote: >> You're an amazing hypocrite, Leigh. You post 12 lines of religious >> commentary on every post you write. > Atheism isn't a religion nor is it about religion. It has every earmark of a religion, Leigh: https://answersingenesis.org/media/audio/answers-with-ken-ham/volume-131/atheism-its-a-religion/ -- Rick C. Hodgin |
| "Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Dec 23 08:40AM -0500 On 12/23/2018 5:19 AM, Mr Flibble wrote: >> hand pointers on/off. > Richard just offered a sensible way forward for your feature: make it part of > the IDE rather than part of the language but as usual you reject any sane help. Richard's view is a good one. His position is a particular philosophy regarding source code. I have a different philosophy. My solution ful- ly incorporates his solution, and goes the step further to actually change the source code rather than just change the display. -- Rick C. Hodgin |
| Bart <bc@freeuk.com>: Dec 23 03:28PM On 23/12/2018 13:24, Rick C. Hodgin wrote: > I think it's equally silly to require that a user type out the fully > qualified path to a uniquely named variable in a system where it's > not likely that there will be a name conflict. Suppose you type a~~c but the path it uses isn't the one you expected? In my own code, very long dotted sequences are not that common, the longest are probably 4 or 5 names. And those tend to have multiple paths and/or involve recursive structs. So the conditions to be able to use ~~ effectively are going to be rare. There is one common use-case where such a shorthand would be unambiguous, and could save some typing, but there are only three names, so it would only save the middle name [a->objptr->length becomes a~~length]. But then that hides what is happening. When I do a lot of work with such terms, then I might store a->objptr into an intermediate and work with that (p->length). That could be more efficient. Using a~~length, I lose sight of the fact that there are these extra indirections, and also a~~length and a->ptr appear to be of the same rank, as do a~~length and b->length, although a and b must be very different types. So I still think this is more usefully employed in an external tool. -- bart |
| "Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Dec 23 12:15PM -0500 On 12/23/2018 10:28 AM, Bart wrote: > Suppose you type a~~c but the path it uses isn't the one you expected? There should be only one c. If there is more than one it would be a syntax error. > In my own code, very long dotted sequences are not that common, the longest > are probably 4 or 5 names. And those tend to have multiple paths and/or > involve recursive structs. Mine too. I typically use 3 or 4 max. > So the conditions to be able to use ~~ effectively are going to be rare. On oft-used structures in my apps, for things like SWindow or SObject, I often refer to them as SWindow* w, as well as SObject* o for a short- hand common reference. By dropping that "anchor" of the short parent name, and then referencing a unique name, it makes the code more clear for instance names: w~~left; w~~top; Rather than something like w->settings->rc.left, etc. It's another type of shorthand for that reference, making it more clear in source code what's being used, without the visual clutter of the multiple levels. > There is one common use-case where such a shorthand would be unambiguous, and > could save some typing, but there are only three names, so it would only save > the middle name [a->objptr->length becomes a~~length]. That's its intent right there. And I intend to use it in my own code only on structures / classes that are relatively stable, such as those things which interface with the OS or my own API that has grown over time and stabilized. > But then that hides what is happening. When I do a lot of work with such > terms, then I might store a->objptr into an intermediate and work with that > (p->length). That could be more efficient. I do this often in source code today. I did it recently for a lot of bit structures I needed to access. It's actually where this idea came up for the shorthand reference, as I was creating those intermediate / unnecessary temporary references just to make the typing I had to do less intense, the idea came to me. > Using a~~length, I lose sight of the fact that there are these extra > indirections, and also a~~length and a->ptr appear to be of the same rank, as > do a~~length and b->length, although a and b must be very different types. Correct. CAlive contains meta data on each source code line which is used to convey the full meaning of every lex'd symbol. > So I still think this is more usefully employed in an external tool. I can see that argument. For CAlive, it will be a feature. It will also extend into my support of C/C++ as it is added. But, for other languages ... authors get to make choices. I respect yours. -- Rick C. Hodgin |
| Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Dec 23 05:24PM On 23/12/2018 17:15, Rick C. Hodgin wrote: > Correct. CAlive contains meta data on each source code line which is > used to convey the full meaning of every lex'd symbol. I suggest you read a book on compiler theory because you are DOING IT WRONG (tm). /Flibble -- "You won't burn in hell. But be nice anyway." – Ricky Gervais "I see Atheists are fighting and killing each other again, over who doesn't believe in any God the most. Oh, no..wait.. that never happens." – Ricky Gervais "Suppose it's all true, and you walk up to the pearly gates, and are confronted by God," Bryne asked on his show The Meaning of Life. "What will Stephen Fry say to him, her, or it?" "I'd say, bone cancer in children? What's that about?" Fry replied. "How dare you? How dare you create a world to which there is such misery that is not our fault. It's not right, it's utterly, utterly evil." "Why should I respect a capricious, mean-minded, stupid God who creates a world that is so full of injustice and pain. That's what I would say." |
| "Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Dec 23 12:35PM -0500 On 12/23/2018 12:24 PM, Mr Flibble wrote: >> used to convey the full meaning of every lex'd symbol. > I suggest you read a book on compiler theory because you are DOING IT WRONG > (tm). You do not have enough information about me or my design to conclude as you have done here. -- Rick C. Hodgin |
| Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Dec 23 05:39PM On 23/12/2018 17:35, Rick C. Hodgin wrote: >> WRONG (tm). > You do not have enough information about me or my design to conclude as > you have done here. My assertion is based on what you said that I quoted. You are DOING IT WRONG (tm) so I suggest you go read a book on compiler theory. /Flibble -- "You won't burn in hell. But be nice anyway." – Ricky Gervais "I see Atheists are fighting and killing each other again, over who doesn't believe in any God the most. Oh, no..wait.. that never happens." – Ricky Gervais "Suppose it's all true, and you walk up to the pearly gates, and are confronted by God," Bryne asked on his show The Meaning of Life. "What will Stephen Fry say to him, her, or it?" "I'd say, bone cancer in children? What's that about?" Fry replied. "How dare you? How dare you create a world to which there is such misery that is not our fault. It's not right, it's utterly, utterly evil." "Why should I respect a capricious, mean-minded, stupid God who creates a world that is so full of injustice and pain. That's what I would say." |
| "Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Dec 23 02:07PM -0500 On 12/23/2018 12:39 PM, Mr Flibble wrote: > My assertion is based on what you said that I quoted... What did I say? And why did it indicate to you that I'm doing it wrong? -- Rick C. Hodgin |
| Mr Flibble <flibbleREMOVETHISBIT@i42.co.uk>: Dec 23 07:17PM On 23/12/2018 19:07, Rick C. Hodgin wrote: > On 12/23/2018 12:39 PM, Mr Flibble wrote: >> My assertion is based on what you said that I quoted... > What did I say? And why did it indicate to you that I'm doing it wrong? lern2fuckingusenet /Flibble -- "You won't burn in hell. But be nice anyway." – Ricky Gervais "I see Atheists are fighting and killing each other again, over who doesn't believe in any God the most. Oh, no..wait.. that never happens." – Ricky Gervais "Suppose it's all true, and you walk up to the pearly gates, and are confronted by God," Bryne asked on his show The Meaning of Life. "What will Stephen Fry say to him, her, or it?" "I'd say, bone cancer in children? What's that about?" Fry replied. "How dare you? How dare you create a world to which there is such misery that is not our fault. It's not right, it's utterly, utterly evil." "Why should I respect a capricious, mean-minded, stupid God who creates a world that is so full of injustice and pain. That's what I would say." |
| Ian Collins <ian-news@hotmail.com>: Dec 24 08:26AM +1300 On 24/12/2018 06:15, Rick C. Hodgin wrote: > Rather than something like w->settings->rc.left, etc. It's another type > of shorthand for that reference, making it more clear in source code > what's being used, without the visual clutter of the multiple levels. Just write auto& box {w->settings->rc}; box.left = something; which will always be unambiguous. Your scheme falls down as soon a you have a struct with more than one compound member of the same type. -- Ian. |
| Paul <pepstein5@gmail.com>: Dec 23 10:05AM -0800 I have code in one folder which looks like this. // TestLinker.h file #ifndef HEADER_GUARD #define HEADER_GUARD void f();
Subscribe to:
Post Comments (Atom)
|
No comments:
Post a Comment