summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Mark Wooding [Sat, 19 Jun 2010 20:01:12 +0000 (21:01 +0100)]
.gitignore: Don't worry about FASL files.
Mark Wooding [Sat, 19 Jun 2010 20:00:27 +0000 (21:00 +0100)]
scheme-fringe.scm: Don't need to import `syntax-case' any more.
Seems that it doesn't work if you try.
Mark Wooding [Mon, 30 Nov 2009 09:20:49 +0000 (09:20 +0000)]
haskell: Trivial reformatting.
Oh, and notice that we don't need flexible instances any more.
Mark Wooding [Mon, 30 Nov 2009 09:20:06 +0000 (09:20 +0000)]
go: New language.
Do iteration with goroutines and channels. It's much prettier than
doing it with closures.
Mark Wooding [Sun, 29 Nov 2009 23:26:41 +0000 (23:26 +0000)]
smalltalk: Abstract out the common iteration protocol into a superclass.
Mark Wooding [Sun, 29 Nov 2009 23:26:16 +0000 (23:26 +0000)]
haskell: Remove some redundant parenthesis.
Actually this changes the semantics of the program slightly: Node becomes
a (curried) 3-ary constructor rather than a unary constructor accepting
a tuple. This is all to the good.
Mark Wooding [Wed, 18 Nov 2009 16:38:06 +0000 (16:38 +0000)]
haskell: Tidy up the parser using proper monadic combinators.
Hope this isn't too complicated.
Mark Wooding [Wed, 18 Nov 2009 16:35:54 +0000 (16:35 +0000)]
cl, scheme: Introduce `reduce' functions.
These illustrate higher-order functions fairly nicely. Note that
the CL version is explicitly iterative with side-effects because of
the lack of reliable tail-recursion.
Mark Wooding [Wed, 18 Nov 2009 16:34:35 +0000 (16:34 +0000)]
cruft.el: Some Emacs tweaking.
Currently indentation rules for Scheme.
Mark Wooding [Wed, 18 Nov 2009 13:41:23 +0000 (13:41 +0000)]
f#: Tidy same_iterators_p a little.
Use Option.isNone rather than a multiline pattern match, and use a
pattern guard to reduce failure cases.
Mark Wooding [Wed, 18 Nov 2009 13:35:48 +0000 (13:35 +0000)]
Makefile: Remove redundant `.o' suffix from Scheme build stanza.
Mark Wooding [Wed, 18 Nov 2009 13:32:22 +0000 (13:32 +0000)]
Makefile: Gather statistics and report them.
For now, just the lengths of the source files. Maybe we can think of
more interesting things to measure later.
Mark Wooding [Wed, 18 Nov 2009 13:31:45 +0000 (13:31 +0000)]
f#: Fix Emacs mode header.
Mark Wooding [Wed, 18 Nov 2009 13:28:06 +0000 (13:28 +0000)]
cl: Tidy up parser slightly.
Most of the other implementations don't have separate cases for end-of-
input and not-open-paren; so don't penalize Lisp because I decided to
make the parser more extendable.
Mark Wooding [Wed, 18 Nov 2009 13:27:02 +0000 (13:27 +0000)]
cl: Unpleasant hack to fetch program name.
It seems that `cl-launch' doesn't set CL_LAUNCH_FILE when doing `-X',
which is rather inconvenient. Stuff using `mdw.sys-base' wins because
(massive cheat) ASDF systems are loaded before the program name is
stripped off the front of the argument list; we don't get that luxury
here. So `*load-pathname*' will have to do; take `pathname-name' to
strip away the unpleasant realities of FASL-caching.
Of course, if we're dumping images then CL_LAUNCH_FILE is set properly.
<sigh>
Mark Wooding [Wed, 18 Nov 2009 11:42:17 +0000 (11:42 +0000)]
scheme: Use `resume' to switch coroutines.
The name `switch' was taken by Chicken as an undocumented `case'-like
control structure. Grumble.
Mark Wooding [Tue, 17 Nov 2009 23:33:52 +0000 (23:33 +0000)]
cl: Dump a core image to improve startup times.
This is cheating: the core image is massive because SBCL doesn't tree-
shake.
Mark Wooding [Tue, 17 Nov 2009 23:28:27 +0000 (23:28 +0000)]
Makefile: Print timing information in test output.
For some reason, C makes a very poor showing in the timings. I'd love
to know why. (Guess at `malloc' being a bottleneck.)
Mark Wooding [Tue, 17 Nov 2009 21:51:44 +0000 (21:51 +0000)]
Initial version.