3 General cleanup
source | link

merging Merging two held expressions into a (held)held compound expression

assume that I haveConsider

e1 = Hold[a=x+x;b=y+y+y];Hold[a = x + x; b = y + y + y];
e2 = Hold[c=a+a+b+b+b;c^2];Hold[c = a + a + b + b + b; c^2];

how toHow can I obtain the following?

e12 = Hold[a=x+x;b=y+y+y;c=a+a+b+b+b;c^2]Hold[a = x + x; b = y + y + y; c = a + a + b + b + b; c^2]

forFor example, something like

e1 ~Join~ e2 

does not work since it gives one "," sign in the middle. another attempt

With[{e1temp=e1e1temp = e1, e2temp=e2e2temp = e2}, Hold[e1temp;e2temp]]Hold[e1temp; e2temp]]

gives nested HoldHold calls that at the end do not want to evaluate (and are hard to get rid off):

Hold[Hold[a=x+x;b=y+y+y];Hold[c=a+a+b+b+b;c^2]]
Hold[Hold[a = x + x; b = y + y + y]; Hold[c = a + a + b + b + b; c^2]]]

amazingI am amazed that such a simple thing is causing me so much pain. :)

Edit

EDIT:My current solution.

In[1]:= e1 = Hold[a = x + x; b = y + y + y]
Out[0]= Hold[a = x + x; b = y + y + y]

In[1]:= e2 = Hold[c = a + a + b + b + b; c^2]
Out[1]= Hold[c = a + a + b + b + b; c^2]

In[2]:= merge[Hold[expr1_], Hold[expr2_]] := Hold[expr1; expr2]
In[3]:= merge[e1, e2]
 
Out[3]= Hold[(a = x + x; b = y + y + y); (c = a + a + b + b + b; c^2)]
Hold[(a = x + x; b = y + y + y); (c = a + a + b + b + b; c^2)]

merging two held expressions into a (held) compound expression

assume that I have

e1 = Hold[a=x+x;b=y+y+y];
e2 = Hold[c=a+a+b+b+b;c^2];

how to obtain the following?

e12 = Hold[a=x+x;b=y+y+y;c=a+a+b+b+b;c^2]

for example, something like

e1 ~Join~ e2 

does not work since it gives one "," sign in the middle. another attempt

With[{e1temp=e1, e2temp=e2}, Hold[e1temp;e2temp]]

gives nested Hold calls that at the end do not want to evaluate (and are hard to get rid off):

Hold[Hold[a=x+x;b=y+y+y];Hold[c=a+a+b+b+b;c^2]]

amazing that such a simple thing is causing me so much pain. :)

EDIT:

In[1]:= e1 = Hold[a = x + x; b = y + y + y]
Out[0]= Hold[a = x + x; b = y + y + y]

In[1]:= e2 = Hold[c = a + a + b + b + b; c^2]
Out[1]= Hold[c = a + a + b + b + b; c^2]

In[2]:= merge[Hold[expr1_], Hold[expr2_]] := Hold[expr1; expr2]
In[3]:= merge[e1, e2]
 
Out[3]= Hold[(a = x + x; b = y + y + y); (c = a + a + b + b + b; c^2)]

Merging two held expressions into a held compound expression

Consider

e1 = Hold[a = x + x; b = y + y + y];
e2 = Hold[c = a + a + b + b + b; c^2];

How can I obtain the following?

e12 = Hold[a = x + x; b = y + y + y; c = a + a + b + b + b; c^2]

For example,

e1 ~Join~ e2 

does not work since it gives one "," sign in the middle. another attempt

With[{e1temp = e1, e2temp = e2}, Hold[e1temp; e2temp]]

gives nested Hold calls that at the end do not want to evaluate (and are hard to get rid off):

Hold[Hold[a = x + x; b = y + y + y]; Hold[c = a + a + b + b + b; c^2]]]

I am amazed that such a simple thing is causing me so much pain. :)

Edit

My current solution.

merge[Hold[expr1_], Hold[expr2_]] := Hold[expr1; expr2]
merge[e1, e2]
Hold[(a = x + x; b = y + y + y); (c = a + a + b + b + b; c^2)]
2 added 393 characters in body
source | link

assume that I have

e1 = Hold[a=x+x;b=y+y+y];
e2 = Hold[c=a+a+b+b+b;c^2];

how to obtain the following?

e12 = Hold[a=x+x;b=y+y+y;c=a+a+b+b+b;c^2]

for example, something like

e1 ~Join~ e2 

does not work since it gives one "," sign in the middle. another attempt

With[{e1temp=e1, e2temp=e2}, Hold[e1temp;e2temp]]

gives nested Hold calls that at the end do not want to evaluate (and are hard to get rid off):

Hold[Hold[a=x+x;b=y+y+y];Hold[c=a+a+b+b+b;c^2]]

amazing that such a simple thing is causing me so much pain. :)

EDIT:

In[1]:= e1 = Hold[a = x + x; b = y + y + y]
Out[0]= Hold[a = x + x; b = y + y + y]

In[1]:= e2 = Hold[c = a + a + b + b + b; c^2]
Out[1]= Hold[c = a + a + b + b + b; c^2]

In[2]:= merge[Hold[expr1_], Hold[expr2_]] := Hold[expr1; expr2]
In[3]:= merge[e1, e2]

Out[3]= Hold[(a = x + x; b = y + y + y); (c = a + a + b + b + b; c^2)]

assume that I have

e1 = Hold[a=x+x;b=y+y+y];
e2 = Hold[c=a+a+b+b+b;c^2];

how to obtain the following?

e12 = Hold[a=x+x;b=y+y+y;c=a+a+b+b+b;c^2]

for example, something like

e1 ~Join~ e2 

does not work since it gives one "," sign in the middle. another attempt

With[{e1temp=e1, e2temp=e2}, Hold[e1temp;e2temp]]

gives nested Hold calls that at the end do not want to evaluate (and are hard to get rid off):

Hold[Hold[a=x+x;b=y+y+y];Hold[c=a+a+b+b+b;c^2]]

amazing that such a simple thing is causing me so much pain. :)

assume that I have

e1 = Hold[a=x+x;b=y+y+y];
e2 = Hold[c=a+a+b+b+b;c^2];

how to obtain the following?

e12 = Hold[a=x+x;b=y+y+y;c=a+a+b+b+b;c^2]

for example, something like

e1 ~Join~ e2 

does not work since it gives one "," sign in the middle. another attempt

With[{e1temp=e1, e2temp=e2}, Hold[e1temp;e2temp]]

gives nested Hold calls that at the end do not want to evaluate (and are hard to get rid off):

Hold[Hold[a=x+x;b=y+y+y];Hold[c=a+a+b+b+b;c^2]]

amazing that such a simple thing is causing me so much pain. :)

EDIT:

In[1]:= e1 = Hold[a = x + x; b = y + y + y]
Out[0]= Hold[a = x + x; b = y + y + y]

In[1]:= e2 = Hold[c = a + a + b + b + b; c^2]
Out[1]= Hold[c = a + a + b + b + b; c^2]

In[2]:= merge[Hold[expr1_], Hold[expr2_]] := Hold[expr1; expr2]
In[3]:= merge[e1, e2]

Out[3]= Hold[(a = x + x; b = y + y + y); (c = a + a + b + b + b; c^2)]
1
source | link

merging two held expressions into a (held) compound expression

assume that I have

e1 = Hold[a=x+x;b=y+y+y];
e2 = Hold[c=a+a+b+b+b;c^2];

how to obtain the following?

e12 = Hold[a=x+x;b=y+y+y;c=a+a+b+b+b;c^2]

for example, something like

e1 ~Join~ e2 

does not work since it gives one "," sign in the middle. another attempt

With[{e1temp=e1, e2temp=e2}, Hold[e1temp;e2temp]]

gives nested Hold calls that at the end do not want to evaluate (and are hard to get rid off):

Hold[Hold[a=x+x;b=y+y+y];Hold[c=a+a+b+b+b;c^2]]

amazing that such a simple thing is causing me so much pain. :)