红联Linux门户
Linux帮助

Factor 0.97发布,基于堆栈的编程语言

发布时间:2014-11-03 11:52:48来源:红联作者:empast
Factor 是concatenative,基于堆栈的编程语言和高级功能,包括动态类型,可扩展语法,宏,和垃圾收集。在实践方面,有一个全功能的、支持许多不同的平台上的库,被广为记载。

示例代码:
USING: io math sequences ;"Hello world" print10 [ "Hello, Factor" print ] times"Hello, " "Factor" append print

Factor 0.97 发布,此版本现已提供下载。

此版本包括超过 1,400 个 commits,贡献者如下:

Alex Vondrak, Andrew Pennebaker, Benjamin Pollack, Björn Lindqvist, CW Alston, Doug Coleman, Erik Charlebois, Fred Alger, Iskander Sitdikov, John Benediktsson, Jon Harper, Loryn Jenkins, Paul Woolcock, Roc King, Samuel Tardieu, Steven Stewart-Gallus, and @Profpatsch

同时还有一些 bug 修复和库改进,值得关注的改进如下:

支持更多的 color spaces :LAB, LCH, LUV, RYB, xyY, XYZ 和 YUV

支持 Windows 的 SSL

添加了一些新的 checksum 实现和性能提升

跨平台 C 库 finder

IMAP 协议客户端

支持 MessagePack 编码和解码

支持 uuencoding and uudecoding

支持 terminfo 数据库文件

支持 tzinfo 文件

Support for in-place sorting (using Quicksort)

绑定了 ZeroMQ 和 Python

Runner for Applescript (including definition support)

printf 性能提升,支持 vprintf

支持在 GTK,Cocoa 和 Windows 后端保存图像

Generative Modeling Language

为编译器添加了大量的文档

大量的 FUEL emacs 模式改进

解决了一些向后兼容问题:

Fixed mask? in math.bitwise to be more correct

Fixed bias in Mersenne Twister random number generator

Better support for shebang (no longer need a space after #!)

io-error now lives in the libc vocabulary

sender stubs in cocoa.messages now named by method signature

filter now allocates length of seq, not exemplar.

Removed make-assoc in favor of explicit get's.

一些 FUEL 改进,Factor's emacs 模式:

Modernize for emacs 24.3

Prepare FUEL to be uploaded to MELPA

Change font locking and syntax highlighting

Make fuel-help work for vocabularies also

New minor mode: fuel-autohelp-mode

Fix word help to use correct vocabulary using list

Variable controlling whether fuel-mode is loaded automatically

Fixes to table rendering

新库:

alien.libraries.finder: cross-platform C library finder

checksums.fletcher: Fletcher in 16/32/64-bit

checksums.murmur: MurmurHash3 in 32-bit

checksums.superfast: SuperFastHash

checksums.xxhash: xxHash in 32-bit

cocoa.apple-script: runner for AppleScript

colors.distances: CIE76, CIE94, CIEDE2000, and CMC l:c color differences

colrs.lab: support for CIE 1976 LAB colors

colors.lch: support for CIELCH colors

colors.luv: support for CIE 1976 LUV colors

colors.ryb: support for RYB colors

colors.xyy: support for CIE 1931 xyY colors


colors.xyz: support for CIE 1931 XYZ colors


colors.yuv: support for YUV colors


compression.snappy: bindings to snappy compression library


crypto.aes: lookup-table AES implementation


cuesheet: parser for CUE files


curl: bindings for libcurl


editors.atom: support for Atom text editor


fftw: bindings to FFTW library


gml: support for Generative Modeling Language


grouping.extras: helpful words


html.entities: escape and unescape HTML5 entities


imap: client for IMAP servers


io.encodings.utf7: support for UTF7 encodings


io.streams.ansi: support for ANSI color streams


magic: bindings to libmagic


marvel: support for Marvel.com API


math.combinators: some convenience words


matrices.laplace: adding Laplace expansion


math.unicode: implement unicode math symbols


pcre: bindings for PCRE


python: bindings for Python


random.rdrand: random number generator using RDRAND instruction


rosetta-code.josephus-problem: solved


rosetta-code.metronome: solved


sorting.heap: implement Heapsort


sorting.quick: implement Quicksort


spotlight: adding Spotlight search wrapper for Mac OS X


terminfo: parser for terminfo database files


tzinfo: parser for timezone files


tools.dns.public: adding well-known public DNS servers


uu: support for uuencoding and uudecoding


yaml: reading and writing the YAML format


youtube: downloader for youtube.com


wikipedia: support historical events and article printing


windows.ntdll: process listing on Windows


windows.winmm: to play MP3 files


zeromq: bindings for ZeroMQ





改进的库:

arrays.shaped: iteration with indices, mapping operations


bson.reader: support reading sequence of BSON objects from a file


calendar.format: fix timestamp parsing without a timezone (fixes #861)


calendar.threads: support M\ timestamp sleep-until


circular: adding circular-loop


color-picker: show hex value of color


combinators.extras: more words


concurrency.combinators: adding parallel versions of cartesian-{map,each}


destructors: faster dispose-each


dlists: adding push-before and push-sorted


dns: support custom DNS server lookups


environment: adding with-os-env for using temporary environment variables


formatting: performance improvements, added vprintf for runtime formatting


google.translate: adding translate-tts


graphviz: miscellaneous improvements by @ajvondrak


grouping.extras: more words


hash-sets: minor cleanup


hashtables: minor cleanup


help.html: use tools.completions for searching


html.parser.analyzer: make find-between* work on nested tags


html.parser.printer: better html-text.


http.client: versions of http-get and friends that don't check response code

infix: adding INFIX:: word definitions

interpolate: adding generalized numbered string interpolation

io.binary: faster le> and signed-be> and signed>

io.binary.fast: generic be> and le> that try to be fast

io.directories: adding with-resource-directory

io.encodings.string: faster decode and encode for ascii and utf8

io.sockets.secure.openssl: fix subject name checks

io.streams.byte-array: performance improvements

io.streams.random: performance improvements

io.streams.string: performance improvements

ip-parser: adding ntoa and aton

math.bitwise: adding bit-length

math.combinatorics: performance improvements, k-permutations

math.extras: more words

math.factorials: adding factorials

math.functions: implement ldexp

math.matrices: performance improvements

math.ranges: implement sum on range objects

math.statistics: fix out-of-bounds in quantiles, more words

math.text.english: support ratio, float, complex

mirrors: strings can be inspected-sequence (fixes #857)

openal.examples: adding play-waveform and play-sine

pack: support numbered format strings (e.g., "4ci")

random: performance improvements

random.mersenne-twister: bug fixes

redis: adding hash commands, upgraded to modern protocol

semantic-versioning: support for Semantic Versioning 2.0.0

sequences: implement sum on iota-tuple objects

sequences.extras: more words

sequences.product: performance improvements

sequences.windowed: performance improvements

sets.extras: more words

sorting.insertion: performance improvements

spelling: minor fixes and performance improvements

spider: ignore non-html files

system-info: implement system-report. on Linux.

tools.deploy.config: specific deploy-directory

tools.dns: adding dns-host to lookup from a specific host

tools.test: allow testing from command-line

twitter: updates

units.imperial: more units

unix.users: add utility word to find a user's home directory

unix.utmpx: support on Linux and fixes on Mac OS X

webbrowser: support open-file on pathname objects

软件详情:http://factorcode.org/

下载地址:http://builds.factorcode.org/release?os=linux&cpu=x86.64

来自:开源中国社区
文章评论

共有 0 条评论