On Fri, Jul 2, 2021 at 10:25 AM Rhazes Spell <rhazes.sp...@gmail.com> wrote: > > Hello- > I have been using Racket for about 18 months for personal projects and > teaching. I have been doing all of my work in DrRacket but I wanted to > interact with a module that I wrote on the interactive command line this > morning. I am getting an error while using the command line that I am not > getting in the Dr.Racket Interactions window. > > This is the code that runs fine in the Interactions window of DrRacket: > (input-financial-data) deserializes the data properly and populates the list > variable that I am using correctly. The lines of code in the module are: > > ... > (define data (input-financial-data data-file)) > (printf "~a data records read~n" (length data)) > (define closed-trades (filter trade-closed? data)) > ... > > On the command line when running: > $> racket -i > ... > > (enter! "year-1-analysis.rkt") > I get an error while trying to read a file of serialized structs. The error > is: > > given value instantiates a different structure type with the same name > expected: trade? > given: (trade #1=(date* 0 0 0 21 04 2017 3 294 #t -25200 0 "PDT") 'PYPL > "simInvest" (list (transaction 29555578996 #1# "simInvest" 'PYPL 'BOUGHT 30 > 43.70) (transaction 29556891965 (date* 0 0 0 23 04 2017 3 294 #t -25200 0 > "PDT") "simInvest" 'PYPL 'B... > > > My question is what are the differences between using a module in DrRacket > versus on the command line? Thank you in advance for your assistance. > > Cheers, > r.. >
One difference is that DrRacket works as if you had enter!-ed the file "year-1-analysis.rkt" from the very beginning and never left the module or re-required it. However, I don't see how that could trigger the current issue. The error message suggests that the module defining the trade structure has been instantiated multiple times in different namespaces. It could be that some other operations unintentionally caused the problem. > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to racket-users+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-users/b438252e-ef79-4bfe-ac7b-2f508d3419ddn%40googlegroups.com. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CAMTzy%2BaEd9TgpoSLES9A%2BRSSp2tzmVo3C54S0VO%3DpwjMKuVKnQ%40mail.gmail.com.