Andrew Reece
02/05/2019, 9:17 PMKartik Agaram
Edward de Jong / Beads Project
02/06/2019, 6:14 AMwolkenmachine
02/06/2019, 10:06 AMduncanawoods
02/06/2019, 11:35 AMsolver
from here on because that is what we are really talking about.
I don't believe you can have a solver that can analytically determine the best method to tackle a problem because it suffers from multiple types of halting-problem-esq regresses e.g..
- the "methods to determine the method" which can also be pathological
- the solver would need to implement every possible execution strategy
The work-around tends to be ways to hint to your solver about it's approach to avoid pathology but I think it can only ever be a partial workaround. The general case requires a "complete hint" i.e. the explicit list of instructions to perform.duncanawoods
02/06/2019, 11:37 AMmaxd
02/06/2019, 1:54 PMmaxd
02/06/2019, 1:57 PMduncanawoods
02/06/2019, 2:38 PMstrongly-typed languages (even those that are commonly perceived as "imperative"), we're using declarative logic programming on the level of typesI like that. I don't think it redeems Prolog as a general purpose programming language. It says something different: declarativeness works for constrained problems. Given various type-systems are turing-complete I guess the problems are only really constrained by practice not power.
maxd
02/06/2019, 3:27 PMmaxd
02/06/2019, 3:29 PM(++) : Vect n a -> Vect m a -> Vect (n + m) a
(++) Nil ys = ys
(++) (x :: xs) ys = x :: xs ++ ys
Tim Swast
02/08/2019, 5:20 AM