[plt-scheme] DrScheme Interactions window

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Tue May 11 21:41:07 EDT 2004

On May 11, 2004, at 9:43 PM, Connor Ferguson wrote:

>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>
> I am still having trouble creating the executable. I have set the 
> language
> to (module...) and have this at the top of my document:
>
> (module spanish mzscheme)
--------------------------^

Look carefully. You have a parenthesis here, which means you
didn't balance them properly. Delete it.

> (require (lib "plt-pretty-big.ss" "lang") (lib "gui.ss" "htdp"))

Put one here.

-- Matthias


>
> I selected create executable from the Scheme menu and chose 
> Stand-alone and
> MrEd. I then clicked create and got this message:
>
> load-handler: expected a `module' declaration for `spanish' in "Mi
> Computadora:Programs:PLT:spanish.scm", found: spanish.scm
>
> spanish.scm is the name of the file I am working on.
>
> -Connor
>
>>> on 5/11/04 5:50 AM, Matthias Felleisen wrote:
>
>> For list-related administrative tasks:
>> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>>
>>
>> On May 10, 2004, at 11:37 PM, Connor Ferguson wrote:
>>
>>> For list-related administrative tasks:
>>> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>>>
>>> I've solved the problem.
>>
>> Nah, you just made the program work by accident :-)
>>
>>> Basically, I needed to convert the string into a
>>> verb structure. Matthias set me in the right direction with his
>>> questions
>>
>> Those questions are from the design recipe. Just like last time. One
>> day you will follow on your own and you won't need me anymore :-)
>>
>>> about a list of all the verbs. I wrote a function, find verb, that
>>> takes in
>>> a string and a list of verbs. It then searches to see if verb-inf for
>>> each
>>> of the verbs is equal to the string inputted. When it finds the 
>>> match,
>>> it
>>> produces the corresponding verb (struct). I simply applied my
>>> conjugation
>>> function to the result of searching my big list of verbs (dictionary)
>>> for
>>> the contents of the infinitive text box.
>>>
>>> Now that the GUI itself works, though, I need to figure out why the
>>> executable won't work.
>>>
>>> I haven't been able to create the executable in Intermediate, so I
>>> switched
>>> to Pretty Big.
>>
>> As I said before, use (module ..) not Pretty Big. -- Matthias
>>
>>
>>> The executable is successfully created, but when I double
>>> click it to open it, it opens a MrEd Standard Output window and gives
>>> me
>>> this error message:
>>>
>>> cddddr: expects argument of type <cddddrable value>; given
>>> ("(module mod-name mzscheme(require(lib
>>> \"pconvert.ss\")(lib\"pretty.ss\"))(provide init-code)(d...
>>>
>>> [Exited]
>>>
>>> This seems to be the last hurdle for me to jump but this sort of 
>>> error
>>> message is way beyond my capabilities to decipher.
>>>
>>> -Connor
>>>
>>>>> on 5/10/04 8:09 PM, Matthias Felleisen wrote:
>>>
>>>> What kind of data do you want to convert the string into? A number?
>>>> A symbol? I am a bit confused here. A GUI editor (that's what the
>>>> box is) must give you the content.
>>>>
>>>> Can you send me the error message?
>>>>
>>>> -- Matthias
>>>>
>>>> P.S. In the meantime, please study " A First Look at GUIs" in HtDP.
>>>>
>>>>
>>>> On May 10, 2004, at 10:26 PM, Connor Ferguson wrote:
>>>>
>>>>>>> on 5/10/04 6:36 PM, Matthias Felleisen wrote:
>>>>>>
>>>>>>> I have tested the GUI, it came up with the window (I had modified
>>>>>>> it
>>>>>>> so that
>>>>>>> it had two text fields). When I entered the verb in however, it
>>>>>>> gave
>>>>>>> me an
>>>>>>> error because it recognized the information in the text field as 
>>>>>>> a
>>>>>>> string.
>>>>>>
>>>>>> What else would you expect? When you type something in a text 
>>>>>> field,
>>>>>> the program receives a string. Actually, the string is in a text t
>>>>>> and (text-contents t) extracts the string.
>>>>>
>>>>> Alright, so is there a way to convert that string to... "not a
>>>>> string"?
>>>>>
>>>>> -Connor
>>>>>
>>>>>
>>>>>>> on 5/10/04 6:36 PM, Matthias Felleisen wrote:
>>>>>
>>>>>>
>>>>>> On May 10, 2004, at 8:10 PM, Connor Ferguson wrote:
>>>>>>
>>>>>>> For list-related administrative tasks:
>>>>>>> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>>>>>>>
>>>>>>> I have tested the GUI, it came up with the window (I had modified
>>>>>>> it
>>>>>>> so that
>>>>>>> it had two text fields). When I entered the verb in however, it
>>>>>>> gave
>>>>>>> me an
>>>>>>> error because it recognized the information in the text field as 
>>>>>>> a
>>>>>>> string.
>>>>>>
>>>>>> What else would you expect? When you type something in a text 
>>>>>> field,
>>>>>> the program receives a string. Actually, the string is in a text t
>>>>>> and (text-contents t) extracts the string.
>>>>>>
>>>>>>> My verbs that I have defined as one-word variables that include a
>>>>>>> verb
>>>>>>> structure with all the conjugations are not strings. They follow
>>>>>>> this
>>>>>>> pattern
>>>>>>>
>>>>>>> (define ser (make-verb "ser" "to be" "soy" "eres" "es" "somos"
>>>>>>> "sois"
>>>>>>> "son"))
>>>>>>>
>>>>>>> I tried changing it like so:
>>>>>>>
>>>>>>> (define "ser" (make-verb "ser" "to be" "soy" "eres" "es" "somos"
>>>>>>> "sois"
>>>>>>> "son"))
>>>>>>
>>>>>> That's like saying "cat" means dog.
>>>>>>
>>>>>> My hunch is that you're trying to define a struct with this shape:
>>>>>>
>>>>>> (define-struct verb (spanish english case1 case2 ...))
>>>>>>
>>>>>> Now you when you get the spanish or english, you want to look up
>>>>>> the cases.
>>>>>>
>>>>>> Where is your data definition?
>>>>>>
>>>>>> Do you keep around a list of verbs? If so, where is your data
>>>>>> definition for your list? Let's call it a dictionary.
>>>>>>
>>>>>> Do you want to look up the verb in the dictionary. What function
>>>>>> contract do you use? What's the purpose statement? Where are the
>>>>>> examples?
>>>>>>
>>>>>> All of the above is independent of the GUI. If you look in the 
>>>>>> last
>>>>>> two
>>>>>> parts of HtDP, you will actually see that the GUI that you're 
>>>>>> trying
>>>>>> to
>>>>>> build is about 5 lines long. So the above questions are more
>>>>>> important.
>>>>>>
>>>>>> -- Matthias
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>> on 5/9/04 5:03 PM, Matthias Felleisen wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> On May 9, 2004, at 2:50 PM, Connor Ferguson wrote:
>>>>>>>>
>>>>>>>>> I have already tested my conjugating program extensively in
>>>>>>>>> Intermediate and
>>>>>>>>> it works.
>>>>>>>>
>>>>>>>> Did you test the GUI too?
>>>>>>>>
>>>>>>>>> I tried using exactly the same GUI that you sent me but it 
>>>>>>>>> still
>>>>>>>>> didn't work.
>>>>>>>>
>>>>>>>> Did you test the code that I mailed you in Intermediate?
>>>>>>>> Without the header lines and extra ) at the bottom?
>>>>>>>>
>>>>>>>>> I still do think that I'm going to have to use two separate
>>>>>>>>> text fields because if it is one text field, it will act like a
>>>>>>>>> single
>>>>>>>>> argument, right? My program needs two separate arguments.
>>>>>>>>
>>>>>>>> Yes you will. -- Matthias
>>>>>>>>
>>>>>>>>>
>>>>>>>>> -Connor
>>>>>>>>>
>>>>>>>>>>> on 5/8/04 7:59 PM, Matthias Felleisen wrote:
>>>>>>>>>
>>>>>>>>>> Connor, remember the sequence:
>>>>>>>>>>
>>>>>>>>>> 1. Develop in a teaching language (Intermediate is probably
>>>>>>>>>> okay).
>>>>>>>>>>
>>>>>>>>>> 2. Set the teachpack to gui.ss
>>>>>>>>>>
>>>>>>>>>> 3. Get the program right there.
>>>>>>>>>>
>>>>>>>>>> 4. Then do the rest.
>>>>>>>>>>
>>>>>>>>>> 5. If you don't follow those basic rules, the likelihood that
>>>>>>>>>> the
>>>>>>>>>> problem is yours is 99.9%.
>>>>>>>>>>
>>>>>>>>>> ;; ---
>>>>>>>>>>
>>>>>>>>>> If you want to confirm that you can get executables, use the 
>>>>>>>>>> GUI
>>>>>>>>>> that
>>>>>>>>>> I
>>>>>>>>>> mailed you and follow the steps. I'd be extremely surprised if
>>>>>>>>>> they
>>>>>>>>>> don't work. (I will install a 204 if you report otherwise but
>>>>>>>>>> that'll
>>>>>>>>>> take a while. I will also not be happy if I can't reconstruct
>>>>>>>>>> it.)
>>>>>>>>>>
>>>>>>>>>> If you do two steps at once, you always end up taking four :-)
>>>>>>>>>>
>>>>>>>>>> -- Matthias
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On May 8, 2004, at 10:48 PM, Connor Ferguson wrote:
>>>>>>>>>>
>>>>>>>>>>> Alright, I created the executable and that worked (it showed 
>>>>>>>>>>> me
>>>>>>>>>>> the
>>>>>>>>>>> icon).
>>>>>>>>>>> But when I opened it, it opened a MrEd window entitled 
>>>>>>>>>>> Standard
>>>>>>>>>>> Output
>>>>>>>>>>> and
>>>>>>>>>>> gave me this error message
>>>>>>>>>>>
>>>>>>>>>>> cddddr: expects argument of type <cddddrable value>; given
>>>>>>>>>>> ("(module
>>>>>>>>>>> mod-name mzscheme(require(lib \"pconvert.ss\")(lib
>>>>>>>>>>> \"pretty.ss\"))(provide
>>>>>>>>>>> init-code)(d...
>>>>>>>>>>>
>>>>>>>>>>> [Exited]
>>>>>>>>>>>
>>>>>>>>>>> The name of the module that I have put in includes spaces. Is
>>>>>>>>>>> that
>>>>>>>>>>> a
>>>>>>>>>>> problem? I also changed the GUI so that it has two text 
>>>>>>>>>>> boxes,
>>>>>>>>>>> one
>>>>>>>>>>> for
>>>>>>>>>>> the
>>>>>>>>>>> subject and one for the verb.
>>>>>>>>>>>
>>>>>>>>>>> -Connor
>>>>>>>>>>>
>>>>>>>>>>>>> on 5/8/04 7:05 PM, Matthias Felleisen wrote:
>>>>>>>>>>>
>>>>>>>>>>>> For list-related administrative tasks:
>>>>>>>>>>>> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On May 8, 2004, at 9:30 PM, Connor Ferguson wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> For list-related administrative tasks:
>>>>>>>>>>>>> http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>>>>>>>>>>>>>
>>>>>>>>>>>>> This sounds great. I think I will need to modify it so that
>>>>>>>>>>>>> the
>>>>>>>>>>>>> GUI
>>>>>>>>>>>>> will
>>>>>>>>>>>>> have two text fields one for the subject and one for the
>>>>>>>>>>>>> verb.
>>>>>>>>>>>>>
>>>>>>>>>>>>> The only thing is, I have defined a verb as a structure and
>>>>>>>>>>>>> have
>>>>>>>>>>>>> then
>>>>>>>>>>>>> defined individual verbs. So my program takes a string and 
>>>>>>>>>>>>> a
>>>>>>>>>>>>> verb
>>>>>>>>>>>>> (struct)
>>>>>>>>>>>>>
>>>>>>>>>>>>> (define-struct verb (inf yo tu 3sing nos vos 3plural))
>>>>>>>>>>>>> (define ser (make-verb "ser" "soy" "eres" "es" "somos" 
>>>>>>>>>>>>> "sois"
>>>>>>>>>>>>> "son"))
>>>>>>>>>>>>>
>>>>>>>>>>>>> Correct me if I'm wrong, but information placed into a text
>>>>>>>>>>>>> field
>>>>>>>>>>>>> in
>>>>>>>>>>>>> a
>>>>>>>>>>>>> GUI
>>>>>>>>>>>>> is considered a string. Could I possibly solve this problem
>>>>>>>>>>>>> by
>>>>>>>>>>>>> modifying my
>>>>>>>>>>>>> verb definitions as such:
>>>>>>>>>>>>>
>>>>>>>>>>>>> (define "ser" (make-verb "ser" "soy" "eres" "es" "somos"
>>>>>>>>>>>>> "sois"
>>>>>>>>>>>>> "son"))
>>>>>>>>>>>>
>>>>>>>>>>>> Nah, remember that (define XYZ ...) introduces a Scheme name
>>>>>>>>>>>> (XYZ)
>>>>>>>>>>>> to
>>>>>>>>>>>> stand
>>>>>>>>>>>> for some value.
>>>>>>>>>>>>
>>>>>>>>>>>> You may wish to consider a menu instead of a text field for
>>>>>>>>>>>> input
>>>>>>>>>>>> and
>>>>>>>>>>>> just use lists.
>>>>>>>>>>>>
>>>>>>>>>>>>> Also, will this executable require DrScheme to be installed
>>>>>>>>>>>>> on
>>>>>>>>>>>>> the
>>>>>>>>>>>>> computer
>>>>>>>>>>>>> that it is running on and is it universal?
>>>>>>>>>>>>
>>>>>>>>>>>> You will need DrScheme on other computers just like you need
>>>>>>>>>>>> Windows
>>>>>>>>>>>> on other computers to run your Windows program and OS X to 
>>>>>>>>>>>> run
>>>>>>>>>>>> your
>>>>>>>>>>>> OS X
>>>>>>>>>>>> program and so on. That's what's called an Operating System
>>>>>>>>>>>> and
>>>>>>>>>>>> DrScheme
>>>>>>>>>>>> is just a very high level operating system.
>>>>>>>>>>>>
>>>>>>>>>>>> -- Matthias
>>>>>>>>>>>>
>>>>>>>>>>>> P.S. Good luck with your parents.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>
>>>>>
>>>
>>
>



Posted on the users mailing list.