LibreLogo

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
LibreLogo
Original authorsLászló Németh
András Tímár
Initial release27 June 2012; 14 years ago (2012-06-27)[1]
Stable release
Same as LibreOffice version
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inPython-PyUNO
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemLinux, Windows
    Available inSame as LibreOffice version
    TypeIntegrated development environment, software extension, part of an application
    LicenseGPL, LGPL v2.1, and MPL v1.1
    Websitelibrelogo.org

    LibreLogo is an integrated development environment (IDE) for computer programming in the programming language Python, which works like the language Logo using interactive vector turtle graphics. Its final output is a vector graphics rendition within the LibreOffice suite. It can be used for education and desktop publishing.

    History

    [edit | edit source]

    Logo toolbar and interpreter was programmed by László Németh, and help with integration was provided by András Tímár.[2] It was released as an extension to LibreOffice before code was merged into LibreOffice 4.2.3.3 main code in 2014.[3]

    The lightweight implementation (1,400 lines in Python-PyUNO) uses the embedded Python to give a simplified programming interface to the vector graphics of LibreOffice for graphic design and education (including teaching of word processing).[2]

    Installation

    [edit | edit source]

    LibreLogo is embedded in every version of LibreOffice after 4.2.3.3, released in 2014. It can also be installed as an extension for earlier versions.[4]

    Its main UI is a toolbar in Writer (View ▸ Toolbars ▸ Logo).[5]

    Usage

    [edit | edit source]

    Touching the up arrow on the Logo toolbar activates the turtle, then the source code is typed directly onto the same page. The graphic is in Scalable Vector Graphics (SVG) format and can be copied and pasted into other documents.

    The syntax of LibreLogo is similar to UCBLogo. It supports the ¨word syntax for strings, the 'word' notation, and importantly, recursion. Commands can be entered in the toolbar, or compiled and run from the Writer page.

    Hello world example

    [edit | edit source]

    Here is a "Hello, World!" program example.

    circle 10cm
    fillcolor 'blue' pencolor 'red' pensize 2 circle 5cm
    forward 200 right 89 circle 5
    repeat 88 [ forward 200 right 89 ] fill
    repeat 9 [ label 'Hello, World!' right 20 ]
    repeat 100 [ penup position any pendown pensize random 10 fillcolor any square 20 + random 100 ]
    
    [edit | edit source]

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    Bibliography
    [edit | edit source]