Questions tagged [language-design]
for questions about the design of the Mathematica language itself
20
questions with no upvoted or accepted answers
43
votes
0
answers
1k
views
Performance problems in new Sequence functions
The new-in-10.1 Sequence* family of functions should provide newly optimized methods for handling sequence problems. Happily in some cases they do! For example ...
17
votes
0
answers
209
views
Why are delayed definitions in scoping functions NOT documented?
As outlined here, := may be used in scoping constructs like With to give delayed definitions, but this is undocumented.
This ...
14
votes
0
answers
128
views
Why does MapAt unpack individual elements?
(In case this is version specific I am using Mathematica 10.1 under Windows.)
While responding to Partition array without unpacking I noticed something about MapAt ...
13
votes
0
answers
554
views
Is there research about the Mathematica programming paradigm?
There seem to be lots of papers discussing the functional programming paradigm terminology for Haskell, such as monad, category theory, lambda calculus, *morphism, etc. People study concepts and ...
9
votes
0
answers
65
views
Does ArgumentsOptions do anything we couldn't do without it?
ArgumentsOptions was new in version 12.2. I looked at the application on that page, and it makes code very difficult to understand. What if anything does ArgumentsOptions do for us that we couldn't do ...
9
votes
0
answers
126
views
List assigment ({...}={...}) and UpValues
Let's say I want to track any assignment attempt for a variable a:
a /: Set[a, x_] := Print@{a, x}
This works as intended:
<...
8
votes
0
answers
105
views
What is the philosophy behind \[Rule] (a.k.a. `->`) for assigning options?
Today I was banging my head against my desk when I realized that the problem I was experiencing was due to having typed
ImageSize[Large]
instead of
...
8
votes
0
answers
145
views
Relation between the syntactic and evaluated Association
This question is inspired by this answer and related to unsolved post "Association's Attributes change between 10.3.1 & 10.4"...
7
votes
0
answers
194
views
Why patterns names aren't scoped by default?
In a recent question [1] OP asked how to make Module scope working inside Set, so how to get:
...
5
votes
0
answers
64
views
Why ReadList ignores NullRecords for Number?
When thinking on this recent question the immediately obvious solution which came to my mind was to use ReadList with options ...
4
votes
0
answers
73
views
Why does `MakeBoxes` have the HoldAllComplete attribute and ignore it rather than HoldAll?
MakeBoxes has the attribute HoldAllComplete. For a normal function, it would imply that Upvalues should not be taken into account when the expression is evaluated:
<...
4
votes
0
answers
99
views
Obtain complete list of built-in graphical objects, and split them into groups?
I would like to obtain the complete listing of built-in graphical objects (which can be used in Graphics or Graphics3D) ...
4
votes
0
answers
96
views
Why is SparseArray atomic?
This answer tells us that functions like ReplaceAll do not straightforwardly work for the entries of sparse arrays because a ...
3
votes
0
answers
145
views
Why is MeshRegion atomic?
I wanted to make some changes inside a MeshRegion today and found that unlike Graphics objects, it can't be done directly ...
3
votes
0
answers
434
views
Mixing Wolfram Language & WolframAlpha Queries - How robust is it?
The advent of Mathematica in the cloud and linguistic input potentially transforms expectations of the Wolfram Language's programming model and its inherent robustness. An example of this comes form ...
2
votes
0
answers
90
views
Why does Plot function have HoldAll attribute?
I had an odd issue where my plot wasn't drawn correctly when I called it via Plot[Join[fs,gs], (*..*)]. However, these two versions worked:
...
2
votes
0
answers
64
views
Should SubsetMap be called CombineAt?
I'm a big fan of the functionality introduced by SubsetMap but am puzzled as to why it was not called "CombineAt". There are ...
1
vote
0
answers
100
views
Why is the dot operator not just matrix multiplication?
It seems to me Mathematica does not have an inbuilt matrix multiplication operator. The dot operator fails as such, as is even noted under "Possible Issues" in its documentation it ...
1
vote
0
answers
55
views
"Compile-time" patterns
If I define a function like
f[x : {_, _Integer}] := (* function body *)
then, as I understand it, every time f[expr] is ...
1
vote
0
answers
118
views
Intervals v.s. Domains: when to use which and why?
or: How to use Interval correctly?
Mathematica provides these constructs for various symbolic deductions tasks. Among those constructs are symbolic number sets ...