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 11 of 16 Topic 1561 of 1596
Post > Topic >>

Re: [LogoForum] Logo: Tests for compliance.

by Andreas Micheler <Andreas.Micheler@[EMAIL PROTECTED] > Feb 5, 2008 at 10:36 AM

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 18 22:57:22 CDT 2008.