Home Questions Tags Users Unanswered. Leonid Shifrin once wrote excerpted: What are all the "magic" Symbols in the Mathematica language? What makes each of these Symbols special? I believe these should be considered distinct from atomic objects , which while also being "deeply wired into the system" and "not easily replicated" are a form of data types with special handling.
Static analysis of the code is not sufficient to identify all evaluatable code -- the program must actually be run. Home Questions Tags Users Unanswered. Kuba Okay, I just reviewed that section. Consider mathematical theorems or algorithms as examples of objects which exist outside time -- you cannot "use up" Pythagora's theorem or Euclid's algorithm, because for them there is no time, hence no change is possible. We know it existed once from legend but it doesn't matter nor do we understand the effects because no one uses it. Email Required, but never shown.
A related question with a somewhat different scope: ToExpression will definitely be one. They pretty much need special kernel hooks to function correctly, but it feels like a different level of magic than Unevaluated etc. WReach - I think Catch and Throw could be written - they're non trivial and would involve Catch rewriting the entire expression given as its first argument - but LISP macros are written do that kind of thing a lot and I don't think there's anything special about them here.
I believe the Check family can be written as well. I know this site isn't supposed to be for discussions per se, but discussion for the purpose of developing questions or answers is always welcome. It sounds a little strange but it might be good to start an answer to list things that are not "magic" Symbols though they at first appear so, with explanations.
Evaluate Sequence Function As Szabolcs wrote: Pattern elements Arguably a distinct class, these Symbols are "magic" only in pattern matching and not main evaluation itself. Evaluation of OptionValue[] undetermined These might have limited "magic" behavior in one form or another. RuleCondition Replacement inside held expression How does Mathematica determine that an evaluation should be terminated?
Set and family It is not immediately apparent to me how to fully emulate the partial evaluation used on the left hand side of Set ; perhaps special evaluation methods are used. Stack , Trace These also probably don't belong here but they certainly are unusual. There is also Nothing. It is like Sequence[] , but it only gets removed from lists.
Szabolcs Unfortunately it is not present in the version I use therefore I cannot examine its behavior, or definition if such exists. Have you looked into its mechanism at all? Szabolcs What exactly is magical there? Common use case can be coded e.
Kuba Okay, I just reviewed that section. I don't see anything that really fits the description of "magic" quoted in the question, e. While should be easy to emulate. Trace does things "we" cannot but I don't think it really fits here, though I forgot about it or I might have grouped it with Stack. Maybe it isn't special then. Some function interact with the evaluator: I believe your description of Common Lisp's implementation of throw and catch is incorrect.
They are "special forms" because catch has an implicit progn. In other words, it is the HoldAll attribute. It could have been provided as a macro. And perhaps is, in some implementations. The reason these things are harder in Mathematica than Common Lisp or Scheme is that the Mathematica evaluator has a lot more kinds of "special form".
That was a driving goal in the design of Common Lisp: Sign up or log in Sign up using Google. We watch the disappearance of the magic then at the end of the book it never existed. Your much better option is the Star Wars or Dr. While it may feel cheep some of the best literature chooses a protagonist who sees, hears, or posses something the rest of the world does not.
Making them interesting and allowing us to see the world through more informed eyes.
This is often in modern day called a "Space Opera". The force doesn't exist anymore because all users died out.
We know it existed once from legend but it doesn't matter nor do we understand the effects because no one uses it. Except this one guy who somehow survived the force genocide. Very similar but this time it's a survivor. Maybe the magic was used up by one wizard who discovered the secret of immortality. He basically used all the energy of the earth to give himself life. In the process he also erased all other magic users from existence. Sort of a philosophers stone now.
He has limitless power bought at the life of everything. Now your informed character can be the antagonist that some informed cult is hunting down or a protagonist that perhaps wishes to pay penance by restoring life to humanity but doesn't know how.
I was impressed to learn that archaeologist identify an ancient city or town by a few simple indicators. The one that caught my attention was the Right Angle. A single right angle tells them that something about this site is human made and unnatural. While no human remains were found, no actual structures, no pottery or tools, a single rock cut in a right angle says everything they need to know. Magic while never existed was not actually undone If it was catch 22 it would have undone it's own undoing So perhaps their are "pieces of eden", Assasin's Creed floating around that everyone knows is from a past "technology" perhaps even magic.
Or maybe their is ancient indestructible structures that are damaged and still around like "elder glass" in Lies of Locke Lamora by Scott Lynch. Tomes are likely gone but what about the stories. While they may be dismissed as folk tales they likely still exist and there is probably someone crazy enough to believe them. Weird but the idea is maybe this fish or artifact ate the magic and contacting the artifact gives information about it's existence.
Once a spell is cast, the things changed to what the spell do from the past. They were always were. It is simply done. Although I'm questioning that changing things in the past should change other things, too. Because of how we, human living within the world in 4 dimension, obtain information is limited to information contained within the spacetime, it is therefore impossible to obtain information outside the spacetime, or even understand it. Then you can use the magic to obtain the information.
If you understand how to use a spell that does that. Home Questions Tags Users Unanswered.
Magic all got used up, as if it had never been. How would we know? It was used to transform the jungles of Cyrodiil to forests retroactively, so now it's what's always been there. As for your question, maybe have some material or object that is immune to these changes, like the Voyager during the Krenim crisis , which stood unaffected by their time-erasing weapons. However, if magic was used in creation of this object, it will create a paradox. Maybe have some other form, pool of magic?
If it doesn't move temporally then there is no before and no after, there is no movement -- it cannot change. It cannot be used up. There is no "once". Consider mathematical theorems or algorithms as examples of objects which exist outside time -- you cannot "use up" Pythagora's theorem or Euclid's algorithm, because for them there is no time, hence no change is possible. Because it transcendent space-time, you can't possibly say "it is used up on earth, let's go to mars to find some magic". That depicts a version of our world where magic is a finite and almost depleted resource Also it's just a danged cool book, in my not so humble opinion.
Artifacts or Secondary Effects. Writings much simpler Tomes are likely gone but what about the stories. You will never know Your premise of how the magic works is similar to a space time-travel: