Science says that "domination of dualistic thinking in AI debates is worrying".
And it is boring, too. I hereby refuse to be either optimistic or pessimistic about AI.
Instead I have combined the two views, and expressed them in a little poem.
It's pessimistic, in that well yes AI must replace humans in the end.
But optimistic, in that it is for the greater good.
The result I call "AI absolutism".
Read carefully and remember: the poem is a joke.
Today I'd like to introduce you to a programming language I developed called ρs. This language is the result of my master's thesis, and it's based on rewriting semantics.
The language is rather academic, but I use it a lot myself in practice (as a calculator replacement).
Please take a look and send comments!
Haskell is one of the most influential languages and among the most discussed ones.
This post is dedicated to the history, and the funny bits, of Haskell.
We'll uncover some lesser-known facts along the way,
and may even debunk some common misconceptions about the language.
Not all functions are equal.
Some simple, others not, some are safe, not all, some have side effects, and some don't.
There is, however, a class of functions that are above all others,
a higher cast, respected by compilers and language designers.
Think of the most priviledged functions in Pascal,
those that are blessed with the ability to receive variable number of arguments.
Or in case of C, of these only functions to get their arguments dependently-typed-checked.
Read along as I will try to convince you, the printf supremacy is real.
Conditional branching... The most fundamental construct in all of programming, the most common of them, the simplest of control flows, the first one to learn, and the basis of all machine learning.
Its importance is hard to overestimate.
But have you ever thought about what really happens when a language interpreter encounters an if statement?
Everyone these days seems to be excited about static type systems.
Well, I don't like that. Why did we suddenly forgot about the undeniable advantage of dynamic types - the mighty expressiveness that comes from the knowledge of runtime itself!
Let me demonstrate.
I like Kernel. It is such a simple language, yet so beautiful and powerful.
It is a lisp, you know, but more in the schemey-way.
So there is homoiconicity and hygienic macros and continuations.
All baked into the language.
But unlike other lisps, Kernel has it all first-class!