M CHANGELOG.md => CHANGELOG.md +57 -1
@@ 15,8 15,64 @@ SemVer.
+ ## [1.2.0] 2019-08-20
+ After nearly a year without updates, Funlisp v1.2.0 is released! This release
+ brings several new language features and API additions. On top of that, I've
+ moved the main development Git host to
+ [Sourcehut](https://git.sr.ht/~brenns10/funlisp/), although the GitHub
+ repository will continue to act as a mirror. Releases will still have to be
+ found on GitHub, since Sourcehut does not have a suitable system for that yet.
+ In a similar vein, we now have a mailing list,
+ `~email@example.com`. This will contain version announcements,
+ and any patches are welcome to be submitted there! For docs on using the list,
+ see [Sourcehut manual](https://man.sr.ht/lists.sr.ht/). TLDR:
+ - Email `~firstname.lastname@example.org` with any subject/content
+ in order to subscribe.
+ - Email `~email@example.com` to unsubscribe.
+ You may notice some test posts on the list -- no more will be posted, so it is
+ safe to subscribe if you're interested. You need not be a member of Sourcehut
+ to use the list, submit patches, or browse the repository.
- - `let` builtin
+ - `let` statement for binding names to values. Sample usage:
+ (define sum-of-squares (lambda (x y)
+ (let ((x_sq (* x x))
+ (y_sq (* y y)))
+ (+ x_sq y_sq))))
+ (sum-of-squares 3 4)
+ -> 25
+ - `cond` statement for multi-case conditionals. Sample usage:
+ (define get-maintainer (lambda (file)
+ ((eq? file "Makefile") "Stephen")
+ ((eq? file "inc/funlisp.h") "Stephen")
+ (1 "Stephen"))))
+ - Documentation for the `macro` statement which existed in 1.1 is now present on
+ the documentation site + manual page.
+ - Modules!
+ - Use `(import module)` to either load the builtin "module" or read
+ "module.lisp" and access its defined symbols.
+ - C API for creating builtin modules exists, and is documented.
+ - First module, `os`, containing `getenv` function, is created. I have not yet
+ figured out a solid standard library documentation system, so consider the
+ builtin modules and their functions to be provisional.
+ (import os)
+ (os.getenv "HOME")
+ -> "/home/stephen"
- `macro` construct was incorrectly evaluating its arguments prior to execution.
This change is breaking, but since it reflects major incorrect behavior, it
M LICENSE.txt => LICENSE.txt +1 -1
@@ 1,4 1,4 @@-Copyright (c) 2018, Stephen Brennan.
+ Copyright (c) 2018-2019, Stephen Brennan.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
M Makefile => Makefile +1 -1
@@ 10,7 10,7 @@ src/module.o
all: bin/libfunlisp.a bin/funlisp bin/repl bin/hello_repl bin/runfile \
M doc/conf.py => doc/conf.py +2 -2
@@ 26,11 26,11 @@ # -- Project information -----------------------------------------------------
project = 'funlisp'
- copyright = '2018, Stephen Brennan'
+ copyright = '2018-2019, Stephen Brennan'
author = 'Stephen Brennan'
# The short X.Y version
- version = ''
+ version = '1.2.0'
# The full version, including alpha/beta/rc tags
release = ''