Earlier this year
-
r327
(demos/download-latest-jdk.talc: download and extract the cor...) committed by e...@jessies.org
- demos/download-latest-jdk.talc: download and extract the corresponding OpenJDK source zip file.
demos/download-latest-jdk.talc: download and extract the corresponding OpenJDK source zip file.
-
r326
(tests/printf.talc:
tests/run_tests:
tests/string-format.ta...) committed by e...@jessies.org
- tests/printf.talc:
tests/run_tests:
tests/string-format.talc: rename.
tests/printf.talc:
tests/run_tests:
tests/string-format.talc: rename.
-
r325
(src/org/jessies/talc/ListValue.java: update copyright date.
) committed by e...@jessies.org
- src/org/jessies/talc/ListValue.java: update copyright date.
src/org/jessies/talc/ListValue.java: update copyright date.
-
-
r323
(src/org/jessies/talc/ListValue.java:
src/org/jessies/talc/T...) committed by e...@jessies.org
- src/org/jessies/talc/ListValue.java:
src/org/jessies/talc/TalcType.java: add "list<T>.repeat".
demos/binomial-triangle.talc:
demos/sieve.talc: update demos.
man/1/talc.1: update documentation.
TODO: job done, without using a static method.
src/org/jessies/talc/ListValue.java:
src/org/jessies/talc/TalcType.java: add "list<T>.repeat".
demos/binomial-triangle.talc:
demos/sieve.talc: update demos.
man/1/talc.1: update documentation.
TODO: job done, without using a static method.
-
-
r321
(man/1/talc.1: update man page.
) committed by e...@jessies.org
- man/1/talc.1: update man page.
man/1/talc.1: update man page.
-
-
r319
(src/org/jessies/talc/StringFunctions.java: explain a name wh...) committed by e...@jessies.org
- src/org/jessies/talc/StringFunctions.java: explain a name while I can still remember why I chose it.
src/org/jessies/talc/StringFunctions.java: explain a name while I can still remember why I chose it.
-
r318
(demos/binomial-triangle.talc: this example can be made clear...) committed by e...@jessies.org
- demos/binomial-triangle.talc: this example can be made clearer using "string.format".
demos/binomial-triangle.talc: this example can be made clearer using "string.format".
-
r317
(src/org/jessies/talc/StringFunctions.java:
src/org/jessies/...) committed by e...@jessies.org
- src/org/jessies/talc/StringFunctions.java:
src/org/jessies/talc/TalcType.java: add "string.repeat".
demos/binomial-triangle.talc: update a test.
TODO: job done.
src/org/jessies/talc/StringFunctions.java:
src/org/jessies/talc/TalcType.java: add "string.repeat".
demos/binomial-triangle.talc: update a test.
TODO: job done.
-
-
-
-
-
-
r311
(man/1/talc.1:
src/org/jessies/talc/AstNode.java:
src/org/j...) committed by e...@jessies.org
- man/1/talc.1:
src/org/jessies/talc/AstNode.java:
src/org/jessies/talc/Functions.java:
src/org/jessies/talc/JvmCodeGenerator.java:
src/org/jessies/talc/MatchValue.java:
src/org/jessies/talc/Scope.java:
src/org/jessies/talc/StringFunctions.java:
src/org/jessies/talc/Talc.java:
src/org/jessies/talc/TalcType.java: it's that time of year again.
man/1/talc.1:
src/org/jessies/talc/AstNode.java:
src/org/jessies/talc/Functions.java:
src/org/jessies/talc/JvmCodeGenerator.java:
src/org/jessies/talc/MatchValue.java:
src/org/jessies/talc/Scope.java:
src/org/jessies/talc/StringFunctions.java:
src/org/jessies/talc/Talc.java:
src/org/jessies/talc/TalcType.java: it's that time of year again.
-
r310
(man/1/talc.1: this shouldn't produce any visible change to t...) committed by e...@jessies.org
- man/1/talc.1: this shouldn't produce any visible change to the man page, but it will work around
some code.google.com lossage in the generated wiki page.
man/1/talc.1: this shouldn't produce any visible change to the man page, but it will work around
some code.google.com lossage in the generated wiki page.
-
-
-
r307
(src/org/jessies/talc/Functions.java:
src/org/jessies/talc/S...) committed by e...@jessies.org
- src/org/jessies/talc/Functions.java:
src/org/jessies/talc/Scope.java: remove the global "printf".
src/org/jessies/talc/StringFunctions.java:
src/org/jessies/talc/TalcType.java: add "format" to class "string".
src/org/jessies/talc/AstNode.java: support non-void varargs methods.
src/org/jessies/talc/JvmCodeGenerator.java: generate code for varargs methods on proxy types, and
move the return-type "checkcast" code to where it's shared by varargs methods, now we have a non-
void varargs method (albeit one with non-generic return type).
demos/256-colors.talc:
demos/whetstone.talc: update demos.
man/1/talc.1: update documentation.
tests/printf.talc: update a test.
TODO: job done.
src/org/jessies/talc/Functions.java:
src/org/jessies/talc/Scope.java: remove the global "printf".
src/org/jessies/talc/StringFunctions.java:
src/org/jessies/talc/TalcType.java: add "format" to class "string".
src/org/jessies/talc/AstNode.java: support non-void varargs methods.
src/org/jessies/talc/JvmCodeGenerator.java: generate code for varargs methods on proxy types, and
move the return-type "checkcast" code to where it's shared by varargs methods, now we have a non-
void varargs method (albeit one with non-generic return type).
demos/256-colors.talc:
demos/whetstone.talc: update demos.
man/1/talc.1: update documentation.
tests/printf.talc: update a test.
TODO: job done.
-
-
r305
(src/org/jessies/talc/Scope.java: make the output prettier by...) committed by e...@jessies.org
- src/org/jessies/talc/Scope.java: make the output prettier by justifying on the method names. I'm not
sure the mix of putting return types first like C and putting variable types last like Ada is such a
great idea.
man/1/talc.1: update the man page for readability.
src/org/jessies/talc/Scope.java: make the output prettier by justifying on the method names. I'm not
sure the mix of putting return types first like C and putting variable types last like Ada is such a
great idea.
man/1/talc.1: update the man page for readability.
-
r304
(src/org/jessies/talc/MatchValue.java: extract and keep hold ...) committed by e...@jessies.org
- src/org/jessies/talc/MatchValue.java: extract and keep hold of a MatchResult in case the original
(mutable) MatchResult we were handed later gets modified by the original owner...
src/org/jessies/talc/StringFunctions.java: ...which is exactly what this implementation of match_all
does.
src/org/jessies/talc/TalcType.java: add the "list<match> match_all(pattern: string)" method to class
string.
man/1/talc.1: update the documentation.
src/org/jessies/talc/MatchValue.java: extract and keep hold of a MatchResult in case the original
(mutable) MatchResult we were handed later gets modified by the original owner...
src/org/jessies/talc/StringFunctions.java: ...which is exactly what this implementation of match_all
does.
src/org/jessies/talc/TalcType.java: add the "list<match> match_all(pattern: string)" method to class
string.
man/1/talc.1: update the documentation.
-
r303
(src/org/jessies/talc/Functions.java: don't interpret the pri...) committed by e...@jessies.org
- src/org/jessies/talc/Functions.java: don't interpret the printf format string twice!
tests/printf.talc:
tests/run_tests: add a test.
src/org/jessies/talc/Functions.java: don't interpret the printf format string twice!
tests/printf.talc:
tests/run_tests: add a test.
Older
-
r302
(demos/random-password.talc: I've been using this for months,...) committed by e...@jessies.org
- demos/random-password.talc: I've been using this for months, not realizing it wasn't checked in.
demos/random-password.talc: I've been using this for months, not realizing it wasn't checked in.
-
r301
(CREDITS.txt: start keeping track of this early on, rather th...) committed by e...@jessies.org
- CREDITS.txt: start keeping track of this early on, rather than leaving it too late like I usually
do.
CREDITS.txt: start keeping track of this early on, rather than leaving it too late like I usually
do.
-
r300
(src/org/jessies/talc/AstNode.java: ensure that a variable in...) committed by e...@jessies.org
- src/org/jessies/talc/AstNode.java: ensure that a variable initialized with "null", if its type needs
to be inferred, is inferred as "object".
src/org/jessies/talc/JvmCodeGenerator.java: treat the empty list and empty map as synonyms for list
and map, since we implement generics using erasure, and anything that gets this far should have been
type-checked and known to be correct.
src/org/jessies/talc/TalcType.java: fix the superclasses of the empty list and empty map to
correspond to the superclasses of list and map. We'll have to be careful here when we start
recording implemented interfaces, to make sure that these special types are kept in sync.
tests/compiler-trip.talc: test cases for the known bugs these fixes address.
TODO: job done.
src/org/jessies/talc/AstNode.java: ensure that a variable initialized with "null", if its type needs
to be inferred, is inferred as "object".
src/org/jessies/talc/JvmCodeGenerator.java: treat the empty list and empty map as synonyms for list
and map, since we implement generics using erasure, and anything that gets this far should have been
type-checked and known to be correct.
src/org/jessies/talc/TalcType.java: fix the superclasses of the empty list and empty map to
correspond to the superclasses of list and map. We'll have to be careful here when we start
recording implemented interfaces, to make sure that these special types are kept in sync.
tests/compiler-trip.talc: test cases for the known bugs these fixes address.
TODO: job done.
-
r299
(tests/should-not-compile/insert-in-empty-map.talc:
tests/sh...) committed by e...@jessies.org
- tests/should-not-compile/insert-in-empty-map.talc:
tests/should-not-compile/push_back-on-empty-list.talc: add a couple of compile-failure tests...
TODO: ...for code I mistakenly claimed should compile. I've no idea what I was originally thinking.
I must have been sleep-deprived at the time!
tests/should-not-compile/insert-in-empty-map.talc:
tests/should-not-compile/push_back-on-empty-list.talc: add a couple of compile-failure tests...
TODO: ...for code I mistakenly claimed should compile. I've no idea what I was originally thinking.
I must have been sleep-deprived at the time!
-
r298
(TODO: another job, someday.
) committed by e...@jessies.org
- TODO: another job, someday.
TODO: another job, someday.
-
r297
(src/org/jessies/talc/IntegerValue.java: implement a slightly...) committed by e...@jessies.org
- src/org/jessies/talc/IntegerValue.java: implement a slightly better factorial that I happened
across.
src/org/jessies/talc/IntegerValue.java: implement a slightly better factorial that I happened
across.
-
r296
(src/org/jessies/talc/AstSimplifier.java: stop evaluating fac...) committed by e...@jessies.org
- src/org/jessies/talc/AstSimplifier.java: stop evaluating factorials at compile time...
tests/compiler-trip.talc: ...and add a booby trap should we regress.
src/org/jessies/talc/AstSimplifier.java: stop evaluating factorials at compile time...
tests/compiler-trip.talc: ...and add a booby trap should we regress.
-
r295
(tests/compiler-trip.talc: test a bignum factorial and test u...) committed by e...@jessies.org
- tests/compiler-trip.talc: test a bignum factorial and test unary minus a bit more.
tests/compiler-trip.talc: test a bignum factorial and test unary minus a bit more.
-
r294
(tests/run_tests: report how long it took to run the tests.
) committed by e...@jessies.org
- tests/run_tests: report how long it took to run the tests.
tests/run_tests: report how long it took to run the tests.
-
r293
(tests/compiler-trip.talc: add a useful missing test.
) committed by e...@jessies.org
- tests/compiler-trip.talc: add a useful missing test.
tests/compiler-trip.talc: add a useful missing test.
-
r292
(src/org/jessies/talc/Talc.java: make sure all exceptions get...) committed by e...@jessies.org
- src/org/jessies/talc/Talc.java: make sure all exceptions get reported uniformly, and at a high
enough level that we can guarantee we'll exit with failure if an exception leaks out of the user's
compiled code. (Failed Talc "assert"s weren't causing the tests to fail because we were exiting with
success.)
tests/run_tests: when a test fails, we want to see its output.
src/org/jessies/talc/Talc.java: make sure all exceptions get reported uniformly, and at a high
enough level that we can guarantee we'll exit with failure if an exception leaks out of the user's
compiled code. (Failed Talc "assert"s weren't causing the tests to fail because we were exiting with
success.)
tests/run_tests: when a test fails, we want to see its output.
-
-
r290
(src/org/jessies/talc/SymbolTable.java: make sure that the Va...) committed by e...@jessies.org
- src/org/jessies/talc/SymbolTable.java: make sure that the VariableDefinitions created for formal
parameters have source locations.
src/org/jessies/talc/AstTypeChecker.java:
src/org/jessies/talc/TalcType.java: tighten up type-checking of "void".
tests/should-not-compile/assign-list-of-object-to-list-of-string.talc:
tests/should-not-compile/call-void-function-in-non-void-context.talc:
tests/should-not-compile/return-int-from-void-function.talc:
tests/should-not-compile/return-null-from-bool-function.talc:
tests/should-not-compile/return-null-from-int-function.talc:
tests/should-not-compile/return-null-from-real-function.talc:
tests/should-not-compile/return-null-from-void-function.talc:
tests/should-not-compile/void-formal-parameter.talc:
tests/should-not-compile/void-variable.talc: add a bunch of new tests.
tests/compiler-trip.talc: cleaning up various FIXMEs here.
src/org/jessies/talc/SymbolTable.java: make sure that the VariableDefinitions created for formal
parameters have source locations.
src/org/jessies/talc/AstTypeChecker.java:
src/org/jessies/talc/TalcType.java: tighten up type-checking of "void".
tests/should-not-compile/assign-list-of-object-to-list-of-string.talc:
tests/should-not-compile/call-void-function-in-non-void-context.talc:
tests/should-not-compile/return-int-from-void-function.talc:
tests/should-not-compile/return-null-from-bool-function.talc:
tests/should-not-compile/return-null-from-int-function.talc:
tests/should-not-compile/return-null-from-real-function.talc:
tests/should-not-compile/return-null-from-void-function.talc:
tests/should-not-compile/void-formal-parameter.talc:
tests/should-not-compile/void-variable.talc: add a bunch of new tests.
tests/compiler-trip.talc: cleaning up various FIXMEs here.
-
r289
(tests/run_tests: make the output more colorful, factor out s...) committed by e...@jessies.org
- tests/run_tests: make the output more colorful, factor out some of the repetition, collect stderr as
well as stdout when running talc, and add support for compilation-failure tests.
tests/should-not-compile/assign-null-to-bool-variable.talc:
tests/should-not-compile/assign-null-to-int-variable.talc:
tests/should-not-compile/assign-null-to-real-variable.talc:
tests/should-not-compile/bool-variable-without-initializer.talc:
tests/should-not-compile/int-variable-without-initializer.talc:
tests/should-not-compile/null-bool.talc:
tests/should-not-compile/null-int.talc:
tests/should-not-compile/null-real.talc:
tests/should-not-compile/real-variable-without-initializer.talc: add the first batch of simple
compilation-failure tests.
tests/compiler-trip.talc: and remove their FIXMEs from compiler-trip.talc, which only tests stuff we
*can* compile.
tests/run_tests: make the output more colorful, factor out some of the repetition, collect stderr as
well as stdout when running talc, and add support for compilation-failure tests.
tests/should-not-compile/assign-null-to-bool-variable.talc:
tests/should-not-compile/assign-null-to-int-variable.talc:
tests/should-not-compile/assign-null-to-real-variable.talc:
tests/should-not-compile/bool-variable-without-initializer.talc:
tests/should-not-compile/int-variable-without-initializer.talc:
tests/should-not-compile/null-bool.talc:
tests/should-not-compile/null-int.talc:
tests/should-not-compile/null-real.talc:
tests/should-not-compile/real-variable-without-initializer.talc: add the first batch of simple
compilation-failure tests.
tests/compiler-trip.talc: and remove their FIXMEs from compiler-trip.talc, which only tests stuff we
*can* compile.
-
r288
(tests/should-not-compile: new directory.
) committed by e...@jessies.org
- tests/should-not-compile: new directory.
tests/should-not-compile: new directory.
-
r287
(tests/run_tests: run all tests in parallel.
) committed by e...@jessies.org
- tests/run_tests: run all tests in parallel.
tests/run_tests: run all tests in parallel.
-
r286
(src/org/jessies/talc/TalcType.java: distinguish "bool", "int...) committed by e...@jessies.org
- src/org/jessies/talc/TalcType.java: distinguish "bool", "int", and "real" as non-nullable types:
types to which "null" cannot be assigned.
src/org/jessies/talc/Parser.java: change the parser to not synthesize an initializer for for and
for-each loop variables...
src/org/jessies/talc/JvmCodeGenerator.java: ...and fix the code generator to not expect them. This
avoids having to invent initializers for synthetic "bool", "int", or "real" variables, and avoids
generating the associated useless code.
tests/compiler-trip.talc: I don't have the framework for compile-failure tests, so just comment what
needs doing.
TODO: job done.
src/org/jessies/talc/TalcType.java: distinguish "bool", "int", and "real" as non-nullable types:
types to which "null" cannot be assigned.
src/org/jessies/talc/Parser.java: change the parser to not synthesize an initializer for for and
for-each loop variables...
src/org/jessies/talc/JvmCodeGenerator.java: ...and fix the code generator to not expect them. This
avoids having to invent initializers for synthetic "bool", "int", or "real" variables, and avoids
generating the associated useless code.
tests/compiler-trip.talc: I don't have the framework for compile-failure tests, so just comment what
needs doing.
TODO: job done.
-
r285
(src/org/jessies/talc/AstNode.java: implement toString for As...) committed by e...@jessies.org
- src/org/jessies/talc/AstNode.java: implement toString for AstNode.AssertStatement.
src/org/jessies/talc/AstNode.java: implement toString for AstNode.AssertStatement.
-
-
r283
(man/1/talc.1: update man page with new --dump-classes output...) committed by e...@jessies.org
- man/1/talc.1: update man page with new --dump-classes output.
man/1/talc.1: update man page with new --dump-classes output.
-
r282
(src/org/jessies/talc/Scope.java: improve the class-dump outp...) committed by e...@jessies.org
- src/org/jessies/talc/Scope.java: improve the class-dump output by dumping constructors first and
adding meaningful blank lines.
src/org/jessies/talc/Talc.java: put an extra blank line between classes.
src/org/jessies/talc/Scope.java: improve the class-dump output by dumping constructors first and
adding meaningful blank lines.
src/org/jessies/talc/Talc.java: put an extra blank line between classes.
-
r281
(src/org/jessies/talc/IntegerValue.java: fix % on bignums (wh...) committed by e...@jessies.org
- src/org/jessies/talc/IntegerValue.java: fix % on bignums (which has always been broken, and wasn't
affected by the recent changes).
tests/compiler-trip.talc: add tests for fixnum and bignum %.
src/org/jessies/talc/IntegerValue.java: fix % on bignums (which has always been broken, and wasn't
affected by the recent changes).
tests/compiler-trip.talc: add tests for fixnum and bignum %.
-
-
r279
(src/org/jessies/talc/IntegerValue.java: a fancier representa...) committed by e...@jessies.org
- src/org/jessies/talc/IntegerValue.java: a fancier representation that avoids using BigInteger unless
the integer is large enough to warrant one. This isn't much more complicated than the old
implementation, but it's 5x faster.
src/org/jessies/talc/JvmCodeGenerator.java: avoid String to BigInteger conversions for integer
constants small enough to be represented as primitive longs.
tests/compiler-trip.talc: new tests.
demos/simple.talc: Cliff Click's original test, which takes 32s in Java using non-boxed primitive
longs on my machine, 66s in Talc with these changes, and about 6 minutes before them. The factor of
two for boxing is about what we've seen with RealValue, so this is probably as fast as we're going
to get without actually using primitives.
src/org/jessies/talc/IntegerValue.java: a fancier representation that avoids using BigInteger unless
the integer is large enough to warrant one. This isn't much more complicated than the old
implementation, but it's 5x faster.
src/org/jessies/talc/JvmCodeGenerator.java: avoid String to BigInteger conversions for integer
constants small enough to be represented as primitive longs.
tests/compiler-trip.talc: new tests.
demos/simple.talc: Cliff Click's original test, which takes 32s in Java using non-boxed primitive
longs on my machine, 66s in Talc with these changes, and about 6 minutes before them. The factor of
two for boxing is about what we've seen with RealValue, so this is probably as fast as we're going
to get without actually using primitives.
-
r278
(demos/man-to-wiki.talc: fix the man-to-wiki translation so t...) committed by e...@jessies.org
- demos/man-to-wiki.talc: fix the man-to-wiki translation so that \-escaping looks right.
demos/man-to-wiki.talc: fix the man-to-wiki translation so that \-escaping looks right.
|