[Haskell-cafe] Is Curry alive?
Dan Doel
dan.doel at gmail.com
Thu Nov 4 18:06:40 EDT 2010
On Thursday 04 November 2010 5:13:23 pm Gregory Crosswhite wrote:
> On 11/02/2010 08:37 PM, wren ng thornton wrote:
> > Indeed. If your program requires unification or constraint solving
> > then logic programming or constraint programming[1] is the way to go.
>
> Would you be kind enough to give me or point me towards a good example
> of such a case? I've been trying to understand what the point of logic
> languages is for a while now, but whenever I look at them I have trouble
> seeing what exactly it is they offer that solves some problems
> better/more easily than functional languages.
Implementing type inference can be very easy in a logic language, because most
of the work in a non-logic language is implementing unification:
http://muaddibspace.blogspot.com/2008/01/type-inference-for-simply-typed-
lambda.html
3 lines of Prolog to infer types for the simply typed lambda calculus with
meta-variables (not counting the operator fixity declarations). I've written
something similar in Haskell, and it's more like 80 lines of real code, a lot
of which is implementing things that are simply part of Prolog's computation
model.
-- Dan
More information about the Haskell-Cafe
mailing list