Questions tagged [language-design]
for questions about the design of the Mathematica language itself
141
questions
1
vote
2
answers
92
views
Please I need help to define a function of two variables (t,x)!
Let's define the following function:
f[t_, x_] = t^2 + t*x*(1 - x)
such that $x \in (0,1)$ and `$t \in (0,0.02)$
The problem is when I want to define the following ...
3
votes
1
answer
103
views
Differences between minimization functions?
There's more than 20 functions having to do with minimization
...
1
vote
0
answers
66
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:
...
0
votes
0
answers
55
views
Get depth of vertices in TreeGraph
I want to get the depth of each vertex in a TreeGraph, g. I might convert g into an ...
8
votes
0
answers
58
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 ...
46
votes
6
answers
3k
views
How could Wolfram Research increase Wolfram Language adoption?
Introduction
Hello, this is a more general question than is typically asked here. However, I chose to post it here because this seems to be the most active community for Wolfram Language / Mathematica ...
1
vote
0
answers
98
views
Why is ComplexQ not available? [closed]
For names = Names["System`*"]; executing the following returns 200 hits.
...
-1
votes
1
answer
293
views
Keywords for the Wolfram Language [closed]
For a programming language, certain keywords are reserved; i.e., these tokens can't be used in any other context while programming in that particular language.
Here is a list of C language keywords ...
2
votes
1
answer
157
views
How to think about the answer to Rationalize[-11.5, 1]
In the open source Mathematica implementation called Mathics, an issue was raised where Mathics computes Rationalize[-11.5, 1] as -12 rather than Mathematica which ...
15
votes
1
answer
300
views
Programming language prototyping in Mathematica
Are you aware of any projects using the Wolfram language resp. Mathematica as an environment to explore the design of programming languages - in particular languages with a focus on mathematics (...
8
votes
1
answer
241
views
How to write a simple interpreter / DSL with Wolfram Language?
I am specifically trying to write an interpreter for Mathematica predicates to MongoDB aggregation stages, but I wanted to phrase the question a bit more generically because I can see many times one ...
1
vote
0
answers
50
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
61
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 ...
0
votes
1
answer
125
views
Is this a bug in Total?
The output from the last of these lines doesn't make sense to me
Total[{}, {1}]
Total[{}, {1, 2}]
Total[{{1}, {1, 1}}, {2}]
Total[{}, {2}]
0
0
{1, 2}
0
The 3 ...
21
votes
1
answer
437
views
What's the difference between these 2 associations?
I have 2 associations similar to these simplified ones:
...
0
votes
0
answers
40
views
The command Total sums the entries of a list, is there a comparable command for the product of entries of a list? [duplicate]
I recently just found out about the command Total that gives the sum of a list. Was wondering whether there's an analogue that gives the product of the entries of a list? I see that there is the ...
2
votes
2
answers
349
views
Why are Quantity and Units inconsistent with regular Mathematica behavior?
When I enter this in Wolfram Mathematica V12:
0 Dogs + 5 Cats
Mathematica sensibly returns this:
5 Cats
BUT, if I using the ...
3
votes
0
answers
95
views
Why Does Subsets[...,{n}] not Output a Packed List, Even Though it Doesn't Unpack?
Assume list is packed.
I expect Subsets[] is a structural operation because it depends on the number of elements, not on what ...
24
votes
5
answers
539
views
Is mathematica adequately improving?
A bit of a loaded question, but in your opinion is Wolfram's team making good progress on improving their software?
I've used Mathematica for almost 10 years now, and honestly I'm personally ...
3
votes
0
answers
57
views
what are the principles of good design with Wolfram Language a la Zen of Python? [closed]
The Zen of Python — is a list of 19 general truths for Python design principles.
( https://medium.com/@Pythonidaer/a-brief-analysis-of-the-zen-of-python-2bfd3b76edbf )
1
vote
0
answers
62
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 ...
19
votes
1
answer
214
views
Why does OperatorApplied by default reverse the arguments?
Perhaps this is just one of those Mathematica curiosities, but I'd like to know why by default
OperatorApplied[f][x][y] === f[y,x]
versus the more usual way one ...
22
votes
1
answer
468
views
Series vs Asymptotic in 12.1
The functionality of Series and Asymptotic (new in V12.1) is very similar. In fact, they are both listed in the Asymptotics ...
5
votes
1
answer
73
views
Missing["reason"]—can any reason be used?
Can any string be used as a "reason"? Or is there a specific list of acceptable reasons?
For instance,
Missing["refuse"]
works as a missing?
Is there any ...
4
votes
0
answers
93
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) ...
3
votes
1
answer
80
views
Understanding how List head works
I am trying to understand how Wolfram Language is actually meant to work and here is something that I fail to understand.
Apply[f, expr] replaces the head of expr by f.
So how come I get different ...
1
vote
1
answer
85
views
Variable substitution like usual maths
So... I'm trying to get some simplifications on equations using own defined variables, but the tries I gave didn't result on what I wanted.
The problem: I have 2 variables defined as:
...
6
votes
3
answers
503
views
Is $2x$ documented?
According to the official documentation of Times[], multiplication of $x$ and $y$ is represented as one of
x*y
x×y
...
20
votes
1
answer
703
views
What are the benefits of Entity Classes for Databases?
To me, using the older database functionality is much simpler:
...
6
votes
2
answers
189
views
Separation of statements vs "space mul", formal definition of Mathematica syntax?
In Mathematica, space can often be used to indicate multiply. For example "a b" = "a * b". On the other hand, in a *.m file, we also have multiple statements separated by newlines. How does the ...
3
votes
3
answers
143
views
Why Graph does not recognize chains of vertexes like NetGraph
Cross posted on Wolfram Community.
Perfect logic:
NetGraph[{1, 1, 1}, {1 -> 2 -> 3}]
But this does not make sense:
...
1
vote
0
answers
83
views
Is there packages can help read, analyze or understand MMA codes? [closed]
Sometimes, I think that it's difficult to learn high level codes, or even when looking back on some long lines of codes I myself had written, espectially when lots of pure-functions was used, so I'm ...
6
votes
1
answer
143
views
Making an Association-like interface for HashTable
System`Utilities`HashTable is conceptually a lot like an Association but it has the pretty phenomenal (for Mathematica) property ...
8
votes
0
answers
104
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
...
2
votes
1
answer
187
views
DeleteCases not working as expected
I am trying to reproduce the example of Data Cleaning from here.
I had to make a slight change in input 13 to
...
44
votes
1
answer
2k
views
What's the deal with next generation Wolfram compiler?
Sources:
Old Compiler (Rob Knapp Nov2011)
Computer Science in Mathematica (Abdul Dakkak Dec2014)
Compilation Technology (Tom Wickham-Jones, Abdul Dakkak & Steve Wilson Dec2015)
The Wolfram ...
18
votes
2
answers
1k
views
Why it seems that there is no counterpart function as to multiplication, to `Total` as to addition?
Times and Plus have the same grammar, and so do Product and ...
6
votes
1
answer
106
views
Counterintuitive DownValue precedence
Consider the following definitions for two symbols:
foo[a] /; True := b
foo[a] := a
foo[a]
(* a *)
foo2[a_] /; True := b
foo2[a_] := a
foo2[a]
(* b *)
(The ...
21
votes
4
answers
1k
views
Is expression in Mathematica well defined?
According to Mathematica, everything is an expression. So an atom is also an expression. But in other parts of documentation, they say that an expression is of form ...
2
votes
0
answers
106
views
Areasinus hyperbolicus [closed]
Why is there a function ArcSinh[]?
Shouldn't this be called ArSinh, since it is connected with an area and not with the length (...
7
votes
1
answer
162
views
What is the logiс behind handling alpha-channel by various image-processing functions?
(Cross-posted on Wolfram Community.)
When working on the answer to this question I discovered that starting from Mathematica 10.0 the behavior of such functions as ...
7
votes
1
answer
101
views
A bug and inconsistency in current image arithmetic operations?
Let us start from a single-pixel RGBA image:
i = Image[{{{0., .4, .7, .8}}}, Real, ColorSpace -> "RGB"];
Multiplying by .5 ...
9
votes
0
answers
112
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:
<...
4
votes
0
answers
85
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 ...
4
votes
2
answers
719
views
Module inside Module. Conflict of names in arguments
I have a module which calls number of other smaller helper modules. But those other helper modules are not used by another module, so there is no needed to have them in global context. So I wanted to ...
1
vote
2
answers
134
views
Why can we assign a value to a function that has not been defined yet?
Consider the following snippet,
fib[1] = fib[2] = 1;
fib[n_Integer] := fib[n - 1] + fib[n - 2]
As a newbie, it seems for me, the first line assigns 1 to ...
6
votes
2
answers
252
views
WL terminology: evaluate, call, invoke, use, etc
A WL (Mma) program is a sequence of expressions to be evaluated, which generally involves applying commands and functions to actual arguments. What is the accepted terminology for what I think of as ...
3
votes
1
answer
171
views
Single argument operator form?
I've heard the explanation that functions like StringDrop[] are varargs and so that is why they do not have an operator form.
But when you are only using the ...
5
votes
0
answers
63
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 ...
3
votes
1
answer
152
views
Span starting from the end
I could not find something similar.
Given, e.g.
lst = Range[10]
(* {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} *)
the following gives the reverse of ...