Skip to content
This repository has been archived by the owner on May 23, 2021. It is now read-only.

Commit

Permalink
Update documentation and CHANGELOG
Browse files Browse the repository at this point in the history
  • Loading branch information
spy16 committed Feb 22, 2020
1 parent a113144 commit ce6bf55
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 4 deletions.
46 changes: 44 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,50 @@
# Changelog

## 0.1.0 (2020-01-18)
## v0.2.2 (2020-02-21)

Initial public release.
* Add type init through Type.Invoke() method
* Remove GoFunc in favor of Fn

## v0.2.1 (2020-02-19)

* Add slang tests using lisp files (#8)
* Added tests for function definitions
* Improve function call reflection logic to handle error returns

## v0.2.0 (2020-02-18)

* Add evaluation error with positional info
* Add position info to Set, List, Vector, Symbol
* Add slang runtime package, add generic repl package
* Add support for variadic functions

## v0.1.3 (2020-02-04)

* Add Values type and Seq types
* Add let and throw special forms
* Add support for multi-arity functions
* Convert List, Set, Vector, Symbol types to struct
* Modify List, Set, Vector types to embed Values type
* Move special form functions into sabre root package
* Add parent method to scope and modify def to apply at root scope

## v0.1.2 (2020-01-23)

* Add working clojure style quote system
* Move SpecialFn to sabre root package as GoFunc
* remove redundant strictFn type

## v0.1.1 (2020-01-20)

* Add error function and type functions
* Add experimental Set implementation
* Add special Nil type, add not & do core functions
* Add type check and type init functions for all types
* Add unit tests for all string and eval methods
* Fix nested lambda binding issue
* Split builtin functions into core package

## v0.1.0 (2020-01-18)

* Fully working LISP reader.
* Working Evaluation logic with no automatic type conversion.
Expand Down
2 changes: 2 additions & 0 deletions repl/repl.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// Package repl provides a REPL implementation and options to expose Sabre
// features through a read-eval-print-loop.
package repl

import (
Expand Down
2 changes: 2 additions & 0 deletions sabre.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// Package sabre provides data structures, reader for reading LISP source
// into data structures and functions for evluating forms against a context.
package sabre

import (
Expand Down
2 changes: 1 addition & 1 deletion slang/core.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ func Concat(s1, s2 sabre.Seq) sabre.Seq {
return vals
}

// Realize realizes a sequence by continuosly calling First() and Next()
// Realize realizes a sequence by continuously calling First() and Next()
// until the sequence becomes nil.
func Realize(seq sabre.Seq) *sabre.List {
var vals []sabre.Value
Expand Down
5 changes: 4 additions & 1 deletion slang/slang.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
// Package slang (short for Sabre lang) provides a tiny LISP dialect built
// using factilities provided by Sabre. See New() for initializing Slang
// and using it.
package slang

import (
Expand Down Expand Up @@ -92,7 +95,7 @@ func (slang *Slang) Resolve(symbol string) (sabre.Value, error) {
return slang.resolveAny(symbol, *nsSym, nsSym.WithNS("core"))
}

// BindGo is similar to Bind but handles convertion of Go value 'v' to
// BindGo is similar to Bind but handles conversion of Go value 'v' to
// sabre Value type.
func (slang *Slang) BindGo(symbol string, v interface{}) error {
return slang.Bind(symbol, sabre.ValueOf(v))
Expand Down

0 comments on commit ce6bf55

Please sign in to comment.