Skip to content

Commit 922a95e

Browse files
committed
shrink the rhombus bridge
1 parent 5811237 commit 922a95e

File tree

2 files changed

+18
-13
lines changed

2 files changed

+18
-13
lines changed

redex-pict-lib/redex/private/pict-interface.rkt

+17-6
Original file line numberDiff line numberDiff line change
@@ -247,12 +247,23 @@ pict library.
247247
(define-values (r:find r:from_handle r:is_pict)
248248
(cond
249249
[(rhombus-present?)
250-
(parameterize ([current-namespace ns])
251-
(namespace-require '(all-except rhombus #%top))
252-
(namespace-require 'rhombus/parse)
253-
(namespace-require 'redex/private/rhombus-bridge)
254-
(values (eval 'find)
255-
(eval 'from_handle)
250+
(define rhombus-dynamic-require
251+
(dynamic-require 'rhombus/dynamic-require 'rhombus-dynamic-require))
252+
(define dynamic-dot-ref
253+
(dynamic-require 'rhombus/dot 'dynamic-dot-ref))
254+
(define r:from_handle
255+
(rhombus-dynamic-require '(lib "pict/main.rhm") '(Pict from_handle)))
256+
(define r:Find (rhombus-dynamic-require '(lib "pict/main.rhm") '(Find)))
257+
(define (Find pict sub h v)
258+
((dynamic-dot-ref (r:Find pict #:horiz h #:vert v)
259+
'in)
260+
sub))
261+
(values Find
262+
r:from_handle
263+
(parameterize ([current-namespace ns])
264+
(namespace-require '(all-except rhombus #%top))
265+
(namespace-require 'rhombus/parse)
266+
(namespace-require 'redex/private/rhombus-bridge)
256267
(eval 'is_pict)))]
257268
[else
258269
(values "dummy value that's not rhombus's find"

redex-pict-lib/redex/private/rhombus-bridge.rkt

+1-7
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,6 @@
77
// racket code that does the same thing
88

99
import: pict open
10-
export: find from_handle is_pict
11-
12-
fun find(pict,sub,h,v):
13-
Find(sub, ~horiz: h, ~vert: v).in(pict)
14-
15-
fun from_handle(p):
16-
Pict.from_handle(p)
10+
export: is_pict
1711

1812
fun is_pict(pict): pict is_a Pict

0 commit comments

Comments
 (0)