10,692 reputation
23862
bio website
location
age
visits member for 3 years, 5 months
seen 36 mins ago

C# developer, pretty standard stuff. SOLID and other such principles drive everything I do for the most part. Other than that, polyglot lover of functional programming in Haskell, F#, Erlang, and javascript. Player of each, master of none.

  • Monads are like buckets, that's what they say anyway.
  • Monoids are easy! I guess?
  • Comonads are just objects... however that works O_o
  • Cartography has nothing to do with these things.

Cheers.


1d
comment Optimized design approach for a large database quick-referencing and lookup task bar tool
and please remove the question about design-pattern, you misunderstand what design-patterns are by thinking they have merit in the large scale like that. Design patterns can be used like classes-> They're low level technical tools for small parts of your system. You don't make one class implement an entire system and you don't use one design pattern to span it either. You also don't need design patterns at all and should avoid thinking they're solutions. They're like screwdrivers, tools to accomplish small specific tasks.
1d
comment Optimized design approach for a large database quick-referencing and lookup task bar tool
The questions at the end are almost specific enough... perhaps cut your question into 2 separate questions you can post, and the specific Qs at the end need a little more specificity - "What else would I need to consider?" Is just a polling question: "List all the things I should think about!" this can't be answered in a single well formed answer.
Jan
26
comment Garbage collection & memory leaks on hash tables
It's not technically a leak of memory because it's still being managed correctly and never fell through a crack to get somewhere it didn't belong. It's semantically a leak of memory because it's memory space being wasted on values you never plan to look up again. If you never remove entries from a dictionary regardless of them being totally unnecessary, that memory will never be reclaimed or used-> Managed and maintained but wasted. Semantically a leak, just not one due to technical failures.
Jan
26
comment Does functional programming increase the 'representational gap' between problems and solutions?
@Fuhrmanator "I'm not seeing how this is done in FP" So you're complaining something you don't understand doesn't make sense; go learn it, understand it thoroughly, and then it will make sense. Maybe after it makes sense you'll decide it is crap and you don't need others to prove it to you, though other people such as above do understand it and haven't come to that conclusion. You appear to have brought a knife to a gun fight, and now you're telling everybody that guns are useless because they aren't sharp.
Jan
26
comment Does functional programming increase the 'representational gap' between problems and solutions?
@itsbruce Barbie Horse Adventures is a serious mathematical simulation of the highest caliber, it's pidgeon holing FP into overly-complex numerical projections like matrices describing the physical shimmering of Barbie's hair over a discrete period in a variety of possible real world environments that convinces people to completely dismiss it as irrelevant to their every-day business problem coding.
Jan
26
comment Is partial application of functions the corresponding technique for state saving objects?
I'm with @Doval, there might be a good question in there, but I'm not picking up on it... edit to clarify exactly what you're wondering please? With details
Jan
25
comment Managing types and conversions in a compiler
It sounds like your problem is focussed on cycle finding, there's algorithms for doing just that. Modeling cycles in a graph isn't that hard, you just need to find them before your type checker goes into an infinite loop. Perhaps you should edit your question to specify that you want advice on identifying and modelling a cyclical graph
Jan
24
comment Managing types and conversions in a compiler
not arbitrarily recursive, have a look at Algorithm W here for how parameterized types can be verified. Algorithm W falls over a bit with OO subtypal systems but it should still give you some good insights on how to proof correctness with parametric polymorphism
Jan
24
comment Managing types and conversions in a compiler
rather, not impossible, but very difficult and confusing. Easier implementing a compiler if you already know the rules of your type system and have ensured they're self-consistent.
Jan
24
comment Managing types and conversions in a compiler
Type systems can be very complex, before anything else you need to define the rules of your type system-> Do you allow covariance or contravariance on your parameterized types? Do you have subtypal, prototypal, contract-only, and/or inferrable(duck-type) polymorphism? Do you have contracts? How do you define the type of a function? You need to detail all of these things before implementation so that you can manually walk all the implications yourself or plug them into a proof solver to verify correctness/consistency. Incorrectness in your type system will make writing the compiler impossible.
Jan
13
comment Event Storming: How to phrase a command initiated by an actor, and where to put it software-wise
you should really give some more detail here - you're using a bunch of terms in ways that are totally different than people use them typically just from reading this (actor, visitor, command, these have common well known definitions none of which make sense the way you're using the words)
Jan
12
comment Does this Haskell pattern have a name?
I think the main thing you're poking at here is unfold. That's the most general concept of "seed function repeated on it's own outputs" which is twisted into various more specific things than unfold, but most of those can be built from unfold - for instance by attaching a bind operation to the seed function or other various things - but unfold is the most general concept of this (I believe?) or Anamorphism in category theory
Jan
12
comment Which Design Pattern Is Best Suited?
+1 for fit the solution to the problem rather than looking for solutions you can fit your problem to
Jan
9
revised Is obtrusive javascript required to support a feature of angular.js?
clarifying obtrusive vs unobtrusive
Jan
8
comment Will a profound knowledge of C++ help you in learning other languages faster/easier?
C++ demands so much learning that's C++ implementation specific but will never be used outside of C++ because of the endless quirks of it, it's libraries, and various systems. In my experience everyone who writes C++ basically agrees all C++ is poorly written and full of quirks and oddities that are mostly C++ specific. Learning your way around that minefield won't make for anything useful in other languages when most languages lack most the problems C++ has.
Jan
7
comment Why would a program require a specific minimum number of CPU cores?
race conditions really haven't much to do with core count, -1... a single core machine with multiple virtual threads can have race conditions totally dependent on the runtime's time slicing technique, or a many core system could avoid all race conditions dependent on how strict it is with membar operations...
Jan
7
comment Why would a program require a specific minimum number of CPU cores?
Yeah there are two parts to answering this question: CPU affinity allows one to code something that would make this a technical requirement in Windows, the alternative answer is realtime systems can very definitely require such things. +1 for being the only person to mention CPU affinity which is really the most likely culprit for what is being asked here.
Dec
30
comment Declaring lambdas in Java8
Answers aren't supposed to correct your question, they're supposed to answer it. In your case you may need to explain your question better or take a step back and ask a more basic question to get yourself directed towards a better question. I'm not sure I understand your question myself...
Dec
19
awarded  Enlightened
Dec
3
comment Extend, wrap, or both to add generics to a class that should have had them?
@MikePartridge yeah I get that, but it's not well described how that is a problem. I suspect that may be solvable in a different fashion than described here