56,497 reputation
5159252
bio website mathprogramming-intro.org
location St. Petersburg, Russia
age 37
visits member for 2 years, 6 months
seen 48 mins ago

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


Jul
20
comment Why is AllTrue much slower than VectorQ?
@Mr.Wizard Alas, no. There was some other discussion, where I was mentioning the speed of VectorQ[..., NumericQ] in my answer. I seem to remember that Szabolcs also posted an answer there, also mentioning this.
Jul
19
comment Why is AllTrue much slower than VectorQ?
Re: post vs delete - let's see what others think. Actually, this issue has been already discussed in another place here on SE (as a sub-topic of a wider discussion), but I can't find it now.
Jul
19
comment Why is AllTrue much slower than VectorQ?
It is clear both from the absolute timings, and the complexity, that VectorQ[..., IntegerQ] has been specially overloaded on packed arrays to be constant time. In other words, the top-level evaluator doesn't actually evaluate IntegerQ on every element in a list here. But AllTrue has no choice, being more general function, and has a linear complexity, as it should.
Jul
19
comment Normal // Association // Dataset workaround for some user query operators
@Rojo Good point.
Jul
17
comment Defining a sequence slot programmatically
@TeakeNutma AFAIK its not. LetL also supports shared local variables in definitions, as well as macro-expands at definition time, which makes it zero overhead w.r.t. manually-written nested With in function definitions (these are related). Again AFAIK, Where does not have this functionality.
Jul
17
comment How to make use of Associations?
@YiWang All right, I will add some examples. It will have to wait a little, though, perhaps a day or two.
Jul
17
awarded  Guru
Jul
16
comment Implement settable properties
@Szabolcs This is basically the same idea as what I used here (although not using VG). Didn't suggest it here precisely because of the hanging UpValues problem. +1.
Jul
15
comment Combining key pivoting and lookup operators in Dataset
But what't wrong with your last method (last line)? Why are you not satisfied by it?
Jul
15
comment Normal // Association // Dataset workaround for some user query operators
@alancalvitti My advice to you is to work out this example without Dataset, on the level of pure associations and lists, to see what's going on. This is certainly a much better way to see what's happening, than trial and error with various commands.
Jul
15
comment Normal // Association // Dataset workaround for some user query operators
@alancalvitti Of course. I meant the structure without the Delete part: data[GroupBy[Key@"key1"]]. When we apply First, it removes the list around the value, and then Delete removes they key. Just call Normal on intermediate results and play with it to see what's going on.
Jul
15
comment Normal // Association // Dataset workaround for some user query operators
@alancalvitti Basically, without First, you get a list of all results with this key, as a value for the key in a new assoc. First and Last give the same result only when the keys are unique, because then all groups will be lists with a single element.
Jul
14
comment Normal // Association // Dataset workaround for some user query operators
@Rojo Thanks. Your method is also nice. Shows once again that Dataset is hackable, which is good.
Jul
14
answered Normal // Association // Dataset workaround for some user query operators
Jul
14
comment Using PatternSequence on its own in ReplaceAll?
My impression so far has been that the main advantage of PatternSequenceis that now one can name sequences of patterns for restructuring. This is an important feature, but is not the same as what you are looking for.
Jul
14
comment How do you set attributes on SubValues?
@Mr.Wizard Sorry, I don't. Will look into that later.
Jul
14
comment How to prevent notebook from moving/reshuffling code around while one is typing?
Ok, sorry, I didn't notice that you mentioned that.
Jul
14
comment How do you set attributes on SubValues?
@Mr.Wizard Interesting. But I can't look into it now alas, am off for today. Perhaps you could edit your suggestion in? I will try not to forget to have a look at it tomorrow.
Jul
13
comment How to make use of Associations?
@TedErsek Perhaps I should later add some simple examples to this post, to illustrate those things I mention (immutability, etc). The problem is that the post is already pretty long.
Jul
13
comment How to make use of Associations?
@TedErsek I don't have any formal CS training either (I wish I had though, that would've been very useful for me now). My background has been Theoretical Physics, I switched to programming relatively recently. But the things you mentioned are not as bad or hard as they sound. Anyone with the familiarity of a few languages, like say C, Java and Mathematica, would be able to learn about these things relatively quickly.