leibniz-pharo
The second iteration of Leibniz, implemented in Pharo making heavy use of the Glamorous Toolkit
pre-built GToolkit distribution
Installation in aExecute the following lines in a playground:
Metacello new
baseline: 'LeibnizForGToolkit';
repository: 'github://khinsen/leibniz-pharo/src';
load.
Note that Leibniz makes generous use of Unicode glyphs that are not contained in the default fonts used by GToolkit. The only suitable free fonts I have found to replace them are JuliaMono and Arial Unicode MS. Leibniz will automatically select one of them, if available, for use in graphical displays.
If you want to correctly display these Unicode glyphs in Pharo code (in strings and symbols used by Leibniz), you have to replace the GToolkit default fonts by JuliaMono (or another suitable monospaced font). Run the following script from a playground:
TBlTextStyleable compile: 'glamorousCodeFont
self fontName: ''JuliaMono'''.
TBlTextStyleable compile: 'glamorousCodeDefaultFont
self defaultFontName: ''JuliaMono'''.
Dependencies
The following list is provided for information. All the dependencies will be installed automatically in the procedure explained above.
- XMLParser is used to read Leibniz documents.
- RecursiveWriteBarrier is used to make some objects fully immutable.
- EqualityThroughVariablesTrait is a trait that implements object equality in terms of equality of instance and indexed variables.