| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | Weaken the language around security promises to be more in line with my ↵HEADmain | Owen Jacobson | 2020-05-21 |
| | | | | | ability to responsibly support this code. | ||
| * | Upgrade docs requirements. | Owen Jacobson | 2019-09-26 |
| | | | | | Several of these dependencies have had security vulns, and while they've all been irrelevant for running Sphinx locally, I'd like the alert emails to stop. | ||
| * | Add license file | Owen Jacobson | 2019-01-06 |
| | | |||
| * | Some basic iteration primitives. | Owen Jacobson | 2017-12-10 |
| | | |||
| * | Write up documentation for the built-in functions and macros. | Owen Jacobson | 2017-12-10 |
| | | |||
| * | Massively expanded the reference section. | Owen Jacobson | 2017-12-06 |
| | | |||
| * | Bump minor version. | Owen Jacobson | 2017-12-05 |
| | | |||
| * | Stop binding greater-than-or-equal-to to > | Owen Jacobson | 2017-12-05 |
| | | |||
| * | Correctly report define errors | Owen Jacobson | 2017-12-01 |
| | | |||
| * | unquote-splicing just plain didn't work. | Owen Jacobson | 2017-12-01 |
| | | |||
| * | Don't macro-expand quoted forms! | Owen Jacobson | 2017-11-30 |
| | | |||
| * | Add (concat strings…) builtin | Owen Jacobson | 2017-11-29 |
| | | |||
| * | Corrections | Owen Jacobson | 2017-11-19 |
| | | |||
| * | Notes towards a gentler intro | Owen Jacobson | 2017-11-19 |
| | | |||
| * | Boolean "not" | Owen Jacobson | 2017-11-19 |
| | | |||
| * | I'm going to need vectors for my target use case. | Owen Jacobson | 2017-11-18 |
| | | |||
| * | Fix dumb typo | Owen Jacobson | 2017-11-18 |
| | | |||
| * | More pycache pruning | Owen Jacobson | 2017-11-18 |
| | | |||
| * | Stop installing pycache dirs, too | Owen Jacobson | 2017-11-18 |
| | | |||
| * | Stop installing tests by default. | Owen Jacobson | 2017-11-18 |
| | | |||
| * | Sphinx setup | Owen Jacobson | 2017-11-18 |
| | | |||
| * | Security notes | Owen Jacobson | 2017-11-18 |
| | | |||
| * | String was broken | Owen Jacobson | 2017-11-18 |
| | | |||
| * | Varargs for user-defined functions, using the Scheme convention of a dotted ↵ | Owen Jacobson | 2017-11-18 |
| | | | | | | | pair or a loose symbol. The ability to bind chunks of code to run in the session when a module is bound. | ||
| * | Macro-binding glue, and a let macro | Owen Jacobson | 2017-11-18 |
| | | |||
| * | Replace the registry mega-tuple with a type. | Owen Jacobson | 2017-11-18 |
| | | | | | | | | | Add some missing builtins: * and * or * uncons | ||
| * | Merge pull request #3 from kennethreitz/patch-1 | Owen Jacobson | 2017-11-15 |
| |\ | | | | | mostly syntax highlighting | ||
| | * | mostly syntax highlighting | Kenneth Reitz | 2017-11-15 |
| |/ | | | makes things much easier to visually parse | ||
| * | REPL now has a nice prompt, and simple readline support. | Owen Jacobson | 2017-11-15 |
| | | | | | Fixes #1 | ||
| * | Fixed binding errors with builtin types "str", "int", and "decimal". | Owen Jacobson | 2017-11-15 |
| | | | | | | | I forgot about wrapping. Fixes #2 | ||
| * | More outline work | Owen Jacobson | 2017-11-15 |
| | | |||
| * | More outline work | Owen Jacobson | 2017-11-15 |
| | | |||
| * | Renamed `defmacro` to `define-macro`, we're not heathens. | Owen Jacobson | 2017-11-15 |
| | | | | | | | Started a language manual outline. Removed stray primer. | ||
| * | Macro expander. | Owen Jacobson | 2017-11-14 |
| | | | | | This includes a fairly complete quasiquote system, and a complete rework of the expander. | ||
| * | fixup! Flatten arguments inside the evaluator. | Owen Jacobson | 2017-11-13 |
| | | |||
| * | `begin` is now a special form. | Owen Jacobson | 2017-11-13 |
| | | | | | | | | | Two reasons: 1. Making it a builtin defeats tail call optimization, as builtins do not participate in TCO. 2. The `begin` form is occasionally generated by the macro expander, and should not rely on library support. | ||
| * | Flatten arguments inside the evaluator. | Owen Jacobson | 2017-11-13 |
| | | | | | This makes it a bit easier to pass and return multiple values, and cuts down on the number of extra tuples created and dismantled. | ||
| * | Compile lambdas on evaluation, not on execution. | Owen Jacobson | 2017-11-13 |
| | | | | | This cuts down the cost of calling a function, as it now reuses an existing continuation rather than reconstructing the continuation for each call. Tail calls are now slightly more explicit. | ||
| * | fixup! Expand the first argument of a form, not just the tail | Owen Jacobson | 2017-11-13 |
| | | |||
| * | Expand the first argument of a form, not just the tail | Owen Jacobson | 2017-11-13 |
| | | |||
| * | Always return _something_ from `display` | Owen Jacobson | 2017-11-13 |
| | | |||
| * | Start tracking the (substantial) hypothesis examples DB | Owen Jacobson | 2017-11-13 |
| | | |||
| * | Distinguish EOF and () in read() | Owen Jacobson | 2017-11-13 |
| | | |||
| * | Fix up missing (begin) in example | Owen Jacobson | 2017-11-13 |
| | | |||
| * | Re-add the repl, and a bunch of stdlib glue. | Owen Jacobson | 2017-11-13 |
| | | |||
| * | A basic expander. | Owen Jacobson | 2017-11-13 |
| | | | | | | This doesn't support macro expansion, but does support some basic syntax niceties. Macro expansion requires quote and quasiquote support. | ||
| * | Big-ass coding binge presents: a Lisp. | Owen Jacobson | 2017-11-13 |
| | | | | | This implements a continuation-passing interpreter, which means we get tail calls ferfree. I stopped short of implementing call/cc, because I don't think we need it, but we can get there if we have to. | ||
| * | Remove lingering scripts entry. | Owen Jacobson | 2017-11-11 |
| | | |||
| * | Introduce input ports. | Owen Jacobson | 2017-11-11 |
| | | | | | | | | | | | | Ports are the lisp abstraction of files and streams. Actinide ports additionally guarantee a peek operation. This makes ``tokenize`` (now ``read_token``) callable as a lisp function, as it takes a port and reads one token from it. This is a substantial refactoring. As most of the state is now captured by closures, it's no longer practical to test individual states as readily. However, the top-level tokenizer tests exercise the full state space. | ||
| * | Testing fixes. | Owen Jacobson | 2017-11-11 |
| | | | | | | | | | | | | | | | | | | | | | | | * Add a top-level test that roundtrips sequences of tokens. (This found a real bug. Thanks, Hypothesis!) * Remove type conversion from the tokenizer. This simplifies the code, and makes testing considerably easier. * Fix some bugs in string literal parsing (again: Thanks, Hypothesis!) Document the test cases, and the case-by-case strategy, better. This also involved prying apart some tests that cover multiple cases. Stop treating empty strings as if they were EOFs. (Thanks, Hypothesis!) fixup! Stop treating empty strings as if they were EOFs. (Thanks, Hypothesis!) Remove type conversion from the tokenizer. It turns out that this made the tokenizer harder to test, because it was doing too many things. The tokenizer now _only_ divides the input port into tokens, without parsing or converting those tokens. Fix up tests for fuck | ||
