@@ -373,7 +373,7 @@ elabPE info fc caller r =
373 logLvl 3 $ "PE definition " ++ show newnm ++ ":\n" ++
373 logLvl 3 $ "PE definition " ++ show newnm ++ ":\n" ++
374 showSep "\n"
374 showSep "\n"
375 (map (\ (lhs, rhs) ->
375 (map (\ (lhs, rhs) ->
376− (show lhs ++ " = " ++
376+ (showTmImpls lhs ++ " = " ++
377 showTmImpls rhs)) (pe_clauses specdecl))
377 showTmImpls rhs)) (pe_clauses specdecl))
379 logLvl 2 $ show n ++ " transformation rule: " ++
379 logLvl 2 $ show n ++ " transformation rule: " ++
@@ -381,7 +381,8 @@ elabPE info fc caller r =
382 elabType info defaultSyntax emptyDocstring [] fc opts newnm NoFC specTy
382 elabType info defaultSyntax emptyDocstring [] fc opts newnm NoFC specTy
383 let def = map (\(lhs, rhs) ->
383 let def = map (\(lhs, rhs) ->
384+ let lhs' = mapPT hiddenToPH $ stripUnmatchable ist lhs in
384− PClause fc newnm lhs [] rhs [])
385+ PClause fc newnm lhs' [] rhs [])
385 (pe_clauses specdecl)
386 (pe_clauses specdecl)
386 trans <- elabTransform info fc False rhs lhs
387 trans <- elabTransform info fc False rhs lhs
387 elabClauses info fc (PEGenerated:opts) newnm def
388 elabClauses info fc (PEGenerated:opts) newnm def
@@ -393,6 +394,9 @@ elabPE info fc caller r =
393 (\e -> do logLvl 3 $ "Couldn't specialise: " ++ (pshow ist e)
394 (\e -> do logLvl 3 $ "Couldn't specialise: " ++ (pshow ist e)
394 return [])
395 return [])
397+ hiddenToPH (PHidden _) = Placeholder
396 specName simpl (ImplicitS, tm)
400 specName simpl (ImplicitS, tm)
397 | (P Ref n _, _) <- unApply tm = Just (n, Just (if simpl then 1 else 0))
401 | (P Ref n _, _) <- unApply tm = Just (n, Just (if simpl then 1 else 0))
398 specName simpl (ExplicitS, tm)
402 specName simpl (ExplicitS, tm)