1. = vs := and = vs ==
- Posted by _tom (admin) May 07, 2014
- 2097 views
What would it take to allow := in an assignment statement? (Phix by Lomax already does this.)
What would it take to allow = to compare atoms and == to compare objects?
These syntax changes could make it easier for a Euphoria initiate.
_tom
2. Re: = vs := and = vs ==
- Posted by jaygade May 07, 2014
- 2104 views
What would it take to allow := in an assignment statement? (Phix by Lomax already does this.)
What would it take to allow = to compare atoms and == to compare objects?
These syntax changes could make it easier for a Euphoria initiate.
_tom
I think that it would unnecessarily complicate things. You might as well introduce a keyword "let". I never had a problem differentiating between equality test and assignment.
As for comparing the equality of objects with "=" instead of "equal()", it's been discussed before but I would have to dig back through the archives to remember all of the old arguments pro/con.
3. Re: = vs := and = vs ==
- Posted by ChrisB (moderator) May 07, 2014
- 2106 views
NO!
Never let it happen. I remember spending hours wondering why a section of code wasn't code wasn't working when a = b+c was buried within it, and groaning when I'd found it writing Delphi programs. One of the reasons I love Eu.
Chris
4. Re: = vs := and = vs ==
- Posted by ryanj May 07, 2014
- 2105 views
I find that having multiple types of = just makes it easier to have syntax errors, such as accidentally assigning a value in an if statement and wondering why it always returns true. I like the simplicity of euphoria and the small set of symbols to remember. I find that languages that have 50 different types of operation symbols may make your code look more compact and gives you a sense of accomplishment when you managed to iterate a variable while shifting bits and doing logic operations all in 1 statement, but Euphoria code is so much easier to read and comprehend. I especially like the lack of semicolons between every statement.
5. Re: = vs := and = vs ==
- Posted by jimcbrown (admin) May 07, 2014
- 2090 views
NO!
Never let it happen. I remember spending hours wondering why a section of code wasn't code wasn't working when a = b+c was buried within it, and groaning when I'd found it writing Delphi programs. One of the reasons I love Eu.
Chris
Not sure I agree here. It's easy to typo a = when == was meant, but typoing := in place of == would be a lot harder.
Even if we continue to refuse to allow assignment in the middle of evalutions, we could still have the new symbols, but then
if a := b+c then
would just throw a syntax error. That leaves open the possiblity of using new symbols for the sake of reader's clarity.
6. Re: = vs := and = vs ==
- Posted by ghaberek (admin) May 07, 2014
- 2108 views
What would it take to allow := in an assignment statement? (Phix by Lomax already does this.)
I do not think this is necessary. I don't think many people get confused by assignment vs comparison.
What would it take to allow = to compare atoms and == to compare objects?
What is confusing, however, is why = cannot compare objects while equal() can. (Can't = just be shorthand for equal()?) IIRC, allowing = to compare objects in if/while statements is relatively trivial. I believe it's a simple matter of changing the op (opEQUAL?) routine in the interpreter. At least, this was true in Euphoria 2.x and 3.x. I haven't spent much time in the Euphoria 4.x source code, but I would welcome this change.
-Greg
7. Re: = vs := and = vs ==
- Posted by _tom (admin) May 07, 2014
- 2107 views
Thanks,
I just trying to understand why the supporters of := for assignment feel so strongly about it.
_tom
8. Re: = vs := and = vs ==
- Posted by DerekParnell (admin) May 07, 2014
- 2067 views
What would it take to allow := in an assignment statement? (Phix by Lomax already does this.)
What would it take to allow = to compare atoms and == to compare objects?
These syntax changes could make it easier for a Euphoria initiate.
There is no need to introduce new operators. The reason for Euphoria's limitation on using '=' for boolean compare in statements is the because of a design decision to evaluate the expression before using the result in the test. Basically it boils down to the definition of IF is more like ...
IF integer THEN
So when the parser sees 'if a = b then' it first evaluates the 'a = b' like this ...
When 'a' or 'b' is a sequence, then each of its elements are evaluated for equality and a sequence is returned as the result. We end up with
IF sequence THEN
which is illegal.
The way to properly "fix" this is to change the parser to perform a boolean test in these situations rather than a sequence operation. This is quite a big deal though, given the way its coded.
9. Re: = vs := and = vs ==
- Posted by ChrisB (moderator) May 08, 2014
- 2080 views
NO!
Never let it happen. I remember spending hours wondering why a section of code wasn't code wasn't working when a = b+c was buried within it, and groaning when I'd found it writing Delphi programs. One of the reasons I love Eu.
Chris
Not sure I agree here. It's easy to typo a = when == was meant, but typoing := in place of == would be a lot harder.
Even if we continue to refuse to allow assignment in the middle of evalutions, we could still have the new symbols, but then
if a := b+c then
would just throw a syntax error. That leaves open the possiblity of using new symbols for the sake of reader's clarity.
Hi
Its not about typing the typo, but reading and finding the typo, for instance
if a = b+c then d := e+f end if
vs
if a = b+c then d = e+f end if
or
if a := b+c then d := e+f end if
would always evaluate to true, and would be a nightmare to find.
I don't care if they're assignments or comparisons, the syntax takes care of it, but I would have to if I was forced to be more specific, which for me adds another layer of detail I can just do without.
Cheers Chris
10. Re: = vs := and = vs ==
- Posted by gimlet May 08, 2014
- 2051 views
Just to put my position on this so people know.
I find == annoying in awk which I use a lot - it is error-prone.
I have always liked := and even <- for assignment (Ada, Pascal, Algol)
I don't mind = and for some reason I find Euphoria's usage for both assignment and comparison comfortable and easily better than C's =, ==.
My original comment was not a criticism but to make the point that a = b is not surprising but 'A' + 'B' is (even though it will sum in Euphoria).
I don't use goto much and would rather do without it generally but if x then goto ERROR is usually cleaner than other error-handling in Euphoria.
11. Re: = vs := and = vs ==
- Posted by jimcbrown (admin) May 08, 2014
- 2072 views
Even if we continue to refuse to allow assignment in the middle of evalutions, we could still have the new symbols, but then
if a := b+c then
would just throw a syntax error. That leaves open the possiblity of using new symbols for the sake of reader's clarity.
if a = b+c then d := e+f end if
vs
if a = b+c then d = e+f end if
or
if a := b+c then d := e+f end if
would always evaluate to true,
Uh, no, the last one would throw a syntax error at you. You'd get file and line number and everything.
I don't care if they're assignments or comparisons, the syntax takes care of it, but I would have to if I was forced to be more specific, which for me adds another layer of detail I can just do without.
Cheers Chris
Hmm. That's a good point. On the other hand, it's already worse via = vs equals()...
12. Re: = vs := and = vs ==
- Posted by jimcbrown (admin) May 08, 2014
- 2037 views
I don't use goto much and would rather do without it generally but if x then goto ERROR is usually cleaner than other error-handling in Euphoria.
Huh? What's the usual error-handling in Euphoria, then?
13. Re: = vs := and = vs ==
- Posted by gimlet May 08, 2014
- 2046 views
Exception handling.
Much cleaner in my opinion and doesn't interrupt the flow of the algorithm.
14. Re: = vs := and = vs ==
- Posted by jimcbrown (admin) May 08, 2014
- 2081 views
I don't use goto much and would rather do without it generally but if x then goto ERROR is usually cleaner than other error-handling in Euphoria.
Huh? What's the usual error-handling in Euphoria, then?
Exception handling.
Um, Euphoria doesn't have that yet.
Much cleaner in my opinion and doesn't interrupt the flow of the algorithm.
So you think using goto is cleaner than exception handling? Interesting.
Or are you saying that using goto that way looks like exception handling in Euphoria (a poor man's exception handling, so to speak) and both are cleaner for that reason? In which case, they are cleaner than ... what, exactly?
15. Re: = vs := and = vs ==
- Posted by gimlet May 08, 2014
- 2071 views
Mostly I have found that an exception handler (Ada PL/SQL) is something to handle a situation where your program is usually about to die.
As Euphoria doesn't have exception handlers (and I don't think it's missing much) goto a handling area is not bad.
Perhaps you don't agree. It's an opinion.
16. Re: = vs := and = vs ==
- Posted by _tom (admin) May 08, 2014
- 2044 views
My original comment was not a criticism but to make the point that a = b is not surprising but 'A' + 'B' is (even though it will sum in Euphoria).
The problem in documentation is learning what is "surprise." One then writes something that hopefuly makes the surprise go away. (The fun part is writing a one line description in a thousand page manual so we can say RTFM.)
- An object is composed of just one or many numbers.
- The plus character + always adds.
- The result of + is another number.
-
x = 'A' + 'B'
x has to be a number, no surprise.
If you accept the principle that Euphoria is consistent and predictable then there is no room for surprise.
If you come pre-conditioned from another language then 'A'+'B' can have an alternative meaning.
Overloading + to mean concatenation is possibly convenient; I could equally say that when plus no longer adds, I am surprised.
_tom
17. Re: = vs := and = vs ==
- Posted by jaygade May 08, 2014
- 2024 views
It shouldn't be too difficult to realize that '&' is used for string and sequence concatenation instead of '+'. In fact, if users try to join strings instead of simple characters with '+' then they will get a lot of errors.
-- will give an error "sequence lengths are not the same (21 != 9)" sequence t = "This string is longer" + "than this"
I'm not sure if using '+' originated with BASIC or before, although it is pretty common.
18. Re: = vs := and = vs ==
- Posted by gimlet May 08, 2014
- 2017 views
The surprise is that this doesn't make good sense.
This is a distinction between what you can do and what you should do.
Basic's 'A' + 'B' was and still is concatenation.
19. Re: = vs := and = vs ==
- Posted by jaygade May 08, 2014
- 2022 views
I think we'll just have to disagree -- it makes as much sense to me as does "65 + 66" and it makes some algorithms simpler.
20. Re: = vs := and = vs ==
- Posted by _tom (admin) May 08, 2014
- 2015 views
The surprise is that this doesn't make good sense.
This is a distinction between what you can do and what you should do.
Basic's 'A' + 'B' was and still is concatenation.
The Basic language was designed to "get something working" on a mainframe computer. Design and elegance was not a consideration at that time. Kids in computer 101 ran around with punch-cards and everyone was happy to get a for loop working. Basic does not make perfect sense, but it works.
Ruby is a "whimsical language" were the syntax follows what Yukihiro Matsumoto felt made sense. Lots of people, who think like Matsumoto, like Ruby. If you think in Ruby it makes sense.
Euphoria was inspired by "speed." To get speed you need a clean direct path to that speed. That is why when you learn that + means add numbers, Euphoria always adds numbers.
If I say "Euphoria is easy to learn" it is because once you learn a principle you can depend on it. That is much simpler than saying + sometimes adds and sometimes concatenates, but that is ok because the data-types are different.
If you add a lot of "should do" (for whimsical reasons) you no longer have a Euphoria language.
_tom
21. Re: = vs := and = vs ==
- Posted by petelomax May 08, 2014
- 1999 views
- Last edited May 09, 2014
What would it take to allow := in an assignment statement? (Phix by Lomax already does this.)
NO!
To clarify, where the compiler would treat "=" as assignment it lets you use ":=" but reports an error if you try to use "==". Where the compiler would treat "=" as a comparison it lets you use "==" but reports an error if you try to use ":=". So,
if a:=b then c==d end if
contains two fatal compilation errors.
I don't care if they're assignments or comparisons, the syntax takes care of it, but I would have to if I was forced to be more specific, which for me adds another layer of detail I can just do without.
As above, in Phix, they are entirely optional, you are perfectly free to continue to use "=" for everything, if you want.
I especially like the lack of semicolons between every statement.
I made them optional in Phix. I just got sick of getting home after coding in C++ all day and not being able to write Eu code (and vice versa, but that would probably have taken rather more than the 3 minutes it took to modify my compiler). I also once somehow managed to slip in a ">" between two assignment statements (that used "=") which took 3 days (THREE DAYS!) to track down, which would obviously have been lit up like a Christmas Tree if only they had been separated by semicolons.
What is confusing, however, is why = cannot compare objects while equal() can. (Can't = just be shorthand for equal()?) IIRC, allowing = to compare objects in if/while statements is relatively trivial. I believe it's a simple matter of changing the op (opEQUAL?) routine in the interpreter. At least, this was true in Euphoria 2.x and 3.x. I haven't spent much time in the Euphoria 4.x source code, but I would welcome this change.
The way to properly "fix" this is to change the parser to perform a boolean test in these situations rather than a sequence operation. This is quite a big deal though, given the way its coded.
The real problem is implicit sequence ops. So much so that Phix only allows explicit (function-style) sequence ops. One example I came up with (oh gosh, so many years ago now!) was:
if (a=b)=(c=d) then
It (might) seem clear that the "inner" "=" needs to generate a boolean so must be a comparison, but what about the "outer" two? I am very certain that trying to be "clever" about selecting which in the parser will lead you to a whole new world of pain.
Regards,
Pete
Edit: I retrieved this, from my assorted notes, which might help make that last example a little clearer
name="robbie" city="moscow" .... if (name="robert") = (city="london") then
Which could quite reasonably be taken as equivalent to either
if equal({1,1,1,0,0,0},{0,1,0,0,1,0}) then (false)
or
if equal(false,false) then (true)
In this particular case, it seems the compiler would effectively have to make a blind guess about what the programmer actually meant, and most likely get it wrong about 50% of the time.
Another potential gotcha could be temp=(city="london") behaving entirely differently depending on whether temp was declared as integer or sequence, and/or, of course, play a similar guessing game when it is an object.
22. Re: = vs := and = vs ==
- Posted by SDPringle May 10, 2014
- 1982 views
I like := for assignment and == for comparison. I don't see why they should even throw errors necessarily when used in a place where = would have the other meaning. If I were designing a language from the ground up, I would have := for assignment and == for comparison. Comparison like Phix with == and comparison one object down with something like (==), two objects down with ((==)). Conditionals would have to evaluate to a boolean type, which would have to be builtin to the language, like Java.
Honey (==) Money -- is (false, true, true, true, true) Honey == Money -- is false ( "Ha", "Ja" ) (==) ( "Ja", "Ja" ) -- is (false, true) ( "Ha", "Ja" ) ((==)) ( "Ja", "Ja") -- is [ (false, true), (true, true) ]As long as = retains its old meaning this wouldn't break code. There is a bug introduction risk associated to each change to the runtime and parser system as with any language though.
Shawn
23. Re: = vs := and = vs ==
- Posted by petelomax May 10, 2014
- 1967 views
comparison one object down with something like (==), two objects down with ((==))
Yuck, yuck, and thrice yuck.
You can easily achieve that sort of thing, and so much more, with a simple and straightforward function.
Pete
24. Re: = vs := and = vs ==
- Posted by ChrisB (moderator) May 10, 2014
- 1944 views
comparison one object down with something like (==), two objects down with ((==))
Yuck, yuck, and thrice yuck.
You can easily achieve that sort of thing, and so much more, with a simple and straightforward function.
Pete
I'll raise your three yucks with six. ~shudder~
Chris
25. Re: = vs := and = vs ==
- Posted by jaygade May 10, 2014
- 1859 views
The reason this is clear in Euphoria is because you can't do assignments within expressions unlike certain languages. In some languages (like C), assignment statements are expressions in themselves, and return a value. Therefore, the meaning of assignment vs. comparison is ambiguous.
In Euphoria, this isn't the case. Assignment is one kind of statement which must start with an identifier followed by '=' followed by an expression. There is no ambiguity because assignment statements cannot be part of an expression; they don't return a value.
One problem is that in cases involving sequences, comparison operators return a value other than "true" or "false" in Euphoria. That was a design mistake, in my view.
I've been playing around with ideas and I know that it has been hashed out before.
All comparison operators should return a "true" or "false" value of 1 or 0.
If I was designing a Euphoria-like language, here's how I would handle operators:
where op is a mathematical operation + - * / Sequence op scalar or scalar op sequence = new sequence with operation applied. (This is how Euphoria acts now). sequence op sequence = new sequence with all elements opped together. Mismatched sequence size is a no op for elements of the longer sequence [even for - and /]. {} op object is no op. Returns object unchanged. where op is a comparison operation = != < > and or 0 is false. Comparisons return '0' as false. {} is false. not zero is true. Comparisons return '1' as true. Any non-empty sequence is true. sequence op sequence = boolean value of 1 or 0 (true or false). Comparison is a deep comparison if necessary. {} op object returns false for all tests except !=. {} op {} returns false for all tests except =.
For Euphoria's current comparison behavior, I would use builtins.
26. Re: = vs := and = vs ==
- Posted by petelomax May 11, 2014
- 1896 views
If I was designing a Euphoria-like language, here's how I would handle operators:
Mismatched sequence size is a no op for elements of the longer sequence [even for - and /]. {} op object is no op. Returns object unchanged.
Interesting idea. Not that I have any compelling reason to make such changes, given the following function implements the current behaviour,
function sq_div(object a, object b) if atom(a) then if atom(b) then return a/b end if for i=1 to length(b) do b[i] = sq_div(a,b[i]) end for return b elsif atom(b) then for i=1 to length(a) do a[i] = sq_div(a[i],b) end for return a end if if length(a)!=length(b) then fatal(a,b) end if for i=1 to length(a) do a[i] = sq_div(a[i],b[i]) end for return a end function
then this implements that suggestion
function xq_div(object a, object b) if atom(a) then if atom(b) then return a/b end if for i=1 to length(b) do b[i] = xq_div(a,b[i]) end for return b elsif atom(b) then for i=1 to length(a) do a[i] = xq_div(a[i],b) end for return a end if -- if length(a)!=length(b) then fatal(a,b) end if if length(a)<length(b) then for i=1 to length(a) do b[i] = xq_div(a[i],b[i]) end for return b end if for i=1 to length(b) do a[i] = xq_div(a[i],b[i]) end for return a end function
Not exactly difficult, at least in hll, though there are quite a few of them, and like I said I'm not convinced it is necessarily an improvement.
{} is false. Any non-empty sequence is true.
Oh, I have heard that one before
I concluded this is a knee-jerk reaction to the dreaded "true/false condition must be an ATOM", which used to plague me back in the days when I used RDS Eu.
Since moving full-time to Phix and removing implicit sequence ops, this happens, I kid you not, less than once a year.
Besides, I simply just don't buy that expressions such as "{1,2,3} and {4,5,6}" have any meaningful true/false answer, and for my money "programming error" wins hands down.
For Euphoria's current comparison behavior, I would use builtins.
I have no clear idea what you really mean by that. If you are thinking of some mythical performance-related issue, I have found that it is almost always faster to use a non-sequence-op method, and in fact hll code such as that above can be aggressively pass-by-reference-optimized [although I should admit to recently breaking that handling in Phix] and therefore (at least for quite long/nested sequences) massively outperform the equivalent low-level code.
Pete
27. Re: = vs := and = vs ==
- Posted by jimcbrown (admin) May 11, 2014
- 1872 views
For Euphoria's current comparison behavior, I would use builtins.
I have no clear idea what you really mean by that.
I'm guessing he means to make e.g. sq_div() et al builtin functions for those rare applications that truly depend on sequence-op methods. (The only example I can think of offhand is older applications that inlined RDS's lower() and upper() methods.)
If you are thinking of some mythical performance-related issue,
But you seem to be arguing that we might as well just implement it in a std/sequenceop.e library somewhere, as you can't seem to think of a real advantage to keeping this stuff built into the interpreter. (The same is true for me - I think sequence ops like that are rare enough that even if there was a performance issue, it'd still be a non-issue.)
28. Re: = vs := and = vs ==
- Posted by BRyan May 11, 2014
- 1860 views
I thought the purpose of the Pre-Processor was add things like := and == etc.
29. Re: = vs := and = vs ==
- Posted by jaygade May 11, 2014
- 1841 views
I have no clear idea what you really mean by that. If you are thinking of some mythical performance-related issue, I have found that it is almost always faster to use a non-sequence-op method, and in fact hll code such as that above can be aggressively pass-by-reference-optimized [although I should admit to recently breaking that handling in Phix] and therefore (at least for quite long/nested sequences) massively outperform the equivalent low-level code.
Pete
Obviously neither one of us is understanding the other here, since I cannot interpret your question. I'm certainly not thinking of any performance-related issue, but rather principle of least surprise.
if "ABC" = "ABC" should evaluate to 1 or true, not to {1, 1, 1}. if {1.29, {3, "foo", 255}, 'A'} = {1.29, {3, "foo", 255}, 'A'} should also return a true or false value.
Inside the interpreter, first the references would be compared, and then the value, and then recurse through the sequence doing the same for every element.
This would obviously be most useful for strings, but also for lists of strings and lists of other objects.
To return a sequence of booleans instead of reducing a comparison to a single boolean, then I would use bool_equal() or some other as yet non-existent function. An alternative if it is important would be to make new operators using a . or a : along with =, <, >, != in order to specify returning a list of booleans instead of a single boolean.
Just some thoughts I'm playing with. I'm not suggesting changing Euphoria's existing behavior, just playing "what if".
Edit I'm going to backtrack a bit on the sequence arithmetic operations -- doing an arithmetic operation on sequences of different lengths is a possible error and so Euphoria's current behavior should be maintained.
I stand by the boolean thing though.
30. Re: = vs := and = vs ==
- Posted by petelomax May 11, 2014
- 1797 views
But you seem to be arguing
Obviously neither one of us
I was almost entirely focused on the "builtins" word, vs hll code. I have no disagreement with anything else just said.
Edit I'm going to backtrack a bit on the sequence arithmetic operations
To be fair, I cannot see anything "wrong" with that idea, just not really anywhere it would be genuinely useful...
Pete
31. Re: = vs := and = vs ==
- Posted by GreenEuphorian May 16, 2014
- 1689 views
+1 for the := vs = distinction.
Syntactic differentiation helps mental clarity.
32. Re: = vs := and = vs ==
- Posted by jimcbrown (admin) Jun 09, 2014
- 1604 views
If I was designing a Euphoria-like language, here's how I would handle operators:
Mismatched sequence size is a no op for elements of the longer sequence [even for - and /]. {} op object is no op. Returns object unchanged.
Interesting idea.
... snip...
then this implements that suggestion
function xq_div(object a, object b) if atom(a) then if atom(b) then return a/b end if for i=1 to length(b) do b[i] = xq_div(a,b[i]) end for return b elsif atom(b) then for i=1 to length(a) do a[i] = xq_div(a[i],b) end for return a end if -- if length(a)!=length(b) then fatal(a,b) end if if length(a)<length(b) then for i=1 to length(a) do b[i] = xq_div(a[i],b[i]) end for return b end if for i=1 to length(b) do a[i] = xq_div(a[i],b[i]) end for return a end function
Not exactly difficult, at least in hll, though there are quite a few of them, and like I said I'm not convinced it is necessarily an improvement.
I've now implemented something like this (though nop elements are truncated): http://scm.openeuphoria.org/hg/euphoria/rev/bc7ba9aea3a6
(I'll look into keeping, instead of truncating, the nop elements at some point in time.)
{} is false. Any non-empty sequence is true.
Oh, I have heard that one before
I concluded this is a knee-jerk reaction to the dreaded "true/false condition must be an ATOM", which used to plague me back in the days when I used RDS Eu.
Since moving full-time to Phix and removing implicit sequence ops, this happens, I kid you not, less than once a year.
Besides, I simply just don't buy that expressions such as "{1,2,3} and {4,5,6}" have any meaningful true/false answer, and for my money "programming error" wins hands down.
I've also implemented jaygade's suggestion for this in the feature branch.
33. Re: = vs := and = vs ==
- Posted by jaygade Jun 09, 2014
- 1551 views
After my original suggestion, I realized that operations on sequences of different lengths as described is a potential source for hard-to-find bugs. However, doing a length comparison before doing an operation should be relatively cheap if the user wants to ensure the sequences are the same size.
It will be interesting to see if it can help some kinds of algorithms.
34. Re: = vs := and = vs ==
- Posted by petelomax Jun 10, 2014
- 1536 views
I've now implemented something like this (though nop elements are truncated): http://scm.openeuphoria.org/hg/euphoria/rev/bc7ba9aea3a6
(I'll look into keeping, instead of truncating, the nop elements at some point in time.)
That seems fine.
{} is false. Any non-empty sequence is true.
I've also implemented jaygade's suggestion for this in the feature branch.
Is there a changeset for that?
Pete Edit: did you mean http://scm.openeuphoria.org/hg/euphoria/rev/587f8aedb552 ?
35. Re: = vs := and = vs ==
- Posted by jimcbrown (admin) Jun 10, 2014
- 1540 views
Is there a changeset for that?
Pete Edit: did you mean http://scm.openeuphoria.org/hg/euphoria/rev/587f8aedb552 ?
Yep, that's the one.
36. Re: = vs := and = vs ==
- Posted by jimcbrown (admin) Jun 11, 2014
- 1475 views
I've now implemented something like this (though nop elements are truncated): http://scm.openeuphoria.org/hg/euphoria/rev/bc7ba9aea3a6
(I'll look into keeping, instead of truncating, the nop elements at some point in time.)
That seems fine.
I've now implemented the keeping of nop elements: http://scm.openeuphoria.org/hg/euphoria/rev/253355d356ea
37. Re: = vs := and = vs ==
- Posted by jaygade Jun 11, 2014
- 1459 views
This thread seems to be mixing with the "Funny/Clever tag lines for Euphoria" thread. I'm seeing messages which I believe belong here in the other thread. It makes it difficult to follow along.
38. Re: = vs := and = vs ==
- Posted by jimcbrown (admin) Jun 15, 2014
- 1393 views
This thread seems to be mixing with the "Funny/Clever tag lines for Euphoria" thread. I'm seeing messages which I believe belong here in the other thread. It makes it difficult to follow along.
Should the relevant messages be moved from that thread to this one?
The reason this happened is that several years ago, someone made a comment about this kind of functionality on that thread. I replied recently, saying that it was now implemented, and the discussion grew from there.