Thanks to Stephan Vogel, Liogo has now a full support of German.
Liogo 0.4.1 is a new release to allow this new feature.
Stephan has translated not only message and commands but also most of the documentation. See here: http://liogo.sourceforge.net/de/index.html
I'm proud to announce that Liogo 0.4 is now available.
Liogo 0.4 provides several great enhancements:
- LIOGOI is now a full window program mixing graphics and command line on the same window. Both parts are customizable in size and colours. A
real turtle shape is used as turtle by default.
- Several graphics commands was added to handle images or drawing labels,
- LIOGO now support arrays and multi-dimension arrays,
- LIOGO now comes with an OLE Automation Interface. So you could use Liogo from any OLE enabled application or environnement like Excel or
VBScript. See OLE Tutorial for more,
- A full reference describes all existing commands with a description and parameters meaning.
- LIOGO is now localized both at message level and at language level. English and french are supported today.... read more
I'm proud to announce Liogo 0.4 beta 2.
This new release provides a better user interface on LIOGOI both on .NET 2.0 WinForm and on .NET 3.0 WPF. LIOGOI is now a real Windows application with cursor handling, command history and auto-complete with TAB key.
Liogo 0.4 beta 2 have also enhanced drawing features for label and images. Most image types are allowed (BMP, GIF, JPG, PNG, ...) and turtle heading is used both for labels and images. With these commands you should draw nice pictures.... read more
As you could imagine with the title of this news, I'm just finished to localize Liogo.
So Liogo 0.4 will support both English and French.
Liogo localization is supported both at language level and at user interface level.
- At "language level" means that all Logo language primitives and framework procedures could be localized so for example: "to", "repeat", "make", "print" or "forward" have equivalent in French ("pour", "répète", "écris" and "avance").
- At "user interface level" means that all Logo message could be localized so every trace or error message have a French translation. So for example: "I dont' know how to XXX" is "Je ne sais pas comment faire XXX" in French.... read more
I've just finished to fix a bug. More a feature than a bug: array support. And I've spent weeks on it.
Long time ago when I start to define data types for Liogo I've omitted array. I've done that for two bad reasons: first because I thought that compatibility with UCB Logo was not a priority, second because I thought that nobody used arrays in Logo ! Both assert was completely wrong :-)
Hopefully, Liogo has been thought for extensibility, including on data types. So, all Liogo data types implements a common interface named "ILogoValue". ILogoValue is everywhere in Liogo: variables, parameters, functions output, properties, … To add a new data type, you just need to create a new class using this interface then output a value of this data type from a new procedure (it's exactly what the Logo procedure "array" and "mdarray" done).... read more
This week I've got opportunity to test Liogo 0.3.1 on Windows Vista beta 2 during few minutes.
Except few setup issues (see below), I'm proud to say that Liogo for WPF works perfectly on Windows Vista !
See here few screen capture:
- An overview of different running samples: see http://liogo.sourceforge.net/en/images/capture/liogo_on_vista1.jpg,
- The new 3D view of running app: see http://liogo.sourceforge.net/en/images/capture/liogo_on_vista2.jpg
- XAML generated by Liogo in IE7: see http://liogo.sourceforge.net/en/images/capture/liogo_on_vista3.jpg.... read more
Windows Presentation Foundation is the new UI API for Windows Vista. WPF is a part of .NET Framework 3.0, the next release of the .NET Framework.
I've spent few days to port Liogo to .NET Framework 3.0.
The result is pretty cool:
- All Liogo features fully works on WPF,
- Every Liogo drawing can be generate to a XAML file,
- LIOGOI have now a windows-only user interface.
See more on http://liogo.sourceforge.net/en/wpf.html
I'm proud to announce Liogo release 0.3.
Main new features of Liogo 0.3:
- Performance enhancement: With Liogo 0.3 your Logo program is now three
time quicker average than with Liogo 0.2. Plus: Liogo now beats other Logo
interpreter in most case.
- Improved UCBLogo Compatibility: Liogo 0.3 improve again compatibility
with UCB Logo. Some of most complex UCB Logo program (like "Doctor") now
fully work in Liogo without any change,
- Framework enhancements: New procedures are implemented: container
procedures (PUSH, POP, QUEUE, PPROP, ...), system procedures (TIMEMILLI,
TIME, WAIT, ...), dynamic procedures (FILTER, FIND, REDUCE, ...) and trace
functions (PONS, TRACE, UNTRACE, ...),
- Bug fixes: Most of bugs detected in Liogo 0.1 and Liogo 0.2 have been
fixed in Liogo 0.3,
- .NET Framework 2.0 support: Liogo 0.3 now support the new .NET
Framework 2.0 platform. By the way .NET Framework 1.1 and Mono continue to
be supported platform,
- Deploy and customize: Liogo 0.3 come with a true MSI installer. Plus,
Liogo give you opportunity to customize deployment of your Logo environment.
I hope you'll enjoy this new release and I'm waiting for your feedbacks.... read more
I'm just ending Liogo 0.3 release candidate and I'll now start to do packaging.
The last release of Liogo was in January so there is almost 6 month between Liogo 0.2 and Liogo 0.3.
Of course it's a long time but I've done a hard work on performance, compatibility, framework, customization, ...
I'm really proud of Liogo 0.3 because it's more stable and quick than ever. I've really increase UCBLogo compatibility and now have a customize feature which could be cool for use at school.
Liogo 0.3 continue to be compliant with Linux and Windows and have now a .NET Framework 2.0 version. Wait for the Liogo 0.3 release note to have a full list of new features.... read more
I spent last weeks on debugging to solve a compatibility issue with the UCBLogo DOCTOR sample (See http://www.cs.berkeley.edu/~bh/v2ch9/doctor.html for more).
This sample is taken from the famous Logo trilogy "Computer Science Logo Style" from Brian Harvey.
The first time I run the sample, it seems that it work but suddenly stops with a "variable XXX not initialized" exception :-(... read more
I'm working for few weeks to increase performance of Liogo.
Talking about performance is a four steps task:
1) How measure performance ?
2) What performance must be measured ?
3) How can I compare performance ?
4) How can I improove performance ?
1) How can I measure performance ?
I choosed to implement in Liogo the "timemilli" command from MSWLogo/FMSLogo.
"timemilli" return a tick count so it could be used easily to do a measure between two step of a logo procedure. Something like this:... read more
Sometimes a simple bug fix can be a true nightmare. It's the case for the fix of IFELSE that I've done last weeks. Here why.
In Logo, IFELSE can be used as a statement:
(1) IFELSE true [print "Yes] [print "No]
or as an operation:
(2) print IFELSE true ["Yes] ["No]
As you probably know, with Liogo, all Logo code is translated to C#.
In C#, the Logo equivalent to (1) is:... read more
I've worked last week on .NET Framework 2.0 compatibility. Cool: it works !
Of course, .NET Framework 2.0 is not the main target for Liogo: first because few PCs today had
this .NET Framework version installed and second because no new features of .NET Framework 2.0 is really need for Liogo.
However it's cool to use Visual Studio 2005 IDE to develop. It's the major reason for me to do this change.... read more
Liogo 0.2 is now available.
Liogo 0.2 have major enhancements :
- Interactive Interface: LIOGOI is an interactive command line interface to play with Liogo. LIOGOI is like UCBLogo but with two windows: one for command, one for graphics. In fact, LIOGOI is not an interpreter but a dynamic compiler: everything you type is dynamically compiled and run. LIOGOI is a powerful tools to learn Logo and Liogo,
- Improved UCBLogo Compatibility: The Liogo tokenizer has been rewrite to improve compatibility with UCB Logo which is the "standard" in Logo world. Liogo has now a two pass compiler so you can use a procedure prior to its declaration. Last, Liogo use now Terrapin Logo Style parsing,
- Linux support: Thanks to Mono project, Liogo works both on Windows and Linux. All Liogo features is fully supported on the Linux version. More: you can build your EXE or DLL with Liogo on Windows and run it with Liogo on Linux (and conversely),
- Dynamic statements: Liogo 0.2 support more dynamic procedures and command than ever: MAP.SE, APPLY, INVOKE and FOREACH are now supported and all sort of template is working: named-procedure, procedure-text, named-slot and explicit-slot,
- Framework enhancements: New procedures come from UCBLogo or FMSLogo: SETSCREENCOLOR, SETPALETTE, LOAD, UNLOAD, RUNPARSE, ..., see project home page for reference,
- Bug fixes: Lot of bugs have been fixed, see project home page for reference. ... read more
At the first day of 2006, I've decided than Liogo 0.2 now entering in "release candidate" mode.
I've stopped all development on this version to work on packaging (expected before the end of the month).
It was a hard decision to take because I'd love continue working on compiler, on framework, on current issues... but I think it's time to release all major improvement that I've done since Liogo 0.1: Multi-threading, Interactive compiler, Linux support, ...... read more
I spent the last weeks on Linux compatibility using the very cool Mono projet (http://www.go-mono.com).
Major issues was:
1) LOOP: There is a bug on CodeDom iteration statement in Mono (see on http://bugzilla.ximian.com/show_bug.cgi?id=75292\). A fix was posted by Mono team but too late :-(, I've just finished my loop generation using the C# goto statement ! It's not very nice on generated code but it works !... read more
I'm just finished a major refactoring on Liogo about Logo procedures.
It's a major refactoring because all Liogo layers had been updated: tokenizer, parser, compiler and framework !
Here why I decided to do that.
In Liogo 0.1, a Logo command (or a procedure without "output") was translated to a static method returning a void
and a Logo operation was translated to a static method returning an ILogoValue. For example:... read more
LIOGOI is the Liogo command line interpreter.
With LIOGOI you can play with Liogo and see immediatly what happens on your turtle. In fact, LIOGOI is not an interpreter, it's more like a "logo just in time compiler": every single command that you type on the prompt window is build as a memory DLL.
Of course, LIOGOI use the new multi-thread Liogo core features so the LIOGOI window is not hang when a time consuming Logo job is launch.... read more
I've just finished to change Liogo core to support multithreading. It was a major issue in 0.1.
Multiple turtles can now work at the same time. Each turtle have its own data: heading, position, callstack, local variables, ...
But all turtles share the Logo Context: global variables and loaded libraries.
Of course, few synchronisation mechanisms are used to handle all this stuff !
With multithreading support at core level, it will be really easier to do an interactive UI. It's my next step for release 0.2.
My friend pavel has done a talk at EuroLogo conference on Lhogho and on "what is a Logo Compiler ?".
Do you know that a Logo Compiler is like a "living creature" because it could generate a new Logo program at runtime ? I do like this idea ! Get the full Pavel's talk on http://eurologo2005.oeiizk.waw.pl/PDF/E2005Boytchev2.pdf .
I'm working on Liogo 0.2. In this release, I hope to solve all current issues and include a basic interactive UI (like UCBLogo). I'm looking too on the graphic framework: RGB color and palette are already supported, Fill and Label are on the way but more complex that I thought (not all Logo features are in .NET Framework). Last but not least, a good news: a proposed fix has been post on my Mono 1.2 bug (see http://bugzilla.ximian.com/show_bug.cgi?id=75292\). Thanks to Atsushi Enomoto !
I'm proud to announce that Liogo 0.1 is now available !
Go to http://liogo.sourceforge.net for more.
The firsts methods from the Graphic Framework are now available in Liogo: forward, back, left and right. I choose to test it with the exercices from Daniel Ajoy (http://mondragon.angeltowns.net/paradiso/Construcciones.html): and it works !
If I find time to do this, I hope to release a first release of Liogo in few weeks: wait and see.
Last week I exchanged few mails with Pavel Boytchev on how to do a Logo Compiler: it was pretty cool. Remember the name of "Lhogho", In few month I'm sure it should be THE Logo Compiler.
I've completed MAP operation (only on a function at first). Few dynamics operation is missing, specifically use of variable as list of statements. The next step will be Turtle graphics.
Bad news for Mono: Because of a bug on CodeDOM API in Mono, none of the iteration statement (repeat, loop, forever, for,...) work on Mono :-( I've post a bug on http://bugzilla.ximian.com/show_bug.cgi?id=75292. I hope Mono team could find a solution.... read more
I'm just finished to implement compilation for all structural statements: procedure, variable, loop, conditional, output, ...
I can't resist to share with you this result. So, a first full sample can be seen here: http://liogo.sourceforge.net/en/tutorial.html
Today is a great day: the first logo command line has been compiled by LIOGO. It's just a simple line: print "HelloWorld! but It's a first step. I'm confident to have more in few weeks.