The Norvig code is smarter - it always tries to fill the square with the least options. The Whitney code is dumb - it just recursively tries everything that's not blocked by peers in order. Both backtrack on failure.
The codes are equally general - both work off a data driven peer list (peers, p). The K code runs much faster for most boards, but there are boards in which the Norvig heuristic makes a x100 difference.
Personally, I prefer the K version, although I'm aware I am in the minority.
You are probably only in the minority because K, J, APL and what have you look like perl turned up to 11 for those of us who are unfamiliar with the syntax.
Though if you consider that these are all vector programming languages, they are really made for this kind of thing.
Arthur's languages are awesome, no doubt about it. But the fact remains that they are proprietary and prohibitively so. As much as you romanticize k/q, I bet you can't even afford to run it on your home computer, let alone do any real work on it.
K4/Q 32-bit is free for noncommercial use http://kx.com/trialsoftware.php and has been from the day it became generally available. (And before that, k2/k3/ksql were similarly available)
A free / open source K3 interpreter is being developed in https://github.com/kevinlawler/kona , and while incomplete it is already quite capable.
Oh, and Kx are (or at least were) quite reasonable with commercial use licenses for businesses that can't yet afford them.
> Arthur's languages are awesome, no doubt about it.
Last time I asked (3 or 4 years ago), the smallest installation was ~$100k, and it was a multi-core installation.
IIRC in 2006 they mentioned that they were willing to entertain other financing models (such as equity) if it makes sense, although I have no idea how common that was, or if they are still considering it.
Regardless, the claim that "you can't afford to run it on your home computer" is preposterous - k itself is free for noncommercial use, and kona and J are free, both libre and gratis.
The Norvig code is smarter - it always tries to fill the square with the least options. The Whitney code is dumb - it just recursively tries everything that's not blocked by peers in order. Both backtrack on failure.
The codes are equally general - both work off a data driven peer list (peers, p). The K code runs much faster for most boards, but there are boards in which the Norvig heuristic makes a x100 difference.
Personally, I prefer the K version, although I'm aware I am in the minority.