]> gitweb.factorcode.org Git - factor.git/log
factor.git
4 years agowindows.factor KUSUMOTO Norio plan 2
KUSUMOTO Norio [Wed, 3 Apr 2019 13:00:45 +0000 (22:00 +0900)]
windows.factor KUSUMOTO Norio plan 2

bug fix for issue #1

Review of the structure of words

NUMPAD&OEM-keydown-codes

plugable keyboard info

keyboard auto detect

conflict

ToUnicode version

resolve conflicts

ui.backend.windows: fix whitespace

5 years agowindows.user32: add the GetKeyboardType function
Alexander Iljin [Mon, 22 Apr 2019 14:48:42 +0000 (16:48 +0200)]
windows.user32: add the GetKeyboardType function

5 years agocontinuations[-docs]: add the finally word
Alexander Iljin [Mon, 22 Apr 2019 14:49:05 +0000 (16:49 +0200)]
continuations[-docs]: add the finally word

5 years agoextra: cleanup USING: lists
Alexander Iljin [Sun, 21 Apr 2019 16:53:47 +0000 (18:53 +0200)]
extra: cleanup USING: lists

5 years agoextra: remove unnecessary yield.
John Benediktsson [Sun, 21 Apr 2019 18:07:28 +0000 (11:07 -0700)]
extra: remove unnecessary yield.

5 years agocalendar[-docs]: add week-number
Alexander Iljin [Wed, 17 Apr 2019 23:14:49 +0000 (01:14 +0200)]
calendar[-docs]: add week-number

5 years agosodium: use a more conventional parameter name
Alexander Iljin [Sun, 14 Apr 2019 13:15:39 +0000 (15:15 +0200)]
sodium: use a more conventional parameter name

5 years agosodium: add wrapper words for working with detached signatures
Alexander Iljin [Sun, 14 Apr 2019 13:17:06 +0000 (15:17 +0200)]
sodium: add wrapper words for working with detached signatures

5 years agosequences-docs: add a missing article
Alexander Iljin [Sun, 14 Apr 2019 13:14:39 +0000 (15:14 +0200)]
sequences-docs: add a missing article

5 years agoREADME: add the Gitter and the mailing list links in the Community section
Alexander Iljin [Sat, 30 Mar 2019 21:08:39 +0000 (22:08 +0100)]
README: add the Gitter and the mailing list links in the Community section

5 years agoConfig.linux: Better check for g++.
Doug Coleman [Sun, 7 Apr 2019 23:54:08 +0000 (18:54 -0500)]
Config.linux: Better check for g++.

A consistent string across platforms is 'Free Software Foundation'

5 years agotools: use base91 instead of base85
Doug Coleman [Sat, 6 Apr 2019 16:39:07 +0000 (11:39 -0500)]
tools: use base91 instead of base85

5 years agocombinators: faster hashcode for byte-arrays.
John Benediktsson [Fri, 5 Apr 2019 23:55:10 +0000 (16:55 -0700)]
combinators: faster hashcode for byte-arrays.

5 years agobase91: adding version of base91 encoding/decoding.
John Benediktsson [Fri, 5 Apr 2019 20:43:05 +0000 (13:43 -0700)]
base91: adding version of base91 encoding/decoding.

5 years agobase16: adding RFC 3548 version of base 16 encoding/decoding.
John Benediktsson [Fri, 5 Apr 2019 20:40:23 +0000 (13:40 -0700)]
base16: adding RFC 3548 version of base 16 encoding/decoding.

5 years agobase64/32/85: adding tests for all byte values.
John Benediktsson [Fri, 5 Apr 2019 20:38:00 +0000 (13:38 -0700)]
base64/32/85: adding tests for all byte values.

5 years agogame-of-life: adding deploy file.
John Benediktsson [Fri, 5 Apr 2019 20:04:01 +0000 (13:04 -0700)]
game-of-life: adding deploy file.

5 years agobase85: change alphabet to byte-array.
John Benediktsson [Fri, 5 Apr 2019 20:03:19 +0000 (13:03 -0700)]
base85: change alphabet to byte-array.

5 years agobase32-crockford: separate Douglas Crockford version of Base 32.
John Benediktsson [Fri, 5 Apr 2019 19:10:52 +0000 (12:10 -0700)]
base32-crockford: separate Douglas Crockford version of Base 32.

5 years agobase32: adding authors.txt
John Benediktsson [Fri, 5 Apr 2019 19:10:33 +0000 (12:10 -0700)]
base32: adding authors.txt

5 years agobase32: change to RFC 3548 version.
John Benediktsson [Fri, 5 Apr 2019 19:05:21 +0000 (12:05 -0700)]
base32: change to RFC 3548 version.

5 years agobase64: adding urlsafe base64 and specify RFC 3548.
John Benediktsson [Fri, 5 Apr 2019 19:03:00 +0000 (12:03 -0700)]
base64: adding urlsafe base64 and specify RFC 3548.

5 years agoio.crlf: adding read-ignoring-crlf and read1-ignoring-crlf.
John Benediktsson [Fri, 5 Apr 2019 18:34:34 +0000 (11:34 -0700)]
io.crlf: adding read-ignoring-crlf and read1-ignoring-crlf.

5 years agogeohash: adding first version of Geohash geocoding vocab.
John Benediktsson [Wed, 3 Apr 2019 00:31:41 +0000 (17:31 -0700)]
geohash: adding first version of Geohash geocoding vocab.

5 years agobase32: faster inverse operation.
John Benediktsson [Wed, 3 Apr 2019 00:26:50 +0000 (17:26 -0700)]
base32: faster inverse operation.

5 years agowindows.ole32: add a couple of constants
Alexander Iljin [Fri, 29 Mar 2019 23:53:54 +0000 (00:53 +0100)]
windows.ole32: add a couple of constants

5 years agogravatar: wrapper for Gravatar.com service.
John Benediktsson [Thu, 28 Mar 2019 20:49:58 +0000 (13:49 -0700)]
gravatar: wrapper for Gravatar.com service.

5 years agoConfig.linux: Better check for gcc.
Doug Coleman [Mon, 25 Mar 2019 05:27:27 +0000 (00:27 -0500)]
Config.linux: Better check for gcc.

To print in make:
$(info IS_GCC is $(IS_GCC))

5 years agoprettyprint-docs: fix the obsolete parser code in an example
Alexander Iljin [Sun, 24 Mar 2019 23:54:50 +0000 (00:54 +0100)]
prettyprint-docs: fix the obsolete parser code in an example

5 years agoprettyprint-docs: fix the slot accessors in a code example
Alexander Iljin [Sun, 24 Mar 2019 23:30:40 +0000 (00:30 +0100)]
prettyprint-docs: fix the slot accessors in a code example

5 years agocrontab: simplify logic max days of month.
John Benediktsson [Sun, 24 Mar 2019 22:41:19 +0000 (15:41 -0700)]
crontab: simplify logic max days of month.

5 years agocrontab: better input validation for stuff like Feb 30 or Apr 31.
John Benediktsson [Sun, 24 Mar 2019 20:32:57 +0000 (13:32 -0700)]
crontab: better input validation for stuff like Feb 30 or Apr 31.

5 years agocrontab: adding some Feb 29th tests.
John Benediktsson [Sun, 24 Mar 2019 15:34:03 +0000 (08:34 -0700)]
crontab: adding some Feb 29th tests.

5 years agocrontab: test a lot more things.
John Benediktsson [Sat, 23 Mar 2019 21:15:45 +0000 (14:15 -0700)]
crontab: test a lot more things.

5 years agotests: Don't depend on license.txt not changing.
Doug Coleman [Sat, 23 Mar 2019 17:57:26 +0000 (12:57 -0500)]
tests: Don't depend on license.txt not changing.

It's probably bad to have the year in the license file, but it's worse to depend on
the license never changing.

Add a dummy file to crc32, and for multi checksums, the file we were checksumming is
not really integral to the test since it's read into a buffer first.

5 years agocrontab: fix day-of-week to be OR instead of AND days.
John Benediktsson [Sat, 23 Mar 2019 15:21:26 +0000 (08:21 -0700)]
crontab: fix day-of-week to be OR instead of AND days.

5 years agochecksums.multi: fix tests.
John Benediktsson [Sat, 23 Mar 2019 14:20:31 +0000 (07:20 -0700)]
checksums.multi: fix tests.

5 years agocrontab: simplify (next-time-after) recursion.
John Benediktsson [Sat, 23 Mar 2019 03:57:50 +0000 (20:57 -0700)]
crontab: simplify (next-time-after) recursion.

5 years agocrontab: simplify common code paths in (next-time-after).
John Benediktsson [Sat, 23 Mar 2019 03:52:33 +0000 (20:52 -0700)]
crontab: simplify common code paths in (next-time-after).

5 years agocrontab: constraint order is month, day, day-of-week, hour, minute.
John Benediktsson [Sat, 23 Mar 2019 03:42:46 +0000 (20:42 -0700)]
crontab: constraint order is month, day, day-of-week, hour, minute.

5 years agocrontab: some more fixes.
John Benediktsson [Sat, 23 Mar 2019 03:36:16 +0000 (20:36 -0700)]
crontab: some more fixes.

5 years agoio.backend: remove comment from years ago.
John Benediktsson [Sat, 23 Mar 2019 03:08:19 +0000 (20:08 -0700)]
io.backend: remove comment from years ago.

5 years agochecksums.multi: fix test for 2019
Doug Coleman [Sat, 23 Mar 2019 02:30:18 +0000 (21:30 -0500)]
checksums.multi: fix test for 2019

5 years agowindows.kernel32: add almost useless timezone function
Doug Coleman [Sat, 23 Mar 2019 02:30:01 +0000 (21:30 -0500)]
windows.kernel32: add almost useless timezone function

5 years agozoneinfo: update to 2018i
Doug Coleman [Fri, 22 Mar 2019 23:28:52 +0000 (18:28 -0500)]
zoneinfo: update to 2018i

5 years agocleaning: update copyright year. use the same order for build
Doug Coleman [Fri, 22 Mar 2019 22:56:28 +0000 (17:56 -0500)]
cleaning: update copyright year. use the same order for build
directions.

5 years agocrontab: some fixes and additional test case.
John Benediktsson [Fri, 22 Mar 2019 22:20:32 +0000 (15:20 -0700)]
crontab: some fixes and additional test case.

5 years agomake: Allow overriding macosx sdk
Doug Coleman [Fri, 22 Mar 2019 06:32:28 +0000 (01:32 -0500)]
make: Allow overriding macosx sdk

MACOSX_SDK=MacOSX10.11.sdk ./build.sh update macosx-x86-32

5 years agomake: Use the MacOSX 10.13 SDK for x86 support.
Doug Coleman [Fri, 22 Mar 2019 05:07:38 +0000 (00:07 -0500)]
make: Use the MacOSX 10.13 SDK for x86 support.

Bugfix - CFLAGS += instead of CFLAGS = because it would get overwritten otherwise.

Also allow overwriting of XCODE_PATH for non-standard path.

Download the 10.13 SDK from
https://github.com/phracker/MacOSX-SDKs/releases

```bash
wget https://github.com/phracker/MacOSX-SDKs/releases/download/10.13/MacOSX10.13.sdk.tar.xz
xz --uncompress MacOSX10.13.sdk.tar.xz
tar xvf MacOSX10.13.sdk.tar
mv MacOSX10.13.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
```

5 years agoresolv-conf: Parse edns0, refactor some words, and add a unit test.
Doug Coleman [Fri, 22 Mar 2019 03:52:17 +0000 (22:52 -0500)]
resolv-conf: Parse edns0, refactor some words, and add a unit test.

5 years agoascii: faster capitalize.
John Benediktsson [Fri, 22 Mar 2019 03:11:46 +0000 (20:11 -0700)]
ascii: faster capitalize.

5 years agowindows.dragdrop-listener: cleanup using.
John Benediktsson [Fri, 22 Mar 2019 02:54:06 +0000 (19:54 -0700)]
windows.dragdrop-listener: cleanup using.

5 years agoio.directories.search: a better fix for the linux entry ordering issue.
John Benediktsson [Fri, 22 Mar 2019 02:36:05 +0000 (19:36 -0700)]
io.directories.search: a better fix for the linux entry ordering issue.

5 years agoRevert "io.directories.search: Fix the order of the depth/breadth traversals."
John Benediktsson [Fri, 22 Mar 2019 02:23:13 +0000 (19:23 -0700)]
Revert "io.directories.search: Fix the order of the depth/breadth traversals."

This reverts commit c3cfc177cd4e781acea9fccd7c1136f7ad261738.

5 years agolibc.freebsd: platforms.txt not platform.txt
Doug Coleman [Fri, 22 Mar 2019 00:52:07 +0000 (19:52 -0500)]
libc.freebsd: platforms.txt not platform.txt

Fixes linux bootstrap

5 years agoio.directories.search: Fix the order of the depth/breadth traversals.
Doug Coleman [Fri, 22 Mar 2019 00:41:26 +0000 (19:41 -0500)]
io.directories.search: Fix the order of the depth/breadth traversals.

This unit test kind of sucks.

5 years agowindows.dragdrop-listener: Fix using
Doug Coleman [Thu, 21 Mar 2019 23:38:47 +0000 (18:38 -0500)]
windows.dragdrop-listener: Fix using

5 years agotravis: Add required packages.
Doug Coleman [Thu, 21 Mar 2019 23:31:22 +0000 (18:31 -0500)]
travis: Add required packages.

==== FAILING TESTS

5 years agoregexp: try again to fix the issue with backslashes.
John Benediktsson [Thu, 21 Mar 2019 20:29:15 +0000 (13:29 -0700)]
regexp: try again to fix the issue with backslashes.

the new simple rule is inside R/ syntax all backslashes should be
escaped to allow easy regexp literal tokenization:

R/ [\/]/

but in the constructor <regexp> they shouldn't be:

"[/]" <regexp>

When the regexp is prettyprinted we make sure to visually escape the
backslashes in the raw regexp.

5 years agoRevert "crontab: instead of after= make it after."
John Benediktsson [Thu, 21 Mar 2019 17:55:22 +0000 (10:55 -0700)]
Revert "crontab: instead of after= make it after."

This reverts commit a3d5e3ffcb8ff60ec16c3bf8cadda4aa02300609.

5 years agoRevert "regexp: fix take-until to handle escapes at the end of a regexp."
John Benediktsson [Mon, 18 Mar 2019 17:42:40 +0000 (10:42 -0700)]
Revert "regexp: fix take-until to handle escapes at the end of a regexp."

This reverts commit 2136abc1d64705805c5274337a799077f4b317e4.

5 years agoRevert "regexp: slightly more complicated tokenization to handle another case."
John Benediktsson [Mon, 18 Mar 2019 17:42:29 +0000 (10:42 -0700)]
Revert "regexp: slightly more complicated tokenization to handle another case."

This reverts commit 9f0bce762259878c63d15ef171c17931276c066e.

5 years agoRevert "globs: simpler separator regexp."
John Benediktsson [Mon, 18 Mar 2019 17:42:23 +0000 (10:42 -0700)]
Revert "globs: simpler separator regexp."

This reverts commit 31f309a829160c52854cefeb86a0b6a85937b2e8.

5 years agoglobs: simpler separator regexp.
John Benediktsson [Sun, 17 Mar 2019 20:13:27 +0000 (13:13 -0700)]
globs: simpler separator regexp.

5 years agoregexp: slightly more complicated tokenization to handle another case.
John Benediktsson [Sun, 17 Mar 2019 20:12:41 +0000 (13:12 -0700)]
regexp: slightly more complicated tokenization to handle another case.

R/ [^/]/
R/ (/|abc)/

5 years agoio.sockets: fix for inet6 too.
Doug Coleman [Sun, 17 Mar 2019 17:23:34 +0000 (12:23 -0500)]
io.sockets: fix for inet6 too.

"::1" 0 <inet4> utf8 <server>
"::1" f <inet4> utf8 <server>

Fixes #2109

5 years agoio.sockets: Allow f in the port of an inet4.
Doug Coleman [Sun, 17 Mar 2019 17:12:04 +0000 (12:12 -0500)]
io.sockets: Allow f in the port of an inet4.

Fixes #2019.

5 years agoregexp: fix take-until to handle escapes at the end of a regexp.
John Benediktsson [Sun, 17 Mar 2019 16:52:53 +0000 (09:52 -0700)]
regexp: fix take-until to handle escapes at the end of a regexp.

this worked:
R\ //.\

this didn't:
R\ //\

5 years agocrontab: instead of after= make it after.
John Benediktsson [Sun, 17 Mar 2019 16:24:16 +0000 (09:24 -0700)]
crontab: instead of after= make it after.

5 years agoio.files.windows: Reloading io.pathnames overwrites these two object
Doug Coleman [Sun, 17 Mar 2019 15:00:07 +0000 (10:00 -0500)]
io.files.windows: Reloading io.pathnames overwrites these two object
methods.

Make them windows methods instead.

5 years agowindows: Add all shell32 function stubs. Add more com.
Doug Coleman [Sun, 17 Mar 2019 02:24:12 +0000 (21:24 -0500)]
windows: Add all shell32 function stubs. Add more com.

5 years agocrontab: avoid next-time being minutes in the past.
John Benediktsson [Sun, 17 Mar 2019 15:55:36 +0000 (08:55 -0700)]
crontab: avoid next-time being minutes in the past.

5 years agoparser: use ?first.
John Benediktsson [Sun, 17 Mar 2019 03:33:40 +0000 (20:33 -0700)]
parser: use ?first.

5 years agoui.tools.listener: use ?first.
John Benediktsson [Sun, 17 Mar 2019 03:33:16 +0000 (20:33 -0700)]
ui.tools.listener: use ?first.

5 years agoio.directories.search: fix traversal test case cross-platform issues.
John Benediktsson [Sun, 17 Mar 2019 03:29:19 +0000 (20:29 -0700)]
io.directories.search: fix traversal test case cross-platform issues.

on Linux and macOS mojave they entries might traverse (a,c,b)
instead of (a,b.c) so we preserve the traversal method order
but sort for cross-platform testing.

5 years agogeneralizations: fix funny mnapply/nspread* bug for n > 3.
John Benediktsson [Sun, 17 Mar 2019 02:58:07 +0000 (19:58 -0700)]
generalizations: fix funny mnapply/nspread* bug for n > 3.

It accidentally worked for n <= 3, now it purposefully works.

5 years agomodels.delay: use restart-timer, it should actually be working.
John Benediktsson [Sat, 16 Mar 2019 23:56:05 +0000 (16:56 -0700)]
models.delay: use restart-timer, it should actually be working.

5 years agocrontab: cleanup empty lines differently.
John Benediktsson [Sat, 16 Mar 2019 23:48:41 +0000 (16:48 -0700)]
crontab: cleanup empty lines differently.

5 years agobuild.sh: add compile/recopile to docs
Doug Coleman [Sat, 9 Mar 2019 03:35:53 +0000 (21:35 -0600)]
build.sh: add compile/recopile to docs

5 years agodebian: Don't install gcc g++ on debian.
Doug Coleman [Sat, 9 Mar 2019 03:08:26 +0000 (21:08 -0600)]
debian: Don't install gcc g++ on debian.

gmake assumes default CC is cc, CXX is g++ (not c++).
In order to make this sane (c++), we check if the shell variable CXX was set
and if so we honor it, else we set CXX to c++.

5 years agomachine-learning.data-sets: Load mnist data.
Doug Coleman [Sat, 2 Mar 2019 05:14:59 +0000 (23:14 -0600)]
machine-learning.data-sets: Load mnist data.

5 years agohacker-news: Add more endpoints to api.
Doug Coleman [Sat, 2 Mar 2019 04:26:14 +0000 (22:26 -0600)]
hacker-news: Add more endpoints to api.

5 years agomath.functions: add logit function and a test.
Doug Coleman [Sun, 24 Feb 2019 17:04:27 +0000 (11:04 -0600)]
math.functions: add logit function and a test.

sigmoid is known as expit in scipy

5 years agomake: We don't need the flag.
Doug Coleman [Sat, 23 Feb 2019 23:46:28 +0000 (17:46 -0600)]
make: We don't need the flag.

5 years agobuild.sh: Remove debug..
Doug Coleman [Sat, 23 Feb 2019 22:41:20 +0000 (16:41 -0600)]
build.sh: Remove debug..

5 years agovm: Fix DEBUG flag, make REPRODUCIBLE work like debug, minor fixes to build.sh
Doug Coleman [Sat, 23 Feb 2019 22:17:58 +0000 (16:17 -0600)]
vm: Fix DEBUG flag, make REPRODUCIBLE work like debug, minor fixes to build.sh

- ``make DEBUG=0`` caused debug mode because the check was ``ifdef DEBUG`` which is true even if DEBUG=0
- no need to ``#pragma message`` that we are doing a reproducible build imo
- clang warns about redefining builtin macros, turn the warning off for reproducible builds
- add ``./build.sh info`` as an alias for ``./build.sh report``
- show if we a reproducible in report/info

5 years agovm/master.hpp: optional reproducible VM compilation 2115/head
Cat Stevens [Wed, 20 Feb 2019 19:29:32 +0000 (14:29 -0500)]
vm/master.hpp: optional reproducible VM compilation

The old behaviour of building with `__DATE__` and
    `__TIME__` is still the default, but now it's
    possible to use `-DREPRODUCIBLE=1` and the
    `REPRODUCIBLE=1` parameter to `make` and `nmake`.

Specifically, this replaces the value of
    `FACTOR_COMPILE_TIME` with the string constant
    `"[reproducible]"`. This is purely a cosmetic
    change.

5 years agounix.kqueue: fix platforms.
Doug Coleman [Mon, 11 Feb 2019 04:18:34 +0000 (22:18 -0600)]
unix.kqueue: fix platforms.

5 years agoremove useless structure definition 2113/head
Jack Lucas [Sun, 10 Feb 2019 16:04:48 +0000 (11:04 -0500)]
remove useless structure definition

5 years agoFix stat so io test will finish
Jack Lucas [Sun, 10 Feb 2019 16:01:31 +0000 (11:01 -0500)]
Fix stat so io test will finish

5 years agotype name consistency
Jack Lucas [Sun, 10 Feb 2019 08:28:28 +0000 (03:28 -0500)]
type name consistency

5 years agoFix stat declarations, function: names, and dirent structure in ffi.freebsd
Jack Lucas [Sun, 10 Feb 2019 08:24:34 +0000 (03:24 -0500)]
Fix stat declarations,  function: names, and dirent structure in ffi.freebsd

5 years agovm: Add freebsd32 support for completeness.
Doug Coleman [Sat, 9 Feb 2019 19:39:25 +0000 (19:39 +0000)]
vm: Add freebsd32 support for completeness.

We need gmake on freebsd.

5 years agobasis: Load images.{tiff,png} by default for FreeBSD. Add platforms back.
Doug Coleman [Sat, 9 Feb 2019 18:50:15 +0000 (18:50 +0000)]
basis: Load images.{tiff,png} by default for FreeBSD. Add platforms back.

5 years agoconfig.freebsd: Link the UI libraries into the Factor VM.
Doug Coleman [Sat, 9 Feb 2019 18:49:29 +0000 (18:49 +0000)]
config.freebsd: Link the UI libraries into the Factor VM.

This should happen for other BSD platforms as well.

5 years agobuild.sh: Add a compile option to compile only.
Doug Coleman [Sat, 9 Feb 2019 18:48:42 +0000 (18:48 +0000)]
build.sh: Add a compile option to compile only.

Invoking ``gmake`` only should work, but it uses g++ on OpenBSD instead of clang++. We should fix this.

5 years agoFix typo in monitor file
Jack Lucas [Sat, 9 Feb 2019 23:43:51 +0000 (18:43 -0500)]
Fix typo in monitor file

5 years agoFix monitor errors on startup
Jack Lucas [Sat, 9 Feb 2019 23:38:20 +0000 (18:38 -0500)]
Fix monitor errors on startup

5 years agovm: Use the old FreeBSD os-freebsd.cpp so we don't need procfs installed (it's not...
Doug Coleman [Fri, 8 Feb 2019 22:01:12 +0000 (22:01 +0000)]
vm: Use the old FreeBSD os-freebsd.cpp so we don't need procfs installed (it's not mounted by default).

5 years agobuild.sh: Use gmake on FreeBSD and specify the number of cores.
Doug Coleman [Fri, 8 Feb 2019 21:21:53 +0000 (21:21 +0000)]
build.sh: Use gmake on FreeBSD and specify the number of cores.