53,217 reputation
5148243
bio website mathprogramming-intro.org
location St. Petersburg, Russia
age 37
visits member for 2 years, 3 months
seen 1 hour ago

Ok, an obligatory note: opinions expressed here are mine and not those of my employer.


Nov
1
revised What's the difference between these two ways of specifying dependent packages?
added 146 characters in body
Nov
1
answered What's the difference between these two ways of specifying dependent packages?
Oct
27
comment Return a Part by Reference? (For accessing hierarchical / structured data)
In this answer, I have implemented the rather generic pass-by-reference mechanism which might work for you.
Oct
27
comment What's reliable way of finding declared but undefined functions/symbols in several interrelated packages?
My PackageManipulations` package, available here, has the functionality to track escaping symbols.
Oct
19
comment Cursor Position / Insertion Point
The cursor position is tracked in the Devceloper`CellInformation. Have a look at my implementation of the code highlighter in this answer to see how it can be practically used.
Oct
12
answered Splitting a list by specifying section headers
Oct
12
comment Notebook formatting - easier descriptions for equations and results?
You may want to look at this question and the answers provided there. Basically, what you want seems to be possible by using inline cells. You can use cell options Evaluatable->True and CellEvaluationFunction to tweak the evaluation so that it only evaluates the input code part of your larger cell.
Oct
11
comment Change associativity of the @ operator
@RolfMertig I have been thinking about implementing this for quite some time. Perhaps will move that up on my todo list. We can discuss during the conference.
Oct
11
comment Fighting Less::nord at the root: Any unintended consequences?
It may be more pain to hunt down for consequences of overloading built-ins. They can be pretty unobvious, from huge performance penalties to weird behavior of some completely unrelated functions. At the very least, I would create local environment and use Internal`InheritedBlock to localize the effect of these redefinitions.
Oct
11
comment Change associativity of the @ operator
The general solution to this problem is to write a programmable preprocessor for Mathematica (for some languages like OCaml, such preprocessors exist), which would allow one to define an arbitrary syntax. If such a thing appears and becomes mature and robust, then code using it could be shared, I think. Until then, I tend to agree with you.
Oct
11
comment Change associativity of the @ operator
One problem with this seems to be that anyone else who'd like to use the code with that new operator would have to change their UnicodeCharacters.tr file as well.
Oct
11
answered Change associativity of the @ operator
Oct
11
awarded  Guru
Oct
10
comment Need help with solving non-linear differential equation
@drN I feel your pain. I was in situations like that myself.
Oct
10
comment Need help with solving non-linear differential equation
This equation is easily solved analytically by using y[x] as an independent variable, which reduces it to a first-order equation. By calling y'[x] == f[y], you get y''[x] == 1/2 (d/dy)(f[y]^2),so this becomes a first order in y equation. Once you solve it, you recall what f is and solve for x = x(y), then invert.
Oct
9
awarded  Good Answer
Oct
9
comment Plot columns of table if some condition is fulfilled
Nice answer, +1.
Oct
9
comment Maximum tuple value
@rm-rf I think this is an achievable goal :-)
Oct
9
comment Simpler way to fill date gaps with zero values
@Mr.Wizard I also do not exclude that this is a price to pay for the incredible interactivity and high-level power of Mathematica. But I also hope that in the future at some point one would be able to improve on this part. Actually, this is one of the things which interest me the most.
Oct
9
comment Simpler way to fill date gaps with zero values
@Mr.Wizard The crux of the matter is to be able to compile the Mathematica's pattern matcher / main evaluator. Now, that is a real problem. Some of the things which contribute to the complexity here are: 1. patterns can be quite complex, including patterns based on things like __ and friends - basically these encode algorithms, not just syntax or complex types 2. M is untyped 3. The evaluator is complex, having such things as attributes, various kinds of rules, non-standard evaluation, and infinite evaluation. So, I certainly agree that at the time, packed arrays were the best way out.