Commit Graph

  • 2cceb9e538 fixing function? and disassemble JeffBezanson 2009-04-21 15:47:30 +0000
  • d6f73d0bf0 implementing #vu8 read and print syntax for uint8 vectors much more compact string representation of bytecode JeffBezanson 2009-04-21 15:35:46 +0000
  • 305c350c56 a couple small fixes making bytecode representation more space-efficient JeffBezanson 2009-04-21 14:53:18 +0000
  • 25812731cc eliminating interpreter. the bytecode VM is now fully bootstrapped. making the empty vector a singleton removing syntax environment stuff from core reimplementing eval using the compiler fixing a couple bugs in long argument lists JeffBezanson 2009-04-21 00:56:05 +0000
  • 5ab7a7c1e1 adding new "translucent" function type for byte-compiled lambdas JeffBezanson 2009-04-19 22:22:17 +0000
  • aa62ae9e96 allowing (copy x) and other byte stream functions only on plain-old-data types adding plain-old-data? predicate adding string.join JeffBezanson 2009-04-19 16:48:09 +0000
  • 2ed581e62d adding top-level-value and set-top-level-value!, using them instead of set and eval where appropriate adding separate integer? and integer-valued? predicates JeffBezanson 2009-04-17 14:41:15 +0000
  • 86b7738c89 cleaning up implementation of apply() entry point removing use of interpreter in computed calls to builtins JeffBezanson 2009-04-17 03:40:52 +0000
  • 94814a2e34 a bug fix and a first pass at let-optimization JeffBezanson 2009-04-16 21:20:15 +0000
  • 0a3590aa01 some optimizations JeffBezanson 2009-04-16 14:21:16 +0000
  • ad4a086790 converting for to a special form adding loadi8 instruction cleaning up numeric comparison, reducing repeated code JeffBezanson 2009-04-16 03:05:38 +0000
  • 36a209cd5f making = a builtin fixing = and eqv? to work properly on NaNs fixing other comparison predicates to be consistent JeffBezanson 2009-04-15 23:54:43 +0000
  • 81641a2240 fixing glaring bug in last revision JeffBezanson 2009-04-15 00:30:24 +0000
  • 672558d30f bytecode vm is now working, off by default various bug fixes JeffBezanson 2009-04-15 00:12:01 +0000
  • b9a1be78a0 implementing op_closure, fix to loadc/setc JeffBezanson 2009-04-09 16:09:02 +0000
  • debf3fd517 moving (length) out of core changing another recursive call to goto adding special cases in compiler for 0 and 1 argument versions of some vararg builtins beginning implementation of bytecode interpreter JeffBezanson 2009-04-09 04:04:27 +0000
  • ea5d334626 some cleanup, removing some unnecessary global bindings JeffBezanson 2009-04-08 18:17:02 +0000
  • 43cb51f640 replacing a recursive call with a goto; saves lots of stack space. JeffBezanson 2009-04-07 15:55:13 +0000
  • e119a66bcd moving lognot out of core fixing type check in ash JeffBezanson 2009-04-02 03:53:38 +0000
  • 8e78e4cdbb making some utf8 routines more robust against invalid data implementing tail position in compiler adding arg count checking for instructionized builtins JeffBezanson 2009-04-02 02:22:38 +0000
  • 28c39e8cf0 fixing definition of let* JeffBezanson 2009-04-01 22:23:19 +0000
  • 43e8d1fbf0 adding the ability to heap-allocate extentions to the value stack, so recursion depth is limited only by the process stack limit. JeffBezanson 2009-04-01 04:31:49 +0000
  • 2ddbac400a fixing bug in hash table. growth schedule made it possible for maxprobe to decrease, causing growth during rehashing, which leaks the table. JeffBezanson 2009-03-28 23:46:02 +0000
  • e3158b8640 adding nestlist, to-proper, string.rep, pad-l, pad-r, trace, untrace, table.invert, table.foreach reorganizing system.lsp so functions are grouped sensibly scheme implementation of a simple bytecode compiler JeffBezanson 2009-03-28 21:39:04 +0000
  • c076be667b fixing bug in macroexpand on lambdas JeffBezanson 2009-03-27 03:47:11 +0000
  • 4cb9685266 adding support for arbitrarily-long argument lists argument lists are heap-allocated after a certain cutoff (currently 127) JeffBezanson 2009-03-27 03:06:55 +0000
  • fe72c101e2 avoiding sprintf for error messages where possible moving raise, logand, logior, logxor, and ash out of core changing prog1 to a special form JeffBezanson 2009-03-25 02:28:21 +0000
  • b63a23eb1a char read/print improvement adding char.upcase and char.downcase JeffBezanson 2009-03-24 21:27:38 +0000
  • a9b0f7879b removing some unnecessary stuff improving key-error JeffBezanson 2009-03-23 20:44:19 +0000
  • 8f93c9dfc6 adding string->number JeffBezanson 2009-03-23 19:49:08 +0000
  • 9023705d27 adding some error messages adding io.seek, io.copyuntil adding #\uHHHH hex character literal read syntax JeffBezanson 2009-03-22 02:05:26 +0000
  • 7059a471a1 initial implementation of let-syntax JeffBezanson 2009-03-17 21:53:55 +0000
  • 5edb75af2c making nconc, assq, and memq builtins some small optimizations to string.map, string.trim, string.inc, string.dec, aref JeffBezanson 2009-03-17 03:29:17 +0000
  • 5681745bc3 adding apply1, using it in trycatch (avoids consing) allowing left bit shift to overflow to larger types fixing bug in number->string on uint64 fixing bug in rand.uint64 JeffBezanson 2009-03-13 22:26:44 +0000
  • dceced2bb0 fix bug in (case) reducing use of strlen JeffBezanson 2009-03-13 14:54:48 +0000
  • 0643a4f3a2 fixing bug in datum comment #; improving some library functions JeffBezanson 2009-03-13 03:30:10 +0000
  • bfa30fb095 allowing logand, logior, logxor to accept any number of arguments adding negative?, positive?, zero?, even?, odd?, for-each adding *linefeed*, terpri JeffBezanson 2009-03-12 02:47:34 +0000
  • d81e6c2d57 adding ash function making more functions static removing list_nth, using vectors for enums instead making more operators return fixnums where possible JeffBezanson 2009-03-11 19:16:40 +0000
  • 05ef9f42a5 simplifying (string) to just princ-to-string small printing improvements JeffBezanson 2009-03-11 14:52:37 +0000
  • e2b7652e36 some printing improvements JeffBezanson 2009-03-10 19:29:30 +0000
  • fdfaacfbe5 adding io.putc, io.tostring!, string.map, print-to-string fixing bug in ios, not initializing readonly flag updating string and sizeof to use new strstream functions removing some redundant numeric type init functions JeffBezanson 2009-03-05 03:48:17 +0000
  • 40cff81550 more reorganization of LLT adding io.readuntil, io.readline improvements to ios_readprep JeffBezanson 2009-03-03 03:16:30 +0000
  • 2cf5187ca9 adding dump, memstream, io.read, and io.write more renaming allowing iostreams to be read-only fixing bug allowing arrays with 0-size elements JeffBezanson 2009-03-02 04:26:16 +0000
  • 923c7d5495 fixing bug reading negative constants with #b,o,d,x adding string.trim JeffBezanson 2009-02-28 01:59:01 +0000
  • c1610f0a9f changing load to expand each expression before evaluating improve performance by reloading system.lsp with this loader other misc. changes JeffBezanson 2009-02-26 18:15:38 +0000
  • 7883a5de0b fixing ambiguity in reading hex numbers and floating point making print robust against the undefined value JeffBezanson 2009-02-24 18:31:05 +0000
  • 115b2843fb adding copy and string.count JeffBezanson 2009-02-24 04:12:33 +0000
  • 6c56120669 better solution for allowing an input stream to be relocated while reading from it improving prettyprinting of lists of short strings JeffBezanson 2009-02-24 02:21:16 +0000
  • 76edead57b adding (do ) form JeffBezanson 2009-02-20 19:50:35 +0000
  • 3aad0bd6be fixing some bugs in lerror and read making memory errors non-consing (duh) cleaning up main() a bit adding case macro, moving other stuff around a bit JeffBezanson 2009-02-20 05:11:05 +0000
  • f1927a3b57 moving delete-duplicates and new f-body so they can be macroexpanded in advance deprecating setf, labels, and try (weren't used anywhere) adding string.tail changing match to use delete-duplicates JeffBezanson 2009-02-19 22:29:47 +0000
  • 0c0471e856 moving implementation of startup, repl, load, and top-level exception handler into system.lsp JeffBezanson 2009-02-19 03:31:40 +0000
  • 79e12b2dcb adding io.print and io.princ misc. touch-ups JeffBezanson 2009-02-09 05:38:40 +0000
  • 1097597437 file stream creation and io.read JeffBezanson 2009-02-09 03:22:31 +0000
  • 2a083db293 adding named let JeffBezanson 2009-02-06 03:41:24 +0000
  • 2c1bb59486 adding integer? and number->string JeffBezanson 2009-02-01 05:41:43 +0000
  • 17d81eb4e6 adding #b, #o, #d, #x numeric literals accepting r6rs IEEE literals +-nan.0 and +-inf.0 printing distinguished -0.0, indicating float with .0f instead of #float, double with .0 instead of #double JeffBezanson 2009-02-01 01:53:58 +0000
  • a55b46e9a6 switching to scheme #t, #f, and () values porting code to sort out which NILs are false and which are empty lists JeffBezanson 2009-01-29 01:04:23 +0000
  • 38cf75733e adding #; datum comment allowing #||# comments to nest JeffBezanson 2009-01-26 02:03:37 +0000
  • 808d92dfb6 some micro-optimizations JeffBezanson 2009-01-16 14:12:35 +0000
  • 8197197ced misc. cleanup JeffBezanson 2009-01-05 02:45:21 +0000
  • 209b77a534 simplified and improved some of the prettyprinting logic • eliminated bad behavior near screen edge, added wrapping • added behavior: indent after some number of non-indented elements • indent after head symbols with really long names • don't indent after first argument to setq JeffBezanson 2009-01-03 05:30:22 +0000
  • d8132ad204 adding CPRIM type, smaller representation for primitives JeffBezanson 2009-01-02 23:00:21 +0000
  • 88938bc6d1 fixes and improvements to cps converter JeffBezanson 2009-01-02 22:58:14 +0000
  • 9716ee3452 making list a builtin JeffBezanson 2008-12-31 04:45:08 +0000
  • 6ed023e966 adding some ast functions JeffBezanson 2008-12-29 21:53:21 +0000
  • 5bff23e790 improvements and bug fixes to CPS converter JeffBezanson 2008-12-29 00:00:45 +0000
  • dc50df083c adding branch probability annotations JeffBezanson 2008-12-28 08:01:18 +0000
  • b99d8715ce generic aref/aset for all arrays JeffBezanson 2008-12-27 06:02:53 +0000
  • 7e04bb948c fixing several bugs in string.find so hard to get anything right the first time! JeffBezanson 2008-12-24 05:02:58 +0000
  • 830e1c986c renaming 'char' type to 'byte' to avoid confusion wchar will be used for all individual characters JeffBezanson 2008-12-24 04:43:36 +0000
  • 8e4ba69a7b more efficient representation for small tables JeffBezanson 2008-12-22 06:36:50 +0000
  • dfacb4d897 making all builtins print readably; (builtin 'sym) function JeffBezanson 2008-12-21 05:55:00 +0000
  • b5dda68eab adding support for finalization of values JeffBezanson 2008-12-20 06:16:00 +0000
  • ee9f565d89 fixing bug in for where lambda body was self-evaluating JeffBezanson 2008-12-12 21:06:20 +0000
  • 6962211e76 changing representation of cvalue types so each type is explicitly represented in an fltype_t struct, and symbolic types are hash-consed. a lot of code is smaller and simpler as a result. this should allow more features in less space (both code and data) going forward. JeffBezanson 2008-12-11 04:04:17 +0000
  • a4bb09bcb2 adding equalhash.c JeffBezanson 2008-11-28 21:44:59 +0000
  • e7e5677d51 support reading hex float literals JeffBezanson 2008-11-23 07:12:37 +0000
  • c89111f7cb refactored escape sequence handling a bit, added error for invalid hex discarding rest of input line after a parse error made compare() do less work for unordered comparison added peekc and purge to ios JeffBezanson 2008-11-06 04:04:04 +0000
  • 120522c212 updating bitvector functions to use int64s in more places, since after all that's the whole point of bitvectors JeffBezanson 2008-10-31 02:50:00 +0000
  • 581afbf636 fixing the result of casting floating point numbers to uint64 JeffBezanson 2008-10-08 01:14:23 +0000
  • c8c59b1dfc added globals *install-dir* and *print-width*, parameterized prettyprinter by screen width JeffBezanson 2008-09-11 02:37:38 +0000
  • 6f934a817b I decided it was rather random that set was the only function that could access the current environment dynamically. It also differed unnecessarily from common lisp set in this respect. JeffBezanson 2008-09-06 22:19:51 +0000
  • 72d8dec7df adding new UTF8 example text adding new example big expression for ast testcase JeffBezanson 2008-09-03 18:39:27 +0000
  • 7412a31af3 removing more clutter JeffBezanson 2008-09-03 15:42:00 +0000
  • af8b332367 fixed some small flaws in (compare) JeffBezanson 2008-08-30 22:18:20 +0000
  • ca1b12064f removing some redundant/irrelevant files JeffBezanson 2008-08-30 05:05:31 +0000
  • 1ef3c13acf removing a proprietary file that should not be here; I was using it as a UTF-8 test case JeffBezanson 2008-08-30 04:53:59 +0000
  • 7cdd489f86 changing license, since google code does not support the CPL JeffBezanson 2008-08-30 02:56:46 +0000
  • d6470ac62f fixed array constructor so it doesn't require allocating a generic container first JeffBezanson 2008-08-29 03:27:59 +0000
  • 9acdf313b9 adding more ios functions porting femtolisp to use ios for all I/O JeffBezanson 2008-08-17 18:16:31 +0000
  • 755bb33714 basic ios read, write, and stream creation JeffBezanson 2008-08-17 03:47:32 +0000
  • fa0e134dd8 adding "d.df" syntax for reading single-precision numbers misc. fixes more work on ios JeffBezanson 2008-08-16 21:15:36 +0000
  • 6e515a532e fix oops in new apply() JeffBezanson 2008-08-07 05:08:10 +0000
  • 62e5c359d0 adding string.inc and string.dec JeffBezanson 2008-08-05 04:34:14 +0000
  • 46f2f47b14 switched to 3-bit type tags for simpler checking fixnums still have 30 bits JeffBezanson 2008-08-05 01:43:12 +0000
  • c3811312a7 adding vector.map, string.char JeffBezanson 2008-08-02 16:18:39 +0000
  • e08091e4a1 adding (for lo hi f) construct, changing library funcs to use it JeffBezanson 2008-07-26 22:04:02 +0000
  • 60644c760e made apply() entry point more efficient (now non-consing) added selfevaluating(v) predicate JeffBezanson 2008-07-26 04:03:48 +0000
  • 180b05fa8e storing environment size on the stack so lambda doesn't need to compute it. changed penv from pointer to stack index. result is best performance yet. JeffBezanson 2008-07-18 04:16:07 +0000