Attic's comments

Attic | 11 years ago | on: Elm – functional reactive language for interactive applications

Signal can be closely compared to the IO Monad in Haskell. The point of the IO Monad is to have a clear separation of pure and impure values. When a function returns a non IO value (Or Signal) it is pure, this means that no matter how many times you run that particular function with the same arguments, you will always get the same result back. Of course you can still achieve this through careful programming but people make mistakes.

So why lift? If we receive a value through IO (e.g. Mouse.x) we can't determine the value beforehand, thus it is impure. Let's say we create a function to increase Mouse.x by a certain number, it's signature would be this: Signal a -> a -> Signal a. If a function takes a Signal as argument it must return a Signal as well. So now we're writing impure functions thus losing a lot of safety. Instead we can write pure functions where we don't have to worry about outside input and still apply impure value to it through lift. I'm not writing Haskell professionally, however I try to apply this technique in my daily work with other languages. Create as many modular functions that don't interact with IO as possible, and try to limit yourself of retrieving IO values in too many different places in your code.

I personally love IO Monad / Signal, they taught me how to write better code in other languages. It might seems like a hassle at first but if you get into it you'll see their charm :)

Attic | 11 years ago | on: Emacs and Vim

I used Vim before switching to Emacs, and also used CtrlP. I've also had the pain of not being able to find a good replacement for CtrlP until I discovered Helm and more specific Helm-ls-git https://github.com/emacs-helm/helm-ls-git . Now I have the opposite problem that Vim doesn't have anything as good as the collection of Helm plugins that I use.

Attic | 12 years ago | on: WhatsApp on your computer: Pidgin plugin

There actually is a way, you can use Skype4Pidgin. However this requires you to have skype running, but you are able to chat with your skype contacts through Pidgin. I do have to note that I've used this with Finch (also uses the purple library) and I've had one incident that I was talking to one person and one of my messages was mysteriously sent to a group chat instead of that one person. I've only had that happen to me once and I've not had that with Pidgin.

Here's the link: http://code.google.com/p/skype4pidgin/

Attic | 13 years ago | on: Haskell Screencast for beginners

I recently started a new screencast targeted at beginner Haskellers. Feedback is very much appreciated and I hope this screencast will help people get started with Haskell.

If you spot any errors or have suggestions please post them, thank you very much!

page 1