Zach Beane (xach) wrote,
Zach Beane
xach

dear santa

All I want for Christmas is a GUI slime interface to symbol conflict resolution in SBCL!

Update Apparently this isn't clear to everyone. Here's what I mean:

;; a.lisp

(defpackage :a
  (:use :cl))

(in-package :a)

(defvar *conflict* '(a b c d))

Compile and load a.lisp.

;; b.lisp

(defpackage :b
  (:use :cl)
  (:export :a :b :c :d))

Compile and load b.lisp.

Then evaluate:

(defpackage :a
  (:use :cl :b))

You get something that looks like this:

USE-PACKAGE #<PACKAGE "B"> causes name-conflicts in #<PACKAGE "A"> between the
following symbols:
  B:B, B
   [Condition of type SB-INT:NAME-CONFLICT]

See also:
  Common Lisp Hyperspec, 11.1.1.2.5 [section]

Restarts:
  0: [RESOLVE-CONFLICT] Resolve conflict.
If you pick restart 0, you get something like this:
Select a symbol to be made accessible in package A:
  1. B:B
  2. B
  
Enter an integer (between 1 and 2): 
CL-USER> 1

The code for the restart prints its own prompt and does its own input reading to resolve the conflict. It works, but it intermixes slime output with other output and looks ugly.

I would like something klickibunti like the slime inspector.

Santa, I hope you understand now.

Tags: lisp, sbcl
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments