
Hi Jeff Answered on Stackoverflow. Good question. The tutorial should be clear about using the preprocessor. Sorry. Sergio On Sun, 18 Nov 2018, at 19:50, Jeffrey Brown <jeffbrown.the@gmail.com> wrote:
I posted this question on Stackoverflow[1] yesterday and haven't received any answers yet. I've duplicated the question below, but an answer posted to StackOverflow would be more useful to future students, if you're so inclined.
Thanks!
---
In section 3.5.6 of the Curry tutorial (pdf) <https://www.informatik.uni-kiel.de/~curry/tutorial/tutorial.pdf>, we are advised to use default rules to "regain control after a failed search". The following example is given. (For clarity I have added a type signature and curried the input.)
lookup :: k -> [(k,v)] -> Maybe v lookup key (_++[(key,value)]++_ ) = Just value lookup’default _ _ = Nothing
I can't get that to compile unless I replace the ’ with a '. Once I do, it behaves like this:
test> test.lookup 1 [(2,3)] *** No value found!
Question 1: What is the default declaration for?
Why would you need to specify that a particular clause is the default one? Won't it be arrived at one way or another, once the others fail? Question 2: How is it written? Should it be written at all?
If instead I drop the string 'default:
lookup :: k -> [(k,v)] -> Maybe v lookup key (_++[(key,value)]++_ ) = Just value lookup _ _ = Nothing
it behaves as intended:
test> test.lookup 1 [(2,3)] Nothing test>
Has the 'default syntax changed since the tutorial was written? Has it been removed altogether? [1] https://stackoverflow.com/questions/53357361/specifying-default-rules-in-the...
-- Jeff Brown | Jeffrey Benjamin Brown Website <https://msu.edu/~brown202/> | Facebook <https://www.facebook.com/mejeff.younotjeff> | LinkedIn <https://www.linkedin.com/in/jeffreybenjaminbrown>(spammy, so I often miss messages here) | Github <https://github.com/jeffreybenjaminbrown>
_______________________________________________ curry mailing list -- curry@lists.rwth-aachen.de To unsubscribe send an email to curry-leave@lists.rwth-aachen.de https://lists.rwth-aachen.de/postorius/lists/curry.lists.rwth-aachen.de