Showing posts with label scheme. Show all posts
Showing posts with label scheme. Show all posts

Saturday, April 9, 2011

Amb operator

It was three years ago when I first heard about amb operator. And it was schema language that implemented it. Somehow I haven't use it much, and I did not understand its power until I heard about Spec Sharp, PEX, and Z3. Since then I was looking for some tools, programming patterns, ideas to check for correctness of some code/theory, or mechanism to allowed me to check when or if the code will succeed. Today I read about amb implementation in JavaScript, a nice article, and a good reference.

Friday, March 18, 2011

Recursive Functions by JMC

I've just read an excellent paper by John McCarthy. I believe I read it before, but it was so long ago, that I consider it to be read in a different life. When I look at the paper now I am amazed with the style of writing. John creates entire computational notation system, explaining it, giving examples and discussing why is it a good thing to do it his way. The topic/task is not trivial or simple, but John is able to do it in a way that not only allowed an average person to read it, but also paper is full of energy - it motivates for further thoughts and further readings. It is a truly a remarkable work.

Saturday, March 5, 2011

My Land of Lisp just arrived

I used to program in a Scheme a lot, I preferred it over Lisp couse it was better documented, got good libraries to handle OpenGL, GLUT, and basic components for building a user interface. I am aware of a major concepts of both languages - similarities, and differences, but somehow I've always preferred Scheme. Even when I knew that there is a great macro library, or a object support library, for common lisp that I would like to use in my project I always sticked to a scheme. Few weeks ago I was surprised to fined out that there is not a single Lisp book on my bookshelf. So I made a small research about any book that would add something knew to my knowledge on a programming in a 'Lisp style'. Have a look at this web page. It is different, interesting, and you can't take it too serious but there are plenty of good parts underneath it. It makes you look at the ideas of the language from a different perspective, even when I am aware of all the concepts that are inside this book, after reading the few N*10 pages I was surprised to rediscover some features that I rearlly used (as every programmer I tend to stick to parts of a language that I enjoy). This book rocks, and have a look at this video:

Sunday, June 13, 2010

Iron stuff




.NET people tend to tell all those stories about languages that are ported to the .NET framework. Like Iron Python, Iron Ruby... Last week I examined how it looks like for Haskell and Scheme. In the Channel9 movies I heard few times that there is something like Iron Scheme and Iron Haskell, I wanted to compare VS against Emacs editor in terms of fast coding. I found out that there is no such thing as Iron Haskell, but there is a visual Haskell, and it only works for VS2003 and VS2005. It is just an interface via COM, between VS and GHC. This is also the reason why it won't work in VS2008 and VS2010. I've been thinking, what's the point of mentioning that there is a Haskell version for VS if not many people use VS2005 or VS2003 anymore. It is like saying that POSIX compatible application, written on Linux system will compile under MS Windows. Sure it will compile, but only on a Windows platform that was POSIX compliant (has a POSIX personality), and the last version that did that was Windows NT:) In other words telling me that there is an Implementation of Haskell running under VS and on top of .NET is like telling me to get a version of a Windows NT, and still not telling the truth, cause as far as I can see this Haskell does not behave as C# or VB.NET in terms of compilation to IL and running in a .NET framework.

Iron Scheme is a different story. It can be executed in VS2008, too bad that I want to use VS2010. It doesn't give me a power of a .NET framework and ability to use a scheme language. For me writing an application in this hybrid is like a functional-imperative disco polo kind of programming. A good subject for a separate post.