Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Logo > Re: [LogoForum]...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 16 of 16 Topic 1561 of 1596
Post > Topic >>

Re: [LogoForum] Logo: Tests for compliance.

by "John St. Clair" <john.stclair@[EMAIL PROTECTED] > Feb 6, 2008 at 02:25 PM

The message below is being cross-posted from the LogoForum.  Please 
reply here at comp.lang.logo and it will be cross-posted back to the 
LogoForum.  The original author of this message is 
pavel@[EMAIL PROTECTED]
 Micheler wrote:
> So the comparison should be done by not using infix operators.
> Maybe the whole test suite should avoid infix operators,
> and should just check, if they are existing before testing them.

Why?

I'd suggest to have both tests -- tests with compare functions and tests 
with compare operators.

Anyway, since last night I spent a lot of time thinking about using such 
does-this-logo-have-these-primitives functionality.

I'm afraid that we may slip into making this so complex, that it would 
become practically unusable.

For example, except is some special cases I do not see myself writing 
programs with conditional use of primitives depending on the Logo 
dialect. When I plan to use this checking functionality it is when I 
want to see whether a specific Logo dialect can be used for a specific 
problem. Or, when I want to ****t a Logo program to work into another 
dialect -- I could use checks to see what things I should modify and 
what should be kept unchanged.

Pavel

__._,_.___
LogoForum messages are archived at: 
http://groups.yahoo.com/group/LogoForum



In article <60qourF1s491oU1@[EMAIL PROTECTED]
>,
 Andreas Micheler <Andreas.Micheler@[EMAIL PROTECTED]
> wrote:

> John St. Clair wrote:
> > The message below is being cross-posted from the LogoForum.  Please 
> > reply here at comp.lang.logo and it will be cross-posted back to the 
> > LogoForum.  The original author of this message is 
> > clemrutter@[EMAIL PROTECTED]
> > 
> > I am still being asked the question: Is this a LOGO, or is this not a
> > LOGO? This is usually followed by the question If this is not a LOGO,
> > what do I need to do to make it LOGO? So can we as a group get
> > together to make up a definitive definition, and put together may be 5
> > one line tests that can be used to illustrate this? 
> > 
> > 1a. Basic syntax
> > 
> > A test maybe: make "n 100 if 110 = sum first bf [ 7 10 23] :n [pr
> > [VALID]]
> 
> Here's the first problem for aUCBLogo:
> "=" has a different meaning in aUCBLogo.
> So the comparison should be done by not using infix operators.
> Maybe the whole test suite should avoid infix operators,
> and should just check, if they are existing before testing them.
> 
> I have written many "checks" for aUCBLogo.
> They could be some kind of basis for the tests,
> if someone rewrites them a bit. I can do that, too.
> But before we'd have to try to find
> the greatest common set of primitives,
> which could be used to write / rewrite the tests / checks.
> (But of course the aUCBLogo checks are incomplete. :-/ )
> Maybe we should meet in the Great Logo Atlas,
> but someone must start there writing down the brainstorming session.
> This could then be a place to look into
> and a do***ent which could be rewritten many times.
> 
> Clem, can you place a basic article about
> 	"The Logo standard discussion"
> into the Atlas?
> Then if anyone wants to contribute to it,
> one can write to LogoForum, plus change the topic in the Atlas.
> So the contributers need some kind of write access to the Atlas.
> Can you set up some logins for those who want to contribute?
> 
> > 1b. Basic graphics
> > A test may be: etc
> > 
> > 2. Base system- both 1a and 1b validate 
> > 
> > 3. Base system with trig functions 
> > 
> > 4. UCB compliant
> > 
> > 5. UCB compliant with extensions as listed.
> > 
> > These are purely illustrative to start the conversation. But I
> > envisage we developers could aim for the tests. We could then describe
> > a logo as say 'Level 2 but missing the fill facility '.
> 
> I like more the idea "sets of compliant primitives",
> as Pavel proposed. So one could ask a Logo:
> 
> doesLogoSup****t "turtle
> true ;-)
> doesLogoSup****t [Core Turtle Lists Turtle3D Workspace
Communication/minimal]
> [true true true true true true] ;-)
> 
> I have written something like this already once here:
> <http://groups.yahoo.com/group/LogoForum/message/13062>
> 
> Pavel, Brian, Lionel, David, ..., can we all implement this function?
> 
> We should all comply to "true and "false
> as being accepted as boolean results.
> 
> I'd suggest some common sets,
> which "doesLogoSup****t" should know,
> (which might even overlap):
> (I take this mostly from the aUCBLogo help, # is a comment)
> (We can also make all items lowercase ones. We should discuss this!)
> 
>
#________________________________________________________________________
> Communication/Transmitters/minimal [print type show]
> Communication/Receivers/minimal [readList readWord readChar]
> Communication/TerminalAccess/minimal [KeyP clearText]
> Communication/FileOpening/minimal [openRead openWrite openAppend 
> openUpdate allOpen setReader setWriter Reader Writer]
> #we could of course also use setRead setWrite instead,
> #then I'd make some copydefs in aUCBLogo
> Communication/FileAccess/minimal [close closeall eraseFile renameFile 
> setReaderPos setWriterPos ReaderPos WriterPos EOFP FileP]
> Communication/Directories/minimal [Files getWorkingDirectory changeDir 
> makeDirectory DirectoryP]
> Communication/Environment/minimal [setEnv getEnv]
> Communication/****tInputAndOutput/optional [****tIn ****tOut]
> Communication/Timing/minimal [Time TimeMilli]
> Communication/Timing/optional [TimeFine MIPS]
> Communication/DynamicLibraries/optional [DLCall]
> Communication/OperationSystem/minimal [LogoVersion doesLogoSup****t]
> #Communication/minimal would contain all items of the minimal items
>
#________________________________________________________________________
> Arithmetic/LogicalOperations/minimal [and or not]
> Arithmetic/LinearOperations/minimal [Sum Difference Minus Product]
> Arithmetic/NumericOperations/minimal [Quotient Modulo abs]
> Arithmetic/NumericOperations/optional [min max]
> Arithmetic/NumberGenerators/optional [iSeq rSeq]
> Arithmetic/RandomNumbers/minimal [random]
> Arithmetic/RandomNumbers/optional [reRandom rnd]
> Arithmetic/IrrationalFunctions/minimal [sqrt power exp ln]
> Arithmetic/IrrationalFunctions/optional [log10 Norm]
> Arithmetic/TrigonometricFunctions/minimal [Sin Cos Tan ArcSin ArcCos
ArcTan]
> Arithmetic/TrigonometricFunctions/optional [radSin radCos radTan 
> radArcSin radArcCos radArcTan]
> Arithmetic/TypeConverters/minimal [Int]
> Arithmetic/TypeConverters/optional [round trunc Signum]
> Arithmetic/PrintFormatting/minimal [Form]
> Arithmetic/BitwiseOperations/optional [BitAnd BitOr BitXOR BitNot]
> Arithmetic/ArithmeticPredicates/minimal [lessP greaterP]
> Arithmetic/ArithmeticPredicates/question [less? greater?]
> Arithmetic/ArithmeticPredicates/optional [lessEqualP greaterEqualP
primeP]
>
#________________________________________________________________________
> DataStructurePrimitives/Constructors/minimal [Word List Sentence fPut 
> lPut combine]
> DataStructurePrimitives/Constructors/optional [Array Table replace]
> DataStructurePrimitives/Rearrangers/optional [reverse sort shuffle]
> #"sort" is not yet defined in aUCBLogo. But it would be very useful.
> DataStructurePrimitives/Selectors/minimal [first last butFirst butLast
Item]
> DataStructurePrimitives/Selectors/optional [pick Items remove remDup]
> DataStructurePrimitives/Mutators/minimal [setItem]
> DataStructurePrimitives/Mutators/optional [setItems removeItem]
> DataStructurePrimitives/Stacks/optional [push pop queue dequeue]
> DataStructurePrimitives/Predicates/minimal [WordP ListP emptyP equalP 
> MemberP NumberP]
> DataStructurePrimitives/Predicates/optional [ArrayP CharP beforeP 
> substringP]
> DataStructurePrimitives/Queries/minimal [count char ASCII]
> DataStructurePrimitives/Queries/optional [Member lowerCase upperCase]
> DataStructurePrimitives/Queries/Objects [this]
>
#________________________________________________________________________
> ConditionalExecution/minimal [if ifElse throw catch]
> ConditionalExecution/optional [error test iftrue iffalse _maybeoutput]
>
#________________________________________________________________________
> Loops/minimal [forever repeat repcount while for]
> Loops/optional [until do_while do_until break continueLoop]
>
#________________________________________________________________________
> VariableDefinition/minimal [make local Thing]
> VariableDefinition/optional [localmake]
>
#________________________________________________________________________
> ProcedureDefinition/minimal [to copyDef define]
> ProcedureDefinition/optional [Text fullText]
>
#________________________________________________________________________
> ControlStructures/minimal [stop output pause continue goTo Tag run bye]
> ControlStructures/optional [ignore wait runResult check]
>
#________________________________________________________________________
> TemplateBasedIteration/optional [apply foreach map filter find reduce 
> crossmap cascade transfer]
>
#________________________________________________________________________
> WorkspaceManagement/WorkspaceQueries/minimal [Contents Primitives 
> Procedures Names Arity LogoLanguage]
> WorkspaceManagement/Inspection/minimal [printOut]
> WorkspaceManagement/WorkspaceControl/minimal [help save load]
> WorkspaceManagement/WorkspaceControl/optional [setCaseIgnored]
> WorkspaceManagement/WorkspacePredicates/minimal [ProcedureP PrimitiveP 
> definedP NameP]
> WorkspaceManagement/WorkspacePredicates/optional [CaseIgnoredP]
> WorkspaceManagement/Editing/optional [edit edall]
> WorkspaceManagement/Erasing/minimal [erase]
> WorkspaceManagement/Erasing/optional [erall reset]
> WorkspaceManagement/Macros/optional [_Macro MacroP]
>
#________________________________________________________________________
> Graphics/RelativeTurtleMotion/minimal [forward back left right]
> Graphics/RelativeTurtleMotion/3d [leftRoll rightRoll upPitch downPitch]
> Graphics/AbsoluteTurtleMotion/minimal [Home setXY setPos setHeading]
> Graphics/AbsoluteTurtleMotion/optional [setX setY]
> Graphics/AbsoluteTurtleMotion/3d [setXYZ setPosXYZ setOrientation]
> Graphics/TurtleMotionQueries/minimal [Pos Heading Pixel]
> Graphics/TurtleMotionQueries/optional [towards Distance]
> Graphics/TurtleMotionQueries/3d [PosXYZ Orientation towardsXYZ
DistanceXYZ]
> Graphics/TurtleControl/minimal [showTurtle hideTurtle]
> Graphics/TurtleControl/optional [wrap Fence WindowMode]
> Graphics/WindowControl/minimal [clean clearScreen]
> Graphics/WindowControl/optional [TextScreen fullScreen splitScreen]
> Graphics/WindowControl/3d [perspective setEye]
> Graphics/TurtleAndWindowQueries/minimal [shownP]
> Graphics/TurtleAndWindowQueries/optional [MousePos]
> Graphics/PenAndBackgroundControl/minimal [PenDown PenUp setPenColor 
> setScreenColor]
> Graphics/PenAndBackgroundControl/optional [setFloodColor setPenSize]
> Graphics/PenQueries/minimal [PenDownP PenColor]
> Graphics/PenQueries/optional [PenSize ScreenColor FloodColor]
> Graphics/DrawingCurves/minimal [circle Arc]
> Graphics/DrawingCurves/optional [Arc2 Ellipse EllipseArc]
> Graphics/DrawingText/minimal [Label]
> Graphics/DrawingText/optional [LabelSize setLabelSize LabelFont 
> setLabelFont LabelAlign setLabelAlign]
> Graphics/DrawingFilledShapes/optional [fill fillRect fillCircle 
> fillEllipse fillPie]
> Graphics/DrawingFilledShapes/3d/optional [Sphere Ellipsoid Cylinder 
> Polygon Surface]
> Graphics/Lighting/3d [setLightPos]
> Graphics/Pictures/optional [saveScreen setSaveSize]
> Graphics/DirectGraphics/minimal [setPixel]
> Graphics/DirectGraphics/optional [RGB HSB]
> GUIprogramming/StandardDialogs/optional [MessageBox DirSelector 
> FileSelector getNumberFromUser getTextFromUser]
>
#________________________________________________________________________
> SoundProgramming/PCSpeaker/optional [Tone Sound]
> SoundProgramming/WaveSound/optional [playWave]
>
#________________________________________________________________________
> 
> 
> This is just an idea,
> but maybe we can develop something out of it.
> Maybe we can use the file format of my ideas
> as a file to work with in the Atlas?
> 
> > There are lots of issues- but could we have a go!
> 
> Yes! I hope this will start the discussion.
> 
> I'm currently trying to orthogonalise aUCBLogo as much as possible,
> so that different features can be in separate modules,
> maybe even in DLLs.
> This might be a good time to adapt aUCBLogo to comply to any standard.
> 
> Cheers,
> Andreas
 




 16 Posts in Topic:
[LogoForum] Logo: Tests for compliance.
"John St. Clair"  2008-02-05 03:16:16 
Re: [LogoForum] Logo: Tests for compliance.
"John St. Clair"  2008-02-05 03:19:47 
Re: [LogoForum] Logo: Tests for compliance.
"John St. Clair"  2008-02-05 05:14:31 
Re: [LogoForum] Logo: Tests for compliance.
"John St. Clair"  2008-02-05 03:23:46 
Re: [LogoForum] Logo: Tests for compliance.
bh@[EMAIL PROTECTED] (Br  2008-02-05 04:18:04 
Re: [LogoForum] Logo: Tests for compliance.
"John St. Clair"  2008-02-06 01:25:53 
Re: [LogoForum] Logo: Tests for compliance.
bh@[EMAIL PROTECTED] (Br  2008-02-06 03:06:02 
Re: [LogoForum] Logo: Tests for compliance.
"John St. Clair"  2008-02-06 14:22:04 
Re: [LogoForum] Logo: Tests for compliance.
Waldek Hebisch <hebisc  2008-02-11 20:14:20 
Re: [LogoForum] Logo: Tests for compliance.
bh@[EMAIL PROTECTED] (Br  2008-02-11 23:57:06 
Re: [LogoForum] Logo: Tests for compliance.
Andreas Micheler <Andr  2008-02-05 10:36:53 
Re: [LogoForum] Logo: Tests for compliance.
bh@[EMAIL PROTECTED] (Br  2008-02-05 15:16:18 
Re: [LogoForum] Logo: Tests for compliance.
Andreas Micheler <Andr  2008-02-05 21:51:36 
Re: [LogoForum] Logo: Tests for compliance.
bh@[EMAIL PROTECTED] (Br  2008-02-06 03:21:56 
Re: [LogoForum] Logo: Tests for compliance.
"John St. Clair"  2008-02-06 14:19:57 
Re: [LogoForum] Logo: Tests for compliance.
"John St. Clair"  2008-02-06 14:25:36 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Fri Jul 25 23:37:57 CDT 2008.