Code Monkey home page Code Monkey logo

Comments (6)

Shinmera avatar Shinmera commented on May 31, 2024

Can confirm on b05884f under Slime:

CL-USER> (let* ((x 1)
                (x (+ 1 x)))
           (print x))

The symbol[X] is already in the environment
   [Condition of type SIMPLE-PROGRAM-ERROR]

Restarts:
 0: [RETRY] Retry SLIME REPL evaluation request.
 1: [*PROCESS-INPUT] Continue reading input.
 2: [ABORT] Return to SLIME's top level.
 3: [CLOSE-CONNECTION] Close SLIME connection.
 4: [RESTART-TOPLEVEL] Go back to Top-Level REPL.

Backtrace:
  0: (CORE::UNNAMED-LAMBDA #<COMMON-LISP:COMPILED-FUNCTION CORE::UNNAMED-LAMBDA CompiledClosure>)
  1: (APPLY #<COMMON-LISP:COMPILED-FUNCTION CORE::UNNAMED-LAMBDA CompiledClosure> #<COMMON-LISP:COMPILED-FUNCTION CORE::UNNAMED-LAMBDA CompiledClosure> NIL)
  2: (SWANK/BACKEND:CALL-WITH-DEBUGGING-ENVIRONMENT #<COMMON-LISP:COMPILED-FUNCTION CORE::UNNAMED-LAMBDA CompiledClosure>)
  3: (TOP-LEVEL)
  4: (CALL-WITH-VARIABLE-BOUND SWANK::*SLDB-STEPPING-P* NIL #<COMMON-LISP:COMPILED-FUNCTION CORE:TOP-LEVEL CompiledClosure>)
  5: (TOP-LEVEL)
  6: (CALL-WITH-VARIABLE-BOUND SWANK::*SLDB-LEVEL* 1 #<COMMON-LISP:COMPILED-FUNCTION CORE:TOP-LEVEL CompiledClosure>)
  7: (TOP-LEVEL)
  8: (CALL-WITH-VARIABLE-BOUND *PACKAGE* #<COMMON-LISP-USER> #<COMMON-LISP:COMPILED-FUNCTION CORE:TOP-LEVEL CompiledClosure>)
  9: (TOP-LEVEL)
 10: (CALL-WITH-VARIABLE-BOUND SWANK:*SLDB-QUIT-RESTART* #<RESTART.2120592393> #<COMMON-LISP:COMPILED-FUNCTION CORE:TOP-LEVEL CompiledClosure>)
 11: (TOP-LEVEL)
 12: (CALL-WITH-VARIABLE-BOUND SWANK::*SLDB-RESTARTS* (#<RESTART.2121942409> #<RESTART.2120592393> #<RESTART.2120272201> #<RESTART.2139755337> #<RESTART.2054272137>) #<COMMON-LISP:COMPILED-FUNCTION CORE:TO..
 13: (TOP-LEVEL)
 14: (CALL-WITH-VARIABLE-BOUND SWANK::*SWANK-DEBUGGER-CONDITION* #<CORE:SIMPLE-PROGRAM-ERROR @0x7fb47e7b8e09> #<COMMON-LISP:COMPILED-FUNCTION CORE:TOP-LEVEL CompiledClosure>)
 15: (SWANK::DEBUG-IN-EMACS #<CORE:SIMPLE-PROGRAM-ERROR @0x7fb47e7b8e09>)
 16: (TOP-LEVEL)
 17: (CALL-WITH-VARIABLE-BOUND SWANK::*SLIME-INTERRUPTS-ENABLED* NIL #<COMMON-LISP:COMPILED-FUNCTION CORE:TOP-LEVEL CompiledClosure>)
 18: (CORE::UNNAMED-LAMBDA)
 19: (MULTIPLE-VALUE-PROG1-FUNCTION #<COMMON-LISP:COMPILED-FUNCTION CORE::UNNAMED-LAMBDA CompiledClosure> #<COMMON-LISP:COMPILED-FUNCTION CORE::UNNAMED-LAMBDA CompiledClosure>)
 20: (SWANK:INVOKE-SLIME-DEBUGGER #<CORE:SIMPLE-PROGRAM-ERROR @0x7fb47e7b8e09>)
 21: (CORE::UNNAMED-LAMBDA)
 22: (FUNCALL #<COMMON-LISP:COMPILED-FUNCTION CORE::UNNAMED-LAMBDA CompiledClosure>)
 23: (TOP-LEVEL)
 24: (CALL-WITH-VARIABLE-BOUND EXT:*INVOKE-DEBUGGER-HOOK* #<COMMON-LISP:COMPILED-FUNCTION CORE::UNNAMED-LAMBDA CompiledClosure> #<COMMON-LISP:COMPILED-FUNCTION CORE:TOP-LEVEL CompiledClosure>)
 25: (TOP-LEVEL)
 26: (CALL-WITH-VARIABLE-BOUND *DEBUGGER-HOOK* #<COMMON-LISP:COMPILED-FUNCTION SWANK:SWANK-DEBUGGER-HOOK CompiledClosure> #<COMMON-LISP:COMPILED-FUNCTION CORE:TOP-LEVEL CompiledClosure>)
 27: (CORE::UNNAMED-LAMBDA #<COMMON-LISP:COMPILED-FUNCTION CORE::UNNAMED-LAMBDA CompiledClosure> #<COMMON-LISP:COMPILED-FUNCTION SWANK:SWANK-DEBUGGER-HOOK CompiledClosure>)
 28: (APPLY #<COMMON-LISP:COMPILED-FUNCTION CORE::UNNAMED-LAMBDA CompiledClosure> #<COMMON-LISP:COMPILED-FUNCTION SWANK:SWANK-DEBUGGER-HOOK CompiledClosure> #<COMMON-LISP:COMPILED-FUNCTION CORE::UNNAMED-LA..
 29: (SWANK/BACKEND:CALL-WITH-DEBUGGER-HOOK #<COMMON-LISP:COMPILED-FUNCTION SWANK:SWANK-DEBUGGER-HOOK CompiledClosure> #<COMMON-LISP:COMPILED-FUNCTION CORE::UNNAMED-LAMBDA CompiledClosure>)
 30: (TOP-LEVEL)
 31: (CALL-WITH-VARIABLE-BOUND CORE::*HANDLER-CLUSTERS* (((SWANK::INVOKE-DEFAULT-DEBUGGER . #<COMMON-LISP:COMPILED-FUNCTION CORE::UNNAMED-LAMBDA CompiledClosure>)) ..) #<COMMON-LISP:COMPILED-FUNCTION CORE:..
 32: (SWANK:SWANK-DEBUGGER-HOOK #<CORE:SIMPLE-PROGRAM-ERROR @0x7fb47e7b8e09> #<COMMON-LISP:COMPILED-FUNCTION SWANK:SWANK-DEBUGGER-HOOK CompiledClosure>)
 33: (FUNCALL #<COMMON-LISP:COMPILED-FUNCTION SWANK:SWANK-DEBUGGER-HOOK CompiledClosure> #<CORE:SIMPLE-PROGRAM-ERROR @0x7fb47e7b8e09> #<COMMON-LISP:COMPILED-FUNCTION SWANK:SWANK-DEBUGGER-HOOK CompiledClosu..
 34: (TOP-LEVEL)
 35: (CALL-WITH-VARIABLE-BOUND *DEBUGGER-HOOK* NIL #<COMMON-LISP:COMPILED-FUNCTION CORE:TOP-LEVEL CompiledClosure>)
 36: (INVOKE-DEBUGGER #<CORE:SIMPLE-PROGRAM-ERROR @0x7fb47e7b8e09>)
 37: (UNIVERSAL-ERROR-HANDLER NIL SIMPLE-PROGRAM-ERROR (:FORMAT-CONTROL "The symbol[X] is already in the environment" :FORMAT-ARGUMENTS NIL))
 38: (ERROR #<COMMON-LISP:FUNCTION COMMON-LISP:ERROR VariadicFunctoid> SIMPLE-PROGRAM-ERROR :FORMAT-CONTROL "The symbol[X] is already in the environment" :FORMAT-ARGUMENTS)
 39: (APPLY #<COMMON-LISP:FUNCTION COMMON-LISP:ERROR VariadicFunctoid> SIMPLE-PROGRAM-ERROR :FORMAT-CONTROL "The symbol[X] is already in the environment" :FORMAT-ARGUMENTS NIL NIL)
 40: (SIGNAL-SIMPLE-ERROR PROGRAM-ERROR NIL "The symbol[X] is already in the environment" NIL)
 41: (EVAL (LET* ((X 1) (X (+ 1 X))) ..))
 --more--

but works fine from the REPL

> (let* ((x 1)
       (x (+ 1 x)))
  (print x))

2 
2

from clasp.

drmeister avatar drmeister commented on May 31, 2024

The interpreter has this problem still - so switching eval to use the compiler will hide the problem but in the proper way. EVAL should be using the compiler after the system starts up. I still need to fix the interpreter.

from clasp.

Shinmera avatar Shinmera commented on May 31, 2024

I'll close this once I can confirm it and open a new ticket for the interpreter bug.

from clasp.

Shinmera avatar Shinmera commented on May 31, 2024

Still there on 2e97cc5

Starting Boehm cclasp 0.3-test-10-159-g2e97cc5 ... loading image... it takes a few seconds
Top level.
> (let* ((x 1)
       (x (+ 1 x)))
  (print x))

2 
2
> (eval '(let* ((x 1)
       (x (+ 1 x)))
  (print x)))

Condition of type: SIMPLE-PROGRAM-ERROR
The symbol[X] is already in the environment

from clasp.

drmeister avatar drmeister commented on May 31, 2024

I may not have pushed this to testing yet.

from clasp.

Shinmera avatar Shinmera commented on May 31, 2024

Fixed on 482d6ca

> (let* ((x 1)
       (x (+ 1 x)))
  (print x))

2 
2
> (eval '(let* ((x 1)
       (x (+ 1 x)))
  (print x)))

2 
2

from clasp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.