173 lines
5.6 KiB
Plaintext
173 lines
5.6 KiB
Plaintext
Factor 0.76:
|
|
------------
|
|
|
|
- The main focus of this release was getting the UI framework in a state
|
|
where the graphical listener is usable. This goal has largely been
|
|
achieved. Many performance problems were fixed, and the listener now
|
|
supports styled text output, presentations, and an
|
|
automatically-updated data stack display.
|
|
|
|
- The number of generations used for garbage collection can now be set
|
|
with the +G command line switch. You must specify at least 2
|
|
generations.
|
|
|
|
- Only 2 generations are used by default now, since there seems to be no
|
|
performance benefit to having 3 after running some brief benchmarks.
|
|
|
|
- The following formely list-specific words are now generic:
|
|
|
|
all? all-with? subset subset-with fiber? prune
|
|
|
|
- The contains? word for testing membership in a sequence has been
|
|
renamed to member?.
|
|
|
|
- The some? and some-with? combinators are gone. Their replacements
|
|
are contains?, contains-with?, find, find*, find-with, and find-with*.
|
|
See the documentation for details.
|
|
|
|
- The nreverse word has been removed.
|
|
|
|
- reversed ( seq -- seq ) outputs a new sequence that shares structure
|
|
with the given sequence, but presents elements in reverse order.
|
|
|
|
- Many improvements to the matrices library.
|
|
|
|
- with-string word renamed to string-out ( quot -- string )
|
|
|
|
- new string-in ( string quot -- ) word, calls quot with stdio bound to
|
|
a stream that reads from the given string.
|
|
|
|
- Improved inspector. Call it with inspect ( obj -- ).
|
|
|
|
- Fixed bug where images saved from the jEdit plugin would fail to
|
|
start.
|
|
|
|
- md5 hashing algorithm in contrib/crypto/ (Doug Coleman).
|
|
|
|
Factor 0.75:
|
|
------------
|
|
|
|
+ Runtime and core library
|
|
|
|
- Fix for a fatal bug where Factor was not functional on Mac OS X 10.4.
|
|
|
|
- Client sockets were not functional on Linux.
|
|
|
|
- New generational garbage collector. There are two command line
|
|
switches for controlling it:
|
|
|
|
+Yn Size of 2 youngest generations, megabytes
|
|
+An Size of tenured and semi-spaces, megabytes
|
|
|
|
- Generic words can now dispatch on stack elements other than the top
|
|
one; define your generic like this to dispatch on the second element:
|
|
|
|
G: foo [ over ] [ type ] ;
|
|
|
|
Or this for the third:
|
|
|
|
G: foo [ pick ] [ type ] ;
|
|
|
|
Note that GENERIC: foo is the same as
|
|
|
|
G: foo [ dup ] [ type ] ;
|
|
|
|
- Sequence API refactoring, as described in
|
|
http://www.jroller.com/page/slava/20050518.
|
|
|
|
- The SO_OOBINLINE socket flag is now set. In 0.74, sending out-of-band
|
|
data could fill up the buffer and cause a denial-of-service attack.
|
|
|
|
- You can now set timeouts for I/O operations with the set-timeout
|
|
generic word. The HTTP server sets a timeout of 60 seconds for client
|
|
requests.
|
|
|
|
- Improved the words for doing binary I/O; see library/io/binary.factor
|
|
and the section in the handbook on binary I/O.
|
|
|
|
+ Compiler
|
|
|
|
- The compiler now does constant folding for certain words with literal
|
|
operands. The compiler's peephole optimizer has been improved.
|
|
|
|
- The alien interface now supports "float" and "double" types, and
|
|
arrays of C types.
|
|
|
|
- New short-hand syntax for defining words that alien-invoke
|
|
(Alex Chapman).
|
|
|
|
LIBRARY: gl
|
|
FUNCTION: void glTranslatef ( GLfloat x, GLfloat y, GLfloat z ) ;
|
|
|
|
should be the same as doing:
|
|
|
|
: glTranslatef ( x y z -- )
|
|
"void" "gl" "glTranslatef"
|
|
[ "GLfloat" "GLfloat" "GLfloat" ] alien-invoke ;
|
|
\ glTranslatef compile
|
|
|
|
+ Framework
|
|
|
|
- OpenGL binding in contrib/gl/ (Alex Chapman).
|
|
|
|
- PostgreSQL binding in contrib/postgresql/ (Doug Coleman).
|
|
|
|
- HTTP server now supports virtual hosting.
|
|
|
|
- The Factor plugin now supports connecting to Factor instances on
|
|
arbitrary host and port names. This allows interactive development on
|
|
one machine while testing on another. A new command was added to
|
|
evaluate the word definition at the caret in the listener.
|
|
|
|
Factor 0.74:
|
|
------------
|
|
|
|
C library interface ported to Linux/PPC and Mac OS X.
|
|
|
|
Developer's handbook rewritten to be more up to date and complete.
|
|
|
|
Added the sequences vocabulary that unifies code for working with lists,
|
|
vectors, strings, and string buffers. There are many changes, and most
|
|
of the old type-specific words such as vector-nth and string-map are
|
|
gone.
|
|
|
|
Added the matrices vocabulary for working with mathematical vectors and
|
|
matrices.
|
|
|
|
Added two words for modular arithmetic in the math vocabulary: mod-inv
|
|
and ^mod.
|
|
|
|
Added HTTP client API supporting GET and POST requests in the
|
|
http-client vocabulary.
|
|
|
|
Removed some inspection words: vocabs. words. usages. Now, just put a
|
|
space before the . and write vocabs . words . usages .
|
|
|
|
Redefining words that are used by compiled words automatically
|
|
decompiles the compiled words. This fixes the problem of new definitions
|
|
not taking effect. In a future release, there will be automatic
|
|
recompilation, rather than decompilation.
|
|
|
|
As a result of the previous change, there is now a cross-referencing
|
|
database, and the usages word lists indirect dependencies and is much
|
|
faster. The usage word behaves like the old usages, and lists direct
|
|
dependencies only.
|
|
|
|
The dump word in the dump vocabulary prints the memory bytes comprising
|
|
an object. The dump* word prints the bytes at an arbitrary address.
|
|
|
|
New words in words vocabulary for inspecting classes and methods:
|
|
classes implements.
|
|
|
|
The Unix I/O code was rewritten in Factor using the C library interface.
|
|
Many new features will be added in future releases, such as socket
|
|
timeouts and Unicode character encodings.
|
|
|
|
Lazy lists and parser combinators library in contrib/parser-combinators/
|
|
(Chris Double).
|
|
|
|
Quotations containing \ foo are prettyprinted in that form.
|
|
|
|
The watch word now causes annotated words to dump the stack, in addition
|
|
to printing a log message.
|