Skip to content

Releases: vygr/ChrysaLisp

Windy September

16 Sep 11:47
Compare
Choose a tag to compare

Lots of new goodies in this release. Check back over the last 80 commits for the full list.

Biggest reason to put out a point release is that all the GUI classes have moved over into the gui/ folder rather than being mixed in with the general class library.

Hope everyone is safe with these Typhoons and Hurricanes around at the moment !

Best Regards

Chris

July's Just hot !

23 Jul 16:53
Compare
Choose a tag to compare

Hope everyone's enjoying the heat wave !

This release has a new system of dynamically allocated mailboxes, and the mailbox id's changed to be a single 64bit ulong of the local mailbox index and the cpu index.

This removes any memory address info from the mail headers, and allows tasks to hand off mailboxes to another task on the same CPU, something that may prove very useful.

As a result of the 64bit mailbox id's plenty of code has gotten simpler, and the Lisp bindings to the task system have been improved.

Regards to all

Chris

April Showers

25 Apr 16:49
Compare
Choose a tag to compare

Time for a new release. Plenty odds and ends improved and tweaked. Large push on reference documentation thanks to some nice contributions from Alex Davies.

New 'make' command from the terminal to simplify building the system and docs:

make [doc all platforms boot]

No need to bring up the Lisp and fiddle with the various Lisp versions of the build commands.

Native implementation of the 'partition' function to speed up sorting and others, plus that's a nice demo of calling back to Lisp code from the class library.

Simple hex dump command 'dump' to ease people into writing command line apps. Will get a follow on doc sometime as a tutorial app.

Best regards

Chris

Ready for Febuary

30 Jan 17:01
Compare
Choose a tag to compare

Well after all the changes to the UI properties system to be Lisp set/def compatible and a new FFI way of binding in native functions to the Lisp, and such bindings being created for various UI components, system and STDIO classes, we now have all the command line apps and all but the Terminal UI app written in Lisp !

I think that deserves the bump to Lisp 1.3 finally on the Lisp sign on message, and a new milestone release.

Without a doubt the ease of creating UI and command line apps just took a big jump, and the system boot image size took a reasonable reduction, while not much impact on the performance of anything.

Regards to all

Chris

New year. You've got mail !

03 Jan 12:17
Compare
Choose a tag to compare

Total re-write of the underlying mail system.

Now implements zero copy send/receive, zero copy multicast send, ability to send and receive reference counted string objects between processes and multicast of strings. Large messages/strings are fragmented and reconstructed with no extra copies also !

Take a look at tests/global and tests/global_child (in the tests/test.vp file) for a demo of the multi-casting.

So this means we are now in a position to allow the Lisp to send/receive strings from Lisp processes and they can now take part in all mail functionality including receive and handle GUI mouse/key events !

Now I need to hook up the Lisp to the mail system and the new GUI property system and we will have Lisp only GUI apps that can do anything they like with messaging and so forth.

Getting there ! The goal here is to have Lisp being the prime language for writing "normal" application, with exposure to the C-Script and assembler level for specialist apps only.

Best Regards and a happy new 2018 to all.

Chris

Christmas Cheer

27 Dec 16:59
Compare
Choose a tag to compare

Last release for 2017 :)

The UI widgets are now using a Lisp compatible properties system, so we are in good shape now to start manipulating UI widgets from Lisp code.

Lots of other little tweaks, check the commit logs for the full list.

Next job will be to get UI applications written in Lisp, not just as a side thread calling over to a VP thread doing the actual UI code.

Hope 2018 is good for all.

Regards

Chris

Never November

02 Nov 16:32
Compare
Choose a tag to compare

November already !

Release time. Best to check the commit logs for all the updates, theres been quite a few !

Things have moved far enough from the previous release that it's a good time to create a new one for those people that are just looking at the latest release tag and not pulling everything from the head of the repo.

Enjoy

Chris

Multi platform pleasure

10 Oct 17:49
Compare
Choose a tag to compare

Worth a release now that the multi-platform tidy up is done. obj/ now holds all the binaries for the various platforms and cpu's in separate namespaces. A source build to generate the 3 currently supported platforms take 5 seconds on my MacBook. :)

Also the concept of a hash_map based environment chain has moved into the class library proper rather than being just part of the Lisp class. The component class also now inherits from hash_map and this is going to be where the GUI objects get all the properties system from. It will also mean that set/def from Lisp will be able to work with GUI objects directly, so this will be the next thing, GUI to get some re-structuring and some love.

Regards to all

Chris

PI GUI

28 Sep 16:06
Compare
Choose a tag to compare

GUI on the PI3 is now up and running.

Enjoy.

Chris

Holy Cow

24 Sep 11:19
Compare
Choose a tag to compare

I say Holy Cow and I mean it !

Major bug found in the heap allocator that has been there for over 2 years. It's so embarrassing. It was allocating 16kb blocks PER object rather than 16kb blocks OF objects.

Memory usage for full build has now dropped from 300MB+ to a few megabytes, plus cache usage has gone through the roof and full build times have dropped to 2s.

Plus the PI3 now puts in very respectable full builds times.

Sorry for the huge cock up, but we live and learn :)

Regards

Chris