|requires observer != null
|ensures result != null
public IDisposable Subscribe(IObserver<R> observer)
var generateState = new GenerateState()
condition = condition,
current = initial,
iterate = iterate,
observer = observer,
resultSelector = resultSelector,
return scheduler.Schedule(generateState, (state, self) =>
var result = state.resultSelector(state.current);
state.current = state.iterate(state.current);
This is what I came up with. It runs in AppDomainScheduler named scheduler. I want to build one of these schedulers to send remote entity framework queries around to different machines using WCF underneath. Is this possible? Any good getting started guides?
Also I run code contracts static checker and it complains that I might return null. I tried a few things like returning Disposable.Empty if IDisposable returned from Schedule function is null but that failed also. What is the correct behavior here to satisfy the contract. Thanks so much.
Are there efforts to auto optimize for different memory setups, like computer clusters, harddrives, local memeory, etc... kinda a distanct to information optimization based on a verified spec? A language call Sequoia++ is similar to this. http://sequoia.stanford.edu/
Boy what a dream it would be to work with those guys! Hey amazing work and I can testify it's simply pure joy to program in Rx\Linq all the way. My company is making a facebook game in the cloud using silverlight RIA, SQL Azure, and Rx\Px, plus a lot more
beta stuff and I can honestly say in no way does it feel like boring n-tier development. I’ve been an Enterprise developer for over 11 years now and I’ve earned my stripes developing heaving multithreaded\concurrent business apps and I’ll tell you what
it’s not fun!! Now I’m using every bit of that knowledge but working at 10 times the rate using these latest technologies and loving every second. Instead of writing hundreds of lines of code and rigorously testing every possible scenario and timing, I can
sit back live in my head for a little think about the problem from a much higher level, at its essence then bang out four of five lines of code, do much simpler testing and done. It’s really quite amazing; it feels like driving a V8 but with the efficiency
of an electric. Look I know I’m being a mega fanboy right now but for me the results speak for themselves, I can simply code at a speed not achievable to me by any other means. I cannot go back I am addicted. I’m also consulting to an insurance company
and slipping in Linq everywhere allowed. I’ve been able to accomplish tasks in hours where it would have taken days or even weeks before with the added bonus of much more stable and reusable code. Maybe it’s because I’m anchored in DBA roots but coding this
way just seems so elegant and simple. I strongly recommend anyone who has not at least downloaded the beta and tried it out to give it a go… you’re in for a pleasant surprise. Again Erik, Charles, and everyone else on the team, a big THANK YOU!!
I agree, I would love to see more monad content and how it relates to F# or C# which I understand better than haskell right now because I use them in my day to day job. Although, I am making great efforts to understand haskell better because it is
such a beautiful language.
@bigbad I really hate that you did not like the content in this video but you must agree it's wonderful that Erik and Brain would share their knowledge with us for free. I loved the content and I think this is the knowledge that will change the world.
(Well at least the software development world) I just can't believe that most of these concepts have been around for decades if not centuries and we are just now starting to harness the power of things such as function synthesis in widely used languages.
Again, thank you so much Erik, Brian, and Charles.
Simply Amazing once again. Give you two weeks like this and you'd have a theory of everything Anyways looking forward to part 3 of 2 to this series. Thanks again Erik, Brian and Charles; I don't even watch regular TV anymore because of you guys.