New style for the site

New style for the sites at octaspire.io and octaspire.com

Octaspire Maze version 0.76.0 released

Version 0.76.0 of the Octaspire Maze puzzle game is now released. It is released using similar archived format as is used with Octaspire Dern (release.tar.bz2)

Octaspire Lightboard version 0.39.0 released

Version 0.39.0 of the Octaspire Lightboard puzzle game is now released. It is released using similar archived format as is used with Octaspire Dern (release.tar.bz2)

Octaspire Dern version 0.213.0 released

Dern has now initial build script for macOS. It builds the unit test runner, REPL and embedding example, but not the other examples and programs with dynamic plugins. Dern is now also tested automatically in linux and macOS using Travis.

Octaspire Dern version 0.229.0 released

Sat, 09 Sep 2017 15:37:09 +0300

Builtin howto added

Dern has now builtin howto. If you want to know what builtins, specials or user functions give a given result for the given arguments, you can use use howto. It works with functions that don’t have significant side effects. Example:

howto.dern
(howto 1 2 3)        ; -> +
(howto [a] [b] [ab]) ; -> +

Changes into special define break old code

Implementation of special define is changed in a manner that breaks old code. New way of using define is:

define.dern
;;; Variables ;;;

(define pi as 3.14 [value for pi])
(define pi as 3.14 [value for pi] in (env-global))

;;; Functions ;;;

(define double as (fn (x) (* 2 x)) [docstr] '(x [docstr]) howto-ok)
(define double as (fn (x) (* 2 x)) [docstr] '(x [docstr]) howto-no)

(define f as (fn () 10) [docstr] '() in (env-global) howto-ok)

Comparison of Dern values improved

Sat, 23 Sep 2017 15:39:38 +0300

The comparison implementation for Dern values is improved. The same code is now used by all comparison operators (like == < <= > >=). This should make the code less error prone and it also adds support for many comparisons that were not implemented earlier. For example:

compare.dern
(< '(1 2 3) '(1 2 4))                  ; true
(< (hash-map 1 |a|) (hash-map 1 |b|))  ; true
(< (fn (a) (+ a a)) (fn (b) (+ b b)))  ; true
;...

Binary plugin support and socket plugin added for Microsoft Windows

Sat, 07 Oct 2017 21:27:03 +0300

Binary plugins are now supported also on Microsoft Windows.

The socket plugin that was earlier available on UNIX systems is now also available on Microsoft Windows. The examples -directory in the amalgamated source release contains also two new socket examples: echo server and client.

Dern has now binary directory plugin

Wed, 11 Oct 2017 16:15:12 +0300

Dern has now binary plugin for getting directory listings:

directory-listing.dern
(require 'dern_dir)

(define v as (dir-get-listing [.]) [directory listing])
(println v)

Dern ncurses plugin and IRC client example work in Windows

Sat, 14 Oct 2017 22:08:27 +0300

Dern ncurses plugin and the IRC client example written in Dern are now available and working also in Microsoft Windows.