MSWLogo


MSWLogo is a programming language which is interpreted, based on the language Logo, with a graphical user interface front end. It was developed by George Mills at the Massachusetts Institute of Technology. Its core is the same as UCBLogo by Brian Harvey. It is free and open-source software, with source code available, in Borland C++.
MSWLogo supports multiple turtle graphics, 3D computer graphics, and allows input from ports COM and LPT. It also supports a windows interface, so input/output is available through this GUI, and keyboard and mouse events can trigger interrupts. Simple GIF animations may also be produced on MSWLogo version 6.5 with the command gifsave. The program is also used as educational software. Jim Muller wrote The Great Logo Adventure, a complete Logo manual using MSWLogo as the demonstration language.
MSWLogo has evolved into FMSLogo: An Educational Programming Environment, a free, open source implementation of the language Logo for Microsoft Windows. It is released under the GNU General Public License and is mainly developed and maintained by David Costanzo.

Features

MSWLogo, as of version 6.5b, supports many functions, including:
CommandAbbreviationsSyntaxOutputExample
FORWARDfdFORWARDMoves turtle forward for number of times specified"forward 100" or "fd 100"
BACKbkBACK Moves turtle back for number of times specified"back 100" or "bk 100"
RIGHTrtRIGHT Turns turtle right for number of degrees specified"right 228" or "rt 228"
LEFTltLEFT Turns turtle left for number of degrees specified"left 228" or "lt 228"
HOMEhomeHomeComes to screen center but does not clear the screen"home"
CLEANct csCleanClears the screen of trails but the turtle remains where it is without moving"clean"
CLEARSCREENCSClearscreenClears the screen of trails and comes to screen center"cs"
HIDETURTLEHTHide turtleHides the turtle and aids viewing a clear drawing on the screen"ht"
SHOWTURTLESTShow turtleShows the turtle after it is hidden from the screen"st"
PENUPPU Pen upSets the turtle to move without drawing"pu"
PENDOWNPD PenResets to a drawing pen when ordered to move"pd"
CLEARTEXTCTClear textClears all text in the command screen"ct"
CIRCLErepeat 360 CircleMakes a circle"circle"
PatternpayPatternMakes a pattern"pattern"