Hacker News new | past | comments | ask | show | jobs | submit login

Some people have already been mentioning this but I wish to clarify some things.

When Erlang was designed/invented the goal was never to make a new language, the goal was to design a way of building systems with a set of specific characteristics, massive concurrency, fault tolerance, scalability, etc. One part of this was the language, Erlang. But at the same time we were developing the language we were also looking at how you would use the language and its features to build such systems. The language and the system architecture went hand-in-hand with support in erlang for the type of patterns you would need in the system architecture.

These ideas and patterns existed before OTP. So there were Ericsson products built on top of Erlang which used these ideas and patterns before OTP. OTP "just" took these ideas and design patterns and formalised them in a generic, cohesive way. Plus of course a lot of useful libraries.

So we were never really out to design a functional language based on the actor model, we were trying to solve the problem.

(We had actually never heard of the actor model but were told later that Erlang implements it)

I wonder how is going the Lisp Favored Erlang project, http://lfe.io. As someone that enjoys lisp and prolog I find erlang a very nice language. Two feature I find handy: One is the ability to modify code while running, the other is OTP. Joe's thesis, available online, was for me an excellent resource to learn Erlang. I think that a good use case for Erlang is when a lot of actors are needed each one doing a little work with little resources (no big library, regular expression, atlas, or the like used).

Funny, I recall some surprise in the community because Joe was asking some easy question about C for some glue code. It's been 5 years since I touched Erlang, only for learning, but is message passing style and the way you create functions like in prolog (or in Shen or picolisp) is unique and a great virtue. I know that tcl has secure interpreters, I wonder if there is such a think in erlang.

LFE (Lisp Flavoured Erlang) is very much alive with a whole bunch of new stuff now released on the master branch. For example you can now easily write LFE shell scripts and run them, much in them way as with sh. There is also a good webpage, the http://lfe.io/ you mention, and a growing set of libraries which have been done by me.

There is also a mailing list at https://groups.google.com/forum/?hl=en#!forum/lisp-flavoured... and an IRC chat at #erlang-lisp.

P.S. I also have a prolog running on erlang as well.

That about Joe is not strange actually as he has never been a C-programmer. Before coming to the lab he was a fortran programmer.

People in racket are using typep racket, clojure has annotation, in lisp you can declare types and sbcl infers them. Haskell also is fond of types. Perhaps in erlang types are not so important because you try to decompose the problem in small parts and hence is not so important to declare types?

Erlang has Dialyzer, which is an optional type checker and discrepancy analyzer.

He learned prolog at the lab?

We all learned prolog at the lab, well at least those of us who used prolog.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact