[dba-VS] C#, monads - must read - don't get mad with them while reading :)

Gustav Brock gustav at cactus.dk
Fri Jul 10 11:23:16 CDT 2015

Hi Shamil

Ah, I misunderstood, I have never worked with a macro assembler. The closest I ever got to a mainframe was at the technical university where we programmed in Algol (on punch cards). It must have been the IBM 360 as I recall the 370 to be introduced later during summer 1970 (I attended the International Executive Briefing at the IBM headquarters at Lidingö just outside Stockholm as a conference engineer handling the wireless interpretation equipment).

Sounds like an interesting side project of yours. I'll see if I can work my way through Eric Lipperts tutorial to get some better understanding. As I read somewhere: If you don't know both the basics and the perspective, you won't see where you could apply it. For example, when so many mock around with SqlCommand, I can only guess it's because they don't know about neither DataTableAdapters nor the Entity Framework.


-----Oprindelig meddelelse-----
Fra: dba-VS [mailto:dba-vs-bounces at databaseadvisors.com] På vegne af Salakhetdinov Shamil
Sendt: 9. juli 2015 23:39
Til: Development in Visual Studio
Emne: Re: [dba-VS] C#, monads - must read - don't get mad with them while reading :)

 Hi Gustav --

I meant *macro* assembler - it's an assembler with a very power preprocessor, especially IBM 360/370 macro assembler: a long ago one of the things I managed to write using this macro assembler was  a macro "mimicking" PL/I formatted output/print command/statement something like C#'s String.format(...) / Console.Writeline (...) - all in one one macro - while it's preprocessed into assembly language machine  commands calls/subroutine calls it can do very high level parsing of its operands/parameters - that should have been a second order monad I guess :) 

>  Monad should be though of for a more complicated scenarios
They mentioned simple

forach (....)


for (int i = 0; ...)

which could be also refactored/streamlined using monads: I'm reading "Monads, part three" ( http://ericlippert.com/2013/02/28/monads-part-three/ ) and I'm planning to continue reading this blogposts series - hope I will have something more to tell on the subject.

I have also a (currently) by-side but challenging project where I have already used LINQ expressions and predicates (https://www.simple-talk.com/dotnet/.net-framework/giving-clarity-to-linq-queries-by-extending-expressions/) and where LINQ expression trees will be also probably used. I cannot say I understand all these techniques in details but at least I have found how to apply them to a real life project one of my customers having been planned to implement for ten+ years for now - and nowadays their "dreams" should come true in a couple of months - thanks to LINQ. LINQ predicates and expression trees - and monads also I guess: without all these modern programming techniques the project would require a lot of custom programming if could have been done at all...

Thank you.

-- Shamil 

More information about the dba-VS mailing list