53,082 reputation
5146241
bio website mathprogramming-intro.org
location St. Petersburg, Russia
age 37
visits member for 2 years, 3 months
seen 2 hours ago

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


Nov
1
comment What's the difference between these two ways of specifying dependent packages?
@magma He has been (and continues to be) involved in the parallel programming functionality of Mathematica.
Nov
1
comment What's the difference between these two ways of specifying dependent packages?
@magma Yes I agree. I had a chance to chat with Roman during this conference, and mentioned this. My impression was that he wouldn't mind doing that in principle, but is busy like anyone else is these days.
Nov
1
comment What's the difference between these two ways of specifying dependent packages?
@rcollyer I think this is a good thing (leaky encapsulation), on a large scale at least. The reason I think so is that the other side of it is the level of control over the encapsulation given to the end user. For good programmers, more control is always good, and bad programmers will write bad code in any language. This is IMO different from the leaks of lexical scoping (small scale encapsulation), which are more worrisome.
Nov
1
awarded  Nice Answer
Nov
1
comment What's the difference between these two ways of specifying dependent packages?
@AndrewMoylan Thanks, Andrew. The name is not mine though, it was used by Roman in his book.
Nov
1
comment What's the difference between these two ways of specifying dependent packages?
@rcollyer Yes, could be. One can surely imitate the action of BeginPackage and EndPackage by the top-level code, that's what I think is really important - we are given a great deal of control over encapsulation, which is what I think is a right design.
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.