Linked Questions
16 questions linked to/from Custom atomic expressions - modern tutorial
61
votes
4
answers
2k
views
How to create expanding summary boxes like the ones displayed for InterpolatingFunction, NearestFunction, etc.?
The display forms for objects like ClassifierFunction are nice clickable summary boxes
I like this, and now I'm trying to create my a custom version of this for my ...
30
votes
3
answers
1k
views
Language`* documentation project
Language` context is around for a long time. It is also heavily used (APIFunctions / FormFunctions dependencies deployment rely on it).
It is undocumented and ...
32
votes
2
answers
2k
views
List of atomic expressions
I was surprised to see Graph objects are atomic. Is there a way (through documentation or programmatically) to find all atomic heads?
The ones I know of are:
...
34
votes
1
answer
716
views
Make my data-structure atomic
Lately, and by lately I mean since version 7 or so, the number of atomic expressions in Mathematica constantly grew. In former times only the native types like integers and optimised arrays were ...
7
votes
4
answers
783
views
How to elegantly implement this one useful object-oriented feature in Mathematica?
I wrote some Mathematica code that defines a function I want to use repeatedly (f) inside another function (finit) that pre-...
14
votes
1
answer
1k
views
Pascal records and Mathematica programming
Background:
"experienced" Pascal-programmer (DOS-era, never got into OOP)
proud owner of Mathematica ver 11.2
have used Mathematica for years to do my share of number crunching and plotting to ...
4
votes
4
answers
220
views
Is it possible to create lookups on temporary symbols that still allow the symbols to be automatically removed?
Is there some way to create lookups keyed on Temporary symbols that somehow avoid the referencing of the Temporary symbols, ...
2
votes
3
answers
216
views
Making an expression to Iceberg-like object?
Can we construct a function Iceberg,
which maps a given expression X to Iceberg[X]
satisfying 1. and 2. and 3. ?
1. From Iceberg[X],
it is not possible to inspect/extract a part of X with usual ...
4
votes
1
answer
121
views
How to remove only circular refs in Language`ExpressionStore
Expressions are not garbage collected if there are references to them stored in the expression store. I use the following internal functions:
...
2
votes
2
answers
124
views
Does the kernel attempt to evaluate the output of RandomReal?
I am trying to get my head around the evaluation process. One of the general ideas is that whenever an expression is replaced by another the evaluation restarts in the new expression. I can't imagine ...
8
votes
0
answers
256
views
How would one add Hyperreals as a new type to Mathematica?
Hyperreals are an extension to the real numbers; they formalise the concepts of infinities and infinitestimals as numbers, rather than the named limit points outside of the system of reals and form ...
4
votes
0
answers
141
views
System`Private`*Entry* and *Valid*, or: How does Mathematica know which expression is which?
Goal
The answers to this question are intended to be a place to describe the behavior and mechanism of the undocumented functions of the form System`Private`*Entry* ...
0
votes
2
answers
148
views
Elegant way to validate expression?
Suppose I'm using the expression Person[fn_String, ln_String] as a data expression, and want to prohibit the creation of expressions where ...
1
vote
0
answers
110
views
Is there a good reason why `Slot[]` is not an atomic expression?
Here's a good reason why I think it should be,
Map[ If[AtomQ@#, #->"is an atom", #->"not an atom"]&
, {"hello",Range@3, # &}
, {-1}
]
...
3
votes
1
answer
48
views
Type formation rules for 1-position expressions
I made a summary of the rules for formation of types for simple 1-position expressions, as I understand them.
Here it is in textual form:
A symbol, say, α, is a discrete entity, represented by a ...