[Date Index]
[Thread Index]
[Author Index]
Re: Quit versus Clear["Global`*"]
Of course it is not a great mystery if you define it yourself. After
all, you can also define
ContextPath := $ContextPath
and you will have global variables not beginning with $, etc. The
question is why: does WRI appear to violate what seem to be the logical
foundations of Mathematica's language.
Andrzej Kozlowski
On 7 Sep 2011, at 11:40, Oleksandr Rasputinov wrote:
> Quit[Abort[]] doesn't quit; instead it gives $Aborted. (I dare say as
> expected.)
>
> Quit vs. Quit[] performing the same operation isn't a great mystery:
one
> can define
>
> f := a
>
> and
>
> f[args___] := a
>
> and get the same result regardless of whether f is called as f or
f[...].
> In general DownValues and OwnValues don't work like this, but
providing
> for such behaviour in a specific case is easy.
>
> On Tue, 06 Sep 2011 09:03:47 +0100, DrMajorBob <btreat1 at austin.rr.com>
> wrote:
>
>> Quit appears to quit as soon as it is parsed, regardless of
arguments...
>> yet another poster found that, if it is the first line in a cell with
>> other statements, Mathematica doesn't quit until those other
statements
>> are done, hence wiping out their effect.
>>
>> Quit[e] the conundrum.
>>
>> Bobby
>>
>> On Mon, 05 Sep 2011 13:15:07 -0500, Andrzej Kozlowski
<akoz at mimuw.edu.pl>
>> wrote:
>>
>>> Well, I see it differently. All Mathematica functions have the form
>>> Head[arguments] where the number of arguments could be 0. Quit is
>>> therefore a Mathematica function, like Print[], Return[]. In fact,
>>> Quit[n] where n is an integer also works "passing the integer n as
an
>>> exit code to the operating system" whatever that means. On the other
>>> hand, expressions of the form Abracadabra are normally just symbols
and
>>> normally they do not perform any actions. In fact, do you know of
any
>>> other example (except Quit) when when evaluating a symbols actually
does
>>> more than return a value (that usually happens in the case of global
>>> constants, whose names begin with $,
>>>
>>> [1]:= $Version
>>>
>>> Out[1]= 8.0 for Mac OS X x86 (64-bit) (February 23, 2011)
>>>
>>> Note, by the way, that Abort[] works but Abort does not:
>>>
>>> In[3]:= Print[a];Abort[];Print[b]
>>> During evaluation of In[3]:= a
>>> Out[3]= $Aborted
>>>
>>> Print[a];Abort;Print[b]
>>> a
>>> b
>>>
>>> Andrzej Kozlowski
>>>
>>> On 5 Sep 2011, at 19:44, DrMajorBob wrote:
>>>
>>>> I, on the other hand, never saw Quit[] until this thread began.
>>>>
>>>> I suppose it figures that if Quit kills the kernel, then also
Quit[any
>>>> arguments or none] might also kill the kernel. (The other way
'round
>>>> doesn't necessarily "figure", on the other hand.)
>>>>
>>>> Bobby
>>>>
>>>> On Mon, 05 Sep 2011 07:44:17 -0500, Andrzej Kozlowski
>>>> <akoz at mimuw.edu.pl> wrote:
>>>>
>>>>> Actually (as far as I can tell) Quit is undocumented but Quit[]
is:
>>>>>
>>>>> ?Quit
>>>>> Quit[] terminates a Mathematica kernel session.
>>>>>
>>>>> I thought you had made a mistake but I tired just Quit (without
the
>>>>> brackets) and was surprised (after all these years!) to see it
work. I
>>>>> am wondering if there are more cases like this?
>>>>>
>>>>> Andrzej Kozlowski
>>>>>
>>>>> On 5 Sep 2011, at 13:06, DrMajorBob wrote:
>>>>>
>>>>>> No. For that, you need:
>>>>>>
>>>>>> Quit
>>>>>>
>>>>>> Bobby
>>>>>>
>>>>>> On Sun, 04 Sep 2011 17:06:32 -0500, Themis Matsoukas
>>>>>> <tmatsoukas at me.com>
>>>>>> wrote:
>>>>>>
>>>>>>> So, if I use ClearAll["Global`*"] at the beginning of a notebook
and
>>>>>>> execute all the cells, is it the same as running on a fresh
kernel?
>>>>>>>
>>>>>>> Themis
>>>>>>>
>>>>>> --
>>>>>> DrMajorBob at yahoo.com
>>>>>>
>>>>>
>>>> --
>>>> DrMajorBob at yahoo.com
>
Prev by Date:
**Re: Pascal's triangle spacing is off. Need**
Next by Date:
**Re: Quit versus Clear["Global`*"]**
Previous by thread:
**Re: Quit versus Clear["Global`*"]**
Next by thread:
**Re: Quit versus Clear["Global`*"]**
| |