Comments (2)
You can register external tactics as done for all core Ltac2 tactics. This is performed in two steps. First, ML side, you register your function in a global table through a unique name. Second, Coq side, you declare the existence of such a global through an external declaration.
To have an idea of how to do that, look for instance at https://github.com/ppedrot/ltac2/blob/6d6ea351b0ea7e6e54915a0d82bc737306c0e86a/src/tac2core.ml#L686-L690
and
https://github.com/ppedrot/ltac2/blob/6d6ea351b0ea7e6e54915a0d82bc737306c0e86a/theories/Control.v#L21
from ltac2.
Hi @ppedrot, thanks a lot for your feedback! this works fine for us, so I'm closing the issue.
from ltac2.
Related Issues (20)
- OPAM support HOT 6
- [warnings] Please fix OCaml warnings
- Error messages are confusing when types are not correctly parenthesized HOT 1
- "Unbound reference: The reference 0 is free." should show a backtrace when Set Ltac2 Backtrace is set
- Backtraces should print Ltac2 closures
- Argument to Tactic_failure should be printed
- Int.compare should not be uniformly 0
- There should be a way to turn an exn into a message
- Control.case should not be able to catch Control.throw, only Control.zero HOT 1
- "Error: No applicable tactic." gives no backtrace HOT 1
- "Init.Internal (err:(Uncaught exception Pretype_errors.PretypeError(_, _, _).))" is not a particularly helpful printing of an error message
- Compilation broken since -safe-string PR got merged into Coq master
- Ltac2 fails to build if COQBIN is "" and debianutils is not installed (which is not available) HOT 1
- Please merge fast-constr-match-no-context :)
- Beta (or alpha) release ? HOT 3
- [Coq 8.9+] Please fix deprecation warnings. HOT 5
- lazy_match! should not gobble up error of branch
- lazy_match! does not commit to the first matching branch
- Port to coqpp HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ltac2.