Re: Global Variables and JADE vs OMNIMARK

Subject: Re: Global Variables and JADE vs OMNIMARK
From: Mike Sosteric <mikes@xxxxxxxxxxxxx>
Date: Wed, 9 Dec 1998 09:08:10 -0700 (Mountain Standard Time)
>>>>> "Brandon" == Brandon Ibach <bibach@xxxxxxxxxxxxxx> writes:

    Brandon> let construct.  In a normal let, the "scope" or duration
    Brandon> of the binding is the duration of the body.  In a "let*",
    Brandon> the duration of a binding is all of the following
    Brandon> bindings, as well as the body.  This lets you reference
    Brandon> earlier bindings in later ones.  There is also a
    Brandon> "letrec", or recursive let, where the duration of a


    Brandon> for recursive calls, and is used for basic looping, 

Oh, knowing that makes everything much easier to understand!

    Brandon> Likewise with (and), it will only evaluate arguments

I read about this shortcircuit and stuff in my scheme textbook.

    Brandon> until it finds a false value.  So, on to the code...

    >> > (let ((nd (node-list-first nl)))
    >> this assigns the left hand, top most node list to nd and then
    >> tests it
    Brandon>    Actually, this assigns the first node in the node list
    Brandon> "nl" to "nd".  Though, remember that we never deal with

equivalent to schemes (car (list 1 2 3))

    Brandon> individual nodes, so we're actually assigning a singleton
    Brandon> node list to "nd".  Same effect, tho.

    >> > (if (and (string=? "NAME" (gi nd)) 

my only question about all this is this and consuct is only evaluating one
expression right? or does the "and" extend down farther. 

    Brandon>    Well, I hope I've made everything clear here.  

You did. Thanks. I look at the routine much differently now, i.e., 
with a glimmer of understanding and less naked terror.

    Brandon> question in your next post.  However, you do ask if it's
    Brandon> possible to check multiple levels of nesting.  With some
    Brandon> work, it would certainly be possible to create a version
    Brandon> of this procedure which would check an arbitrary number
    Brandon> of levels, 

actually, I was thinking that all we had to do would be to get 
rid of 

((gr (node-property 'grove-root node))

and give the function a nodelist at the appropriate level. Eliminating the recursion 
to the top would give a greater degree of specificity. 

    Brandon>, I believe) covers
    Brandon> the query language, including a subset known as Core
    Brandon> SDQL.  Jade implements Core SDQL, as well as some of the
    Brandon> functions in Chapter 10 outside of the Core stuff.  The
    Brandon> Jade page ( lists which of
    Brandon> these functions it supports.  Good luck, and happy
    Brandon> DSSSLing! :)

I had a quick look at this chapter and it doesn't seem quite so
intimidating at this point.  You've been a great help. EVen if it
takes me another 2 months to get up to speed, I think now I have a
better chance of "getting" other people's code. Hopefull this breaks the
learning curve...

thanks much


Mike Sosteric <mikes@xxxxxxxxxxxxx>       Editor, EJS <>
Department of Global and Social Analysis  Executive Director, ICAAP <>
Department of Educational Technology	  Athabasca University
This troubled planet is a place of the most violent contrasts. 
Those that receive the rewards are totally separated from those who
shoulder the burdens.  Is is not a wise leadership - Spock, "The Cloud Minders."

 DSSSList info and archive:

Current Thread