Fix old eyesore
Correct path, and ignores
Add home for these stray scripts
Database modernization
Database modernization
Database modernization
Database modernization
Database modernization
Database modernization
Database modernization
Modernize database schema. Delete one-off upgrade programs that are no longer useful
Add support for 'text' database columns (UTF-8). 'blob' is for binary data.
Update directory location
Update directory location
Some old cleanup in cgi.cc before turndown
But space age bachelor pad can never die
Pretty sure I don't need this thing any more
Also seemingly abandoned. Get it compiling, at least
Get this compiling, but I think I abandoned it before I even got started
Fix database syntax; this app is probably also doomed
Fix database syntax. This app is incomplete and probably doomed, though
Fix dumb bugs (should not have been programming late last night I guess) and add test
Duh, fix include of util.h, and other oversights
Some cleanup and modernization
Fix bustage from cleanup
A little cleanup and modernization
Include hint about 20 year old configuration bug just finally understood. Clean up some unused code.
Fix a few more compilation problems on old spacebar
Clean up source code, headers, etc.
Fix compilation on old-ass computer, and some minor cleanup/fixes
Add timestamp editing, since I love to lose 1,000 points
Add basic anti-spam code for old posts
Add support for new image type and builtins; hex constants in lexer; fix tests to use new database syntax; upgrade mlton
Add image type, minimal functions for current need
Update to c++20. Add image internal type (not yet used).
From answer.aa, return valid xssi header and json so that client doesn't throw an internal exception before discarding the result
sml-lib should be in ../tom7misc, not installed separately
cc-lib and escapex should be in ../tom7misc, not installed separately
Fix pretty bad bug with nul bytes in strings being treated as ending the string (e.g. as an argument to base64). There are more instances to fix, but these were causing data loss in escape (solution uploading), so prioritize that
... and, retire the aphasia1 database syntax
Port db files to new aphasia2 syntax
Port db files to new aphasia2 syntax
Port db files to new aphasia2 syntax
Port db files to new aphasia2 syntax
Port db files to new aphasia2 syntax
Port db files to new aphasia2 syntax
Port db files to new aphasia2 syntax
Port db files to new aphasia2 syntax
Port db files to new aphasia2 syntax
Port db files to new aphasia2 syntax
New aphasia2 syntax for databases
Mark done TODO, but add another
Show giveup thresholds, and make it more permissive for experts. Improve display on games list and add (back?) expert games header
Add subscription date. Fix bugs with pw vs pass param
Some optimization of new Not unop
Implement not unop
Generate not unop
Factor out common apps across sumcase arms
rewrite get_common to be n-ary, so it can be used for sumcase
Generate join construct. No real optimizations yet. Don't generate sumcase vars if unused. Some cleanup here and there
Standalone version of render benchmark
Copy renderbench from weblog
Support JOIN primitive; some small performance improvements; some more tests
Store and use lengths for textptr strings. Pass const stuff in stuffproto
Eliminate tail recursion for andalso/otherwise too
Require RHS of andalso/otherwise to be unit. Might be possible to relax this again, but very few pieces of code were even using the flexibility
eliminate tail recursion for andalso/orelse
Assume print takes string. Clean up and simplify code a bit. Add cycle count to bench (and make this count up, not down)
Simplifications of app and if. Make print functions monomorphic so we can simplify the implementation
Avoid print at polymorphic type. Improve regularity of makefiles
Avoid print at polymorphic type
Also allow expand_tuples for sumcase (where it will clearly help). Add notes about optimization opportunities
Added if-factoring optimization pass, simplification of binops
Fix condition for new-giveup, which was a typo from the aphasia2 port
Add uncurry optimization. Fix bug with is_next_effect that prevented inlining into case object
Add tests for insum tuples of different length, if optimizations, uncurry optimizations
Simplifications of if..then..else
Expand is_next effect, which pushes benchmark under some threshold where it's not swapping and now fcompletes almost immediately
Always inline small functions; this helps massively on constructor wrappers
Add regression test for list-rev optimization issues
Fixed all_uses tuple expansion optimization; it helps a lot
New broken optimization; need to do this a different way
New 'known' optimization; expand others, clean up useless crap
tail of nil should raise an exception, not return nil. Add tests for this, too
Add inlining with is_next_effect... even with only a few cases it saves a huge amount
Add several new optimizations, and clean up superseded old optimizations
Some more tests that came up while developing new optimizations
Start rebuilding optimizations with new AST-based aph1 data structure
Finish aph1, exposing comparison, freevars, subst from ast
flatten leaves a bit
Implement aph1 node datatype with AST. (still needs working leaf compare)
Use 'wizard'-style interface for aph1 datatype (trivial implementation). Didn't port optimizations yet so they are disabled
DNC: Going to try this a different way
Debug sorting, add docs
Add docs for array operations; add array sorting to test (itself barely tested)
Add long-missing array primitives to aphasia2 compiler (was just using them to implement 'ref'). Reformatted a bunch of files while on the hunt
Add arraysize ifunc
This should not be checked in
Drop unused pattern variables in let expressions too
Some actual optimizations in bottom-up pass; wildcard unused name/args in lambda