To read and learn ML programming to get a grasp on functional programming.

Written by a well-known computer science education and researcher. No previous knowledge of ML or functional programming is assumed. This is the first book that offers BOTH a highly accessible, step-by-step introductory tutorial on ML programming and a complete reference to, and explanation of, advanced features. The author uses a wide variety of digestible program examples to bring the student along at a reasonable pace. More sophisticated programs and advanced concept topics balance out a book that is usable in a number of courses and settings for either self-study or class discussion.

To understand the book - Concrete Semantics, we got to revise the lessons on Logical and set theoretic notations.

Theorem Proving <= Isabelle <= functional programming <= concrete semantics <= logical and set theoretic notations

Here is a good reference :-
In order to do theorem proving on Isabelle, it appears that we have to understand what Functional Programming is. Found a book that explains precisely that :-

A word of warning before you proceed: theorem proving can be addictive!

The book Concrete Semantics introduces semantics of programming languages through the medium of a proof assistant. The first part of the book is an introduction to the proof assistant Isabelle. The second part is an introduction to semantics and its applications and is based on a simple imperative programming language. It covers the following topics: operational semantics, compiler correctness, (security) type systems, program analyses, denotational semantics, Hoare logic and abstract interpretation. The book contains over 120 exercises.

Isabelle is a generic proof assistant. It allows mathematical formulas to be expressed in a formal language and provides tools for proving those formulas in a logical calculus. The main application is the formalization of mathematical proofs and in particular formal verification, which includes proving the correctness of computer hardware or software and proving properties of computer languages and protocols.
Here are some reasons why we, as android developers, shouldn't use an android phone as our main personal phone.

I know this is hard. I know we love android. I know that we want to explore and feel that each and every bit of information that gets processed on an android phone processor. I know that we are very much passionate about android that we can write tons of blogs about why iPhone is inferior. But..But and a but , i would strongly recommend using another phone as our main personal phone.

As developers, we live with android for more than 8 hours a day for 5 days a week. That is feeding our brain with android stimulus for more than 40 hours every week. Using a personal android phone adds even more android to our brain. Thus brain becomes completely android. This might all seem fascinating. But is it!

For a second, lets try to visualize what all this does to our brains. Our brain is getting used to android more and more. The more we use android the more natural its becomes. But at the same time, the finite details are being put into background. The same mechanism that puts all insignificant things to background, kicks in. This is that mechanism which hides the trees, buildings or street lamp as we cross it daily and that mechanism that makes us not focus on the shape of leaf or its colour.

Our brain sees them daily and finds that they are just background and treats them as insignificant to our existence.

Now ( with a big N and W with an O in center ), Now, that is what I call Dangerous. That is the last thing that we want our brain to do. If our brain sees android frequently and starts treating android UI or its effects or all those minor important things as insignificant, how could we possibly do our job properly!
Our existence and performance as an android developer depends on those minor details that we have to be very conscious of.

This is the main reason we have different people testing the apps in the first place. To get a different perspective on things.

Now when we use an iphone or a windows phone or any other phone other than android, we open new avenues for our brain. Our brain experience new sensations and feelings that it has never experienced before. It gets excited. It sees new things and experiences new effects. Now this keeps our brain fresh and also saves the brain from seeing android always. This also helps us in knowing the best of both worlds. There are lots of good points about iphone and windows phone that we can learn and implement on android.

So android for work and iPhone/Windows phone as a personal phone will be a good balance to the equation. What do you think?





Do you own an android phone and is very much passionate about it.

Do you love to try out apps. No previous experience required. Anybody, everybody, can do it.

Just try the app on your phone, take some screenshots and send me a feedback about how the app works on your phone.

Earn money testing apps.

Please feel free to contact me for any queries.

To Register :-