News and announcements

Does Viper Development Reflect Historical Developments?

Written for Viper System Interface by Michael Titke on 2016-08-08

Total number of lines for different output paths:
(original REPL: 1 line)
VSI PREPL: 400 lines
Terminal Application: 1298 lines
Incomplete Graphical Input Output: initially 48 lines due to a mistake in calculating the line numbers;
 More than 9459 lines and an expected exponentially risen complexity of the ever unfinished puzzle for simple interaction.
There's more than computers as far as algorithms are concerned and there's more than algorithmic puzzling to leverage boredom and message passing.

There's no sense if not aesthetical sense.

Read more

Nature Release

Written for Viper System Interface by Michael Titke on 2016-07-01

This is a combined release of VSI Nature and the Viper Editor version C1. Both are to be consdered mostly untested development snapshots.

This version of the Viper System Interface uses the code name Nature: "It's as sober as the woods." It features memory management based on reference counting only, support for byte strings and brass (high code point support) as well as name spaces. Additionally it includes the Viper Object System, i.e. the application framework in development of the Viper Editor.

Where Nature can only reach into some areas the next release will strive to be feature complete. The internal code name is Puzzle Box. There is no time frame for that release but sketches of some of the pieces of that puzzle can already be found among the trees of Nature:

    GIO: graphical input output
    XI: interactive interpreter
    Analyzer: some backend for debugging, optimization and sequencing

Breaking Winter News

Written for Viper System Interface by Michael Titke on 2015-10-30

On the way to the Algorithmic Notation Scheme ( far away from old reports or being finished):

- experimental support for BYTE STRINGS and BYTE STRUCTURES has arrived: no need to revert to C just because of one more struct with awfully important information in it

- the introduction of a memory management discipline with Reference Counting only is still work in progress but has advanced enough to give first impressions of such a system

Some explicit regressions have been necessary as parts of the code base are considered unmaintainable and hindered other changes with higher priorities:

- support for the old debugging routines has been dropped
- support for the GOOPS (the CLOS like object system based on TinyCLOS) has been dropped

There are currently no plans for immediate replacements.

Alfa Revolutions / Errata Preview Release

Written for Viper System Interface by Michael Titke on 2015-07-23

On the way to the next release - tagged Touring Sportivo - Alfa Revolutions is proud to present its latest invention: an on/off switch for the garbage collector. Right now it's still a compile time source code change but it's a first milestone on the road to a controllable and adaptable memory location recycling scheme.

This special task force driving the development has found two major flaws in the Preview Release, too.

1) A variable half the size of a pointer was used to hold a pointer. Due to the heavy use of casts there was no compiler warning for this. Depending on compilation and code changes this resulted in errors or not.

2) The stack size detection was based on wrong assumptions about the stack layout. This at least affects systems compatible to the current AMD64 / System 5 Application Binary Interface (valid for Linux on both current Macs and PCs). The position used as the top of the stack was an arbitrarily chosen location within the stack by the compiler. This kind of stack layout complies perfectly with the current ABI in effect and is compatible with any well written software. Due to this error the garbage collector was not always able to find all references on the stack during it's mark phase leading to pseudo stable-random errors depending on usage and compilation. It is currently unknown why these errors didn't have a severe impact on the Preview Release. Probably the original source code of GNU Guile 1.8 (the basis of the Preview Release) contained means to circumvent hard error conditions resulting from the flaws. (NB This kind of stack detection still seems to be present in Guile 2.0.11)

Viper System Interface is Here

Written for Viper System Interface by Michael Titke on 2015-06-30

The clean room build works and provides an adaptable and extendible platform.
Right now it should still be 100% compatible to Guile 1.8 except for the temporary outage of SRFI-60 which should be fixed soon.
You can try it, test it and file bug reports even if there is no release yet. Please revert to GNU Guile's documentation for now.

15 of 5 results