digitalmars.D.learn - Unicode function name? =?UTF-8?B?4oip?=
- Tofu Ninja (7/7) Aug 27 2016 Are unicode function names not supported in dmd?
- Tofu Ninja (2/9) Aug 27 2016 Oddly enough bool π(A, B)(A a, B b) { ... } works just fine.
- rikki cattermole (5/12) Aug 27 2016 Try Ÿ.
- Tofu Ninja (4/13) Aug 27 2016 Yeah Ÿ and π both work but ∩ does not. I think I found my answer
- Tofu Ninja (3/4) Aug 27 2016 Also visual D seems to recognize its not a valid character and
- Cauterite (5/6) Aug 28 2016 Here's a few ANSI characters you can use (and can type with
- Russel Winder via Digitalmars-d-learn (16/24) Aug 28 2016 And if you can't remember the alt-codes (I never can) I use compose
- Jesper Tholstrup (4/9) Aug 29 2016 Personally, I would prefer 'intersect' as a function name over
- Cauterite (5/8) Aug 29 2016 Sounds like you'd love Java.
- Jesper Tholstrup (6/10) Aug 29 2016 Well, I wasn't trying to start a language battle, I like D (which
- Tofu Ninja (3/13) Sep 05 2016 I was just trying it to see if it works. But I think the symbol
- Illuminati (9/19) Sep 05 2016 It's concise and has a very specific meaning. If one is working
- Jesper Tholstrup (14/18) Sep 06 2016 Well, only if we can agree on what the symbols mean. I'm not sure
- Illuminati (63/81) Sep 06 2016 Symbols are inherently meaningless so you are not making sense.
- Jesper Tholstrup (35/95) Sep 06 2016 A lot of code is written by non-mathematicians and has to be
- Illuminati (3/14) Sep 06 2016 Ok, continue your game.... I see you are quite involved with it.
- Jesper Tholstrup (3/4) Sep 07 2016 For what it's worth I was actually trying to learn something. I
- Illuminati (13/18) Sep 07 2016 Well, I tried to tell you that you are hung up on the meaning of
Are unicode function names not supported in dmd? bool ∩(A, B)(A a, B b){ return intersect(a, b); } Error: character 0x2229 is not a valid token I won't be terribly disappointed if I can't do this, I really just tried it on a whim, but I thought dmd supported unicode.
Aug 27 2016
On Sunday, 28 August 2016 at 05:21:03 UTC, Tofu Ninja wrote:Are unicode function names not supported in dmd? bool ∩(A, B)(A a, B b){ return intersect(a, b); } Error: character 0x2229 is not a valid token I won't be terribly disappointed if I can't do this, I really just tried it on a whim, but I thought dmd supported unicode.Oddly enough bool π(A, B)(A a, B b) { ... } works just fine.
Aug 27 2016
On 28/08/2016 5:21 PM, Tofu Ninja wrote:Are unicode function names not supported in dmd? bool ∩(A, B)(A a, B b){ return intersect(a, b); } Error: character 0x2229 is not a valid token I won't be terribly disappointed if I can't do this, I really just tried it on a whim, but I thought dmd supported unicode.Try Ÿ. The character I have shown above will work as it is an alphabetic[0] character.
Aug 27 2016
On Sunday, 28 August 2016 at 05:28:17 UTC, rikki cattermole wrote:On 28/08/2016 5:21 PM, Tofu Ninja wrote:Yeah Ÿ and π both work but ∩ does not. I think I found my answer though... http://dlang.org/spec/lex.html#IdentifierChar...Try Ÿ.Identifiers start with a letter, _, or universal alpha, and are followed by any number of letters, _, digits, or universal alphas. Universal alphas are as defined in ISO/IEC 9899:1999(E) Appendix D. (This is the C99 Standard.) Identifiers can be arbitrarily long, and are case sensitive. Identifiers starting with __ (two underscores) are reserved.
Aug 27 2016
On Sunday, 28 August 2016 at 05:21:03 UTC, Tofu Ninja wrote:...Also visual D seems to recognize its not a valid character and highlights the error which makes me think its known behavior.
Aug 27 2016
On Sunday, 28 August 2016 at 05:21:03 UTC, Tofu Ninja wrote:Are unicode function names not supported in dmd?Here's a few ANSI characters you can use (and can type with alt-codes): ª º · Ø ø µ ƒ I use º pretty often, it makes a nice sigil.
Aug 28 2016
On Sun, 2016-08-28 at 08:03 +0000, Cauterite via Digitalmars-d-learn wrote:On Sunday, 28 August 2016 at 05:21:03 UTC, Tofu Ninja wrote:And if you can't remember the alt-codes (I never can) I use compose keys for the easy stuff =E2=84=A2 =C2=A9 =C2=B0 and the like and keyboard r= emapping for the harder stuff =CE=B8 =CE=BC =CF=80 and the like.. --=20 Russel. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.winder ekiga.n= et 41 Buckmaster Road m: +44 7770 465 077 xmpp: russel winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder=20 Are unicode function names not supported in dmd?=20 Here's a few ANSI characters you can use (and can type with=C2=A0 alt-codes): =C2=AA =C2=BA =C2=B7 =C3=98 =C3=B8 =C2=B5 =C6=92 I use =C2=BA pretty often, it makes a nice sigil.
Aug 28 2016
On Sunday, 28 August 2016 at 05:21:03 UTC, Tofu Ninja wrote:Are unicode function names not supported in dmd? bool ∩(A, B)(A a, B b){ return intersect(a, b); } Error: character 0x2229 is not a valid tokenPersonally, I would prefer 'intersect' as a function name over '∩' anytime. Which benifits does the symbols add?
Aug 29 2016
On Monday, 29 August 2016 at 12:53:26 UTC, Jesper Tholstrup wrote:Personally, I would prefer 'intersect' as a function name over '∩' anytime. Which benifits does the symbols add?Sounds like you'd love Java. x = new BigDecimal("0.1") x.negate().divide(y).compareTo(z) who needs symbols? >_>
Aug 29 2016
On Monday, 29 August 2016 at 13:06:17 UTC, Cauterite wrote:Sounds like you'd love Java. x = new BigDecimal("0.1") x.negate().divide(y).compareTo(z) who needs symbols? >_>Well, I wasn't trying to start a language battle, I like D (which maintains a 'union' keyword;-)) I simply see no need for code obfuscation using, possibly, ambiguous symbols. Your auto 'start-pointing-fingers' reply did not change that.
Aug 29 2016
On Monday, 29 August 2016 at 12:53:26 UTC, Jesper Tholstrup wrote:On Sunday, 28 August 2016 at 05:21:03 UTC, Tofu Ninja wrote:I was just trying it to see if it works. But I think the symbol is nice for readability, typing it is another matter.Are unicode function names not supported in dmd? bool ∩(A, B)(A a, B b){ return intersect(a, b); } Error: character 0x2229 is not a valid tokenPersonally, I would prefer 'intersect' as a function name over '∩' anytime. Which benifits does the symbols add?
Sep 05 2016
On Monday, 29 August 2016 at 12:53:26 UTC, Jesper Tholstrup wrote:On Sunday, 28 August 2016 at 05:21:03 UTC, Tofu Ninja wrote:It's concise and has a very specific meaning. If one is working with mathematical objects and set up correctly then it can be more easily interpreted because it is `inline` with standard mathematical syntax. It's the same reason mathematicians prefer ∩ over intersect. You would prefer it too if you got used to it. The whole point of symbols is to simplify, ∩ is more simple than intersect as the first requires 1 symbol and the second requires 8 symbols.Are unicode function names not supported in dmd? bool ∩(A, B)(A a, B b){ return intersect(a, b); } Error: character 0x2229 is not a valid tokenPersonally, I would prefer 'intersect' as a function name over '∩' anytime. Which benifits does the symbols add?
Sep 05 2016
On Tuesday, 6 September 2016 at 02:22:50 UTC, Illuminati wrote:It's concise and has a very specific meaning.Well, only if we can agree on what the symbols mean. I'm not sure that every symbol is concise and specific across the fields of mathematics, statistics, and physics. The worst part, however, is our (humans, that is) intrinsic desire to be "clever". There will be an endless incorrect use of symbols, which will render code very difficult to understand Friday afternoon when things break.The whole point of symbols is to simplify, ∩ is more simple than intersect as the first requires 1 symbol and the second requires 8 symbols.I don't buy that argument - fewer symbols is better? If so disagree, its a lot easier to make and a lot harder to catch a ∩ vs ∪ error compared to 'intersect()' vs 'union()' error. How is Unicode normalization handled? It is my impression that certain symbols can be represented in more than one way. I could be wrong...
Sep 06 2016
On Tuesday, 6 September 2016 at 13:41:22 UTC, Jesper Tholstrup wrote:On Tuesday, 6 September 2016 at 02:22:50 UTC, Illuminati wrote:Symbols are inherently meaningless so you are not making sense. Clever is what got humans out the jungle, I think it is a good thing. No need to denigrate it when you benefit from people being clever. Of course, you could argue that staying in the jungle would have been the best thing...It's concise and has a very specific meaning.Well, only if we can agree on what the symbols mean. I'm not sure that every symbol is concise and specific across the fields of mathematics, statistics, and physics. The worst part, however, is our (humans, that is) intrinsic desire to be "clever". There will be an endless incorrect use of symbols, which will render code very difficult to understand Friday afternoon when things break.Mathematicians don't seem to get confused by symbols. intersect is a symbol. It is no different than ∩ or any other symbol. It is just chicken scratch. There is no inherent meaning in the wavy lines. If you think there is then you are deluding yourself. You have simply memorized what those groups of symbols mean and you are too lazy to memorize what some other symbol means. Once you realize the game you are playing with yourself then it becomes easier to break the bad habit and not get caught up in the nonsense. The reason why ∩ is better than intersect is because it is quicker to see and analyze(due to its "size"). True, it is more ambiguous, as ambiguity depends on size, but at least in this case it has been well established just as π and 1,2,3..., etc. But if you are so concerned about ambiguity then why not intersectsetofarithmeticintegerswithsetofarithmeticintegers? That is far less ambiguous than intersect. My point is, you are playing games. You might not realize it but that is what is going on. If you want to be truthful, it is better to say "I prefer to use my own personal standardized notation that I have already learned since it takes precious time away from my own life.". When do you this, I cannot argue with you, but then you also have to accept that you cannot argue with me(or anyone else). Because what makes sense or works for you might not work for me or someone else. Your argument is exactly analogous to "I don't speak french! Use English you stupid french speaking person, french is for idiots anyways". The tone is irrelevant, the point is acting like one superficial system is better than some other superficial system simply because of perspective/laziness/arrogance/etc. The only issues are that either you are failing to see the systems as superficial or you are failing to see that your own personal center of the universe is not actually the center of the universe. So just be real. The reason you don't like it is because it confuses you. If it didn't, you wouldn't have a problem with it. If you could speak French and English then you, if you were that hypothetical person, wouldn't care what language was used. All I can say is that everyone is confused until they learn something. But don't confuse your confusion with some innate scale of better/worse, it only leads to more confusion. The solution to all confusion is familiarity. Become familiar with your confusion(e.g., using ∩) and it won't be confusing anymore. The reason the mathematical symbols don't phase me is because I spent years using them. In my mind ∩ = intersection of sets(which I have a non-verbal meaning in my own mind on what that means). I see no difference between ∩ and intersect. Hence I am not confused. If someone comes along and uses ∩ to mean what I call union. Then it won't confuse me either. Because I realize they have just relabeled stuff. Sure I have to keep track, but as long as they are logical(consistent) then I'll get used to(familiar) with their system and it won't be a problem. I won't get angry or upset that they are trying to pull the rug out from underneath me. I'll realize that they just speak French and if I want to communicate with them I'll learn French. No big deal, I'll be more enlightened from doing so. Sure it takes some time, but what else do we humans have to do? Everything we do just superficial anyways.The whole point of symbols is to simplify, ∩ is more simple than intersect as the first requires 1 symbol and the second requires 8 symbols.I don't buy that argument - fewer symbols is better? If so disagree, its a lot easier to make and a lot harder to catch a ∩ vs ∪ error compared to 'intersect()' vs 'union()' error. How is Unicode normalization handled? It is my impression that certain symbols can be represented in more than one way. I could be wrong...
Sep 06 2016
On Tuesday, 6 September 2016 at 18:46:52 UTC, Illuminati wrote:Symbols are inherently meaningless so you are not making sense. Clever is what got humans out the jungle, I think it is a good thing. No need to denigrate it when you benefit from people being clever. Of course, you could argue that staying in the jungle would have been the best thing...You are somewhat of topic here.Mathematicians don't seem to get confused by symbols.A lot of code is written by non-mathematicians and has to be maintained by non-mathematicians. Mathematicians will be confused when people start using the symbols incorrectly, simply because they try to be clever. Sure, some developers would probably mix up english words like 'intersect' and 'union', but I think that it is less common.You have simply memorized what those groups of symbols mean and you are too lazy to memorize what some other symbol means.Personal... and wrong...Once you realize the game you are playing with yourself then it becomes easier to break the bad habit and not get caught up in the nonsense.Personal... and wrong... My argument goes towards code maintainability and it is still valid.The reason why ∩ is better than intersect is because it is quicker to see and analyze(due to its "size"). True, it is more ambiguous, as ambiguity depends on size, but at least in this case it has been well established just as π and 1,2,3..., etc. But if you are so concerned about ambiguity then why not intersectsetofarithmeticintegerswithsetofarithmeticintegers? That is far less ambiguous than intersect.As long as humans write software I think (personal estimate) that few would call 'intersectsetofarithmeticintegerswithsetofarithmeticintegers' a readable symbol. I suppose that our invention of snake case, camel case, pascal case, ect. lends some support to my claim.My point is, you are playing games. You might not realize it but that is what is going on. If you want to be truthful, it is better to say "I prefer to use my own personal standardized notation that I have already learned since it takes precious time away from my own life.".Personal, again. No real content. You do realize that 'my own personal standardized notation' encompass >99% of all software thus far - right?Your argument is exactly analogous to "I don't speak french! Use English you stupid french speaking person, french is for idiots anyways".I'm not a native English speaker, so I'm not sure that your argument is valid here. I have learned different languages and various diciplines of natural science. I still don't think that methods/functions should contain e.g. math symbols.The tone is irrelevant, the point is acting like one superficial system is better than some other superficial system simply because of perspective/laziness/arrogance/etc. The only issues are that either you are failing to see the systems as superficial or you are failing to see that your own personal center of the universe is not actually the center of the universe.Personal, again... and it could easily be the other way around I think.So just be real. The reason you don't like it is because it confuses you.Personal, again... and not really....If it didn't, you wouldn't have a problem with it. If you could speak French and English then you, if you were that hypothetical person, wouldn't care what language was used.So far of the topic.All I can say is that everyone is confused until they learn something. But don't confuse your confusion with some innate scale of better/worse, it only leads to more confusion. The solution to all confusion is familiarity. Become familiar with your confusion(e.g., using ∩) and it won't be confusing anymore.Personal, again. I'm not really confused (I think).The reason the mathematical symbols don't phase me is because I spent years using them. In my mind ∩ = intersection of sets(which I have a non-verbal meaning in my own mind on what that means). I see no difference between ∩ and intersect. Hence I am not confused.Cool, the *years* of usage really payed off...If someone comes along and uses ∩ to mean what I call union. Then it won't confuse me either. Because I realize they have just relabeled stuff.Okay, thats quite a statement... I would argue that many developers, not you of course, could oversee the incorrect symbol.Sure I have to keep track, but as long as they are logical(consistent) then I'll get used to(familiar) with their system and it won't be a problem.Okay.I won't get angry or upset that they are trying to pull the rug out from underneath me. I'll realize that they just speak French and if I want to communicate with them I'll learn French. No big deal, I'll be more enlightened from doing so. Sure it takes some time, but what else do we humans have to do? Everything we do just superficial anyways.Eh, okay... You will win in terms of their usage, not doubt - lets see how it goes...
Sep 06 2016
On Tuesday, 6 September 2016 at 19:58:11 UTC, Jesper Tholstrup wrote:On Tuesday, 6 September 2016 at 18:46:52 UTC, Illuminati wrote:Ok, continue your game.... I see you are quite involved with it.[...]You are somewhat of topic here.[...]A lot of code is written by non-mathematicians and has to be maintained by non-mathematicians. Mathematicians will be confused when people start using the symbols incorrectly, simply because they try to be clever. Sure, some developers would probably mix up english words like 'intersect' and 'union', but I think that it is less common. [...]
Sep 06 2016
On Tuesday, 6 September 2016 at 20:26:01 UTC, Illuminati wrote:Ok, continue your game.... I see you are quite involved with it.For what it's worth I was actually trying to learn something. I apologize if I contributed to sidetracking the discussion.
Sep 07 2016
On Wednesday, 7 September 2016 at 07:39:53 UTC, Jesper Tholstrup wrote:On Tuesday, 6 September 2016 at 20:26:01 UTC, Illuminati wrote:Well, I tried to tell you that you are hung up on the meaning of meaningless things and you said that it was all my personal opinion. Either it is or isn't but simply stating it proves nothing. It's up for you to decide if what I have said is worth pursuing for yourself or not. But surely you would agree that if you believe something has inherent meaning but it actually doesn't that you are creating a whole world of grief for yourself and others? Hence, it is utmost importance to know? All I will say is "Don't confuse the map with the territory". The territory exists without the map, but not vice versa.Ok, continue your game.... I see you are quite involved with it.For what it's worth I was actually trying to learn something. I apologize if I contributed to sidetracking the discussion.
Sep 07 2016