Comments (3)
from redex.
Alright, thank you for the quick response! I had hoped to (as much as possible) make the figures easy to reproduce in code, but in this specific instance it is probably much faster to edit the pdf in Adobe Illustrator to reposition the rules.
For my part the issue can be closed, but I will keep it open for now in case the horizontal-bar-spacing
thing is something someone wants to address.
from redex.
The disadvantage to using adobe is that you'll have to redo that work when the rules change and it can be easy to forget to do. If you're using scribble to write the document itself, you can just drop picts in anywhere (eg in a figure) and then building the paper will always just use the latest version of the redex code. Here's how you can eliminate the blank space between the clauses, for example.
#lang racket
(require redex pict)
(define-language L
(e ::= (e e) (λ (x) e) x)
(x ::= variable-not-otherwise-mentioned))
(define-judgment-form L
#:mode (fv I O)
#:contract (fv e (x ...))
[(fv e_1 (x_1 ...)) (fv e_2 (x_2 ...))
------------------------------- "app"
(fv (e_1 e_2) (x_1 ... x_2 ...))]
[------------------------------- "var"
(fv x (x))]
[(fv e (x_2 ...))
------------------------------- "lam"
(fv (λ (x_1) e) (rm (x_2 ...) x_1))])
(define-metafunction L
rm : (x ...) x -> (x ...)
[(rm () x) ()]
[(rm (x_1 x_2 ...) x_1) (rm (x_2 ...) x_1)]
[(rm (x_1 x_2 ...) x_3)
(x_1 x_4 ...)
(where (x_4 ...) (rm (x_2 ...) x_3))])
(define (render-fv-case name)
(parameterize ([judgment-form-cases
(list name)])
(render-judgment-form fv)))
(render-judgment-form fv)
(vc-append
(render-fv-case "app")
(render-fv-case "var")
(render-fv-case "lam"))
from redex.
Related Issues (20)
- Defining mutually recursvie judgments/meta-functions HOT 2
- Feature request: tag-with-names for apply-reduction-relation* HOT 2
- test-->>∃ #:steps n passes test if n > than the number of actual reduction steps for a term. HOT 4
- `traces` doesn't draw arrows after "fix layout" HOT 5
- `stepper` doesn't display whole term... unless I *narrow* its box?
- Feature Request: `stepper` with judgment-form use rule names
- Feature request: adjust font for `stepper` HOT 3
- Redex rejects literals at different ellipsis depths in binding form declarations HOT 1
- Generating random expressions sometimes results in an infinite loop
- where/error failures give no information about source of error HOT 6
- where/error failures don't tell you what failed to match
- using judgment-holds within define-relation HOT 1
- Redex's reduction graph windows sneakily hide part of term reductions HOT 1
- where/error doesn't report errors sometimes HOT 8
- define-metafunction does not check type signature on LHS HOT 3
- Docs missing a word I can't fill in. HOT 1
- `derivation/ps` always causes an error by calling a non-existent method HOT 1
- Default rendering font changed between Racket v8.8 and v8.9? HOT 4
- Redex PDF output contains a wrong font, while Racket REPL renders the correct font HOT 2
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 redex.