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

Only slightly relevant, but an insight I had recently.

I'd noticed that all programming languages were tree-oriented. You kind of group logic into branches. This sounds obvious, but work with me here.

This reminded me of the early days of yahoo: it was a big directory (a tree structure). Then we had this revolution where everything became about loose data that was tagged. You'd have tagged data, and then search on the tags. This tag structure was better for scale than the tree structures we'd brought with us from personal computing problems.

I thought, "I wonder if you could build a tag-based programming language". And then I realised - that's what prolog is.




Typeclasses were probably a killer feature for Haskell. I remember using functors in OCaml and they were pretty sweet, but typeclasses let you "label" types with functions and values after the fact. Sure, ghc would complain about orphan instances (if you "labelled" the type outside of the file where it was declared), but it was so darn useful.


Interesting view of prolog. If you look at indexing and search as an alternative organizing structure, perhaps Wolfram Alpha would be the language which takes that paradigm. My understanding is that Alpha takes the "search" term and generates multiple programs corresponding to what you're trying to compute.




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

Search: