May 2015 Links, Part 2

Prolog

I’ve revived my interest in prolog, because no matter how hard I look, I can’t find anything more pleasant for programming work. There are warts, of course, and speed concerns at times, but it really is a unique island in a sea or samey computer languages.

  • Lazy lists (streams) In prolog – I thought I’d have to build these into a new dialect, but the suggestions in this post make it seem like standard implementations have lazy lists covered.

RPGs

On and off, I find myself reading about RPGs… here are the links I enjoyed in the second half of the month:

WordStar

One of the first big DOS-era word processors. It lost its #1 spot to WordPerfect, who then lost it to MS Word. It still has a few rabid fans left.

Conlangs

A paradoxical movement by people who want everyone to speak the same language, as long as it’s their own pet language. NIH Syndrome isn’t only for programmers!

Misc Programming Lanugages

  • The Story of Squeak, a practical Smalltalk written in itself. I always love articles from people who were there.
  • Why I’m Betting On Julia, a fast language that works, and supports “Cowboy Coding.”
  • A comment on LtU caught my eye… a wish list for languages to rise in popularity in the near future:

    Factor. I seriously doubt this will come to pass, but in any case I am impressed by how fast the implementation has evolved. Factor already has an interactive top-level, machine code generating optimizing compiler for three major processor families (x86, PowerPC, ARM), a web server, GUI package, IDE, etc. Look at how long it took Python to hit the same point…well, Python still doesn’t have a standard machine code compiler and still uses Tk for the GUI.

    Erlang 2. There is no such language yet, but I keep expecting it. Take the core of Erlang and fix all the sticking points and bits of ugliness: switch to indentation-based syntax instead of all the issues with commas and semicolons as separators; add destructive local variables; add local-to-processes updateable arrays and hashes; allow user-defined guards; make modules be first-class.

Advertisements