

Factor 0.97 now available - otoburb
http://re-factor.blogspot.com/2014/11/factor-097-now-available.html

======
mschaef
I'm glad to see that Factor is regaining some momentum. It made such good
progress early on that it would be a shame if development didn't continue.

------
fithisux
Will we ever see a humane J-language binding? I would like to use it Factor-
like.

Congrats for the release.

------
rtpg
always been interested in learning a stack based language, but have been
unsure about what sort of programs are interesting to build with this.

~~~
gre
Factor is general-purpose and you can write most anything you want at this
point.

Here's tar in Factor:

[https://github.com/slavapestov/factor/blob/master/extra/tar/...](https://github.com/slavapestov/factor/blob/master/extra/tar/tar.factor)

For untarring the linux kernel, Factor tar beats /usr/bin/tar on my Mac by 1s,
but 30s vs 6s on Linux for some reason. Could be SSD vs spinning disk, or
worse i/o code on Linux. Funnily, there are about 10 files that differ in case
only, and Mac file system is case-insensitive by default, so you can't even
untar the linux kernel correctly.

Here's host using the dns client library:

[https://github.com/slavapestov/factor/blob/master/extra/tool...](https://github.com/slavapestov/factor/blob/master/extra/tools/dns/dns.factor)

[https://github.com/slavapestov/factor/blob/master/extra/dns/...](https://github.com/slavapestov/factor/blob/master/extra/dns/dns.factor)

I wrote it because gethostbyname is blocking and Factor has nonblocking i/o
for everything else.

There's a cross-platform disk usage tool that outputs the same stuff as df but
works on Windows too:

[https://github.com/slavapestov/factor/blob/master/basis/tool...](https://github.com/slavapestov/factor/blob/master/basis/tools/files/files.factor)

    
    
        USE: tools.files file-systems.
    
    
    

There's a high-level library for doing whatever you want with unix
users/groups:

[https://github.com/slavapestov/factor/blob/master/basis/unix...](https://github.com/slavapestov/factor/blob/master/basis/unix/users/users-
tests.factor)

    
    
        effective-user-name [ ] with-effective-user
        effective-user-id [ ] with-effective-user
        all-users
    

[https://github.com/slavapestov/factor/blob/master/basis/unix...](https://github.com/slavapestov/factor/blob/master/basis/unix/groups/groups-
tests.factor)

    
    
        effective-group-name [ ] with-effective-group
        effective-group-id [ ] with-effective-group
        all-groups
    
    
    

Graphics demo--raytraced spheres using GLSL on a checkerboard pattern, spheres
each play their own music:

[https://github.com/slavapestov/factor/tree/master/extra/gpu/...](https://github.com/slavapestov/factor/tree/master/extra/gpu/demos/raytrace)

[https://github.com/slavapestov/factor/blob/master/extra/gpu/...](https://github.com/slavapestov/factor/blob/master/extra/gpu/demos/raytrace/raytrace.factor)

The main file that sets up the world and loads the shaders and sound is 130
lines and reuses the game library.

------
aaron-lebo
5 or 6 years ago the language got a good amount of hype and was progressing
rapidly. It's been a long time since 0.96. Why has there been such a long
delay?

(not a criticism, just a question)

~~~
jwmerrill
Factor has always been developed by a relatively small team, which makes their
achievements even more remarkable. The language's creator, Slava Pestov, was a
very important driving force in its development until around 2011, when he
stepped down from leading the project to focus on a new job at Google.

John Benediktsson has been leading the project since then, and as the post
mentions, there are and have been many other contributors, but I think it's
fair to say that the project lost a lot of momentum when Slava stepped down.

Joe Groff, who was another important early contributor, and who is now part of
the Swift team at Apple, gave a talk that included an interesting critical
retrospective on the factor project (or at least one chapter of it). I'm sure
there was a better formatted version of it at some point, but this is all I
could find:

[https://github.com/jckarter/zissou/blob/master/talk-
notes.tx...](https://github.com/jckarter/zissou/blob/master/talk-notes.txt)

See "bad parts" for the criticisms.

Incidentally, these notes were the first place that I learned of the Julia
language.

~~~
Dewie
As can be seen from his Github account, he also seems to have been the primary
developer on the Clay programming language.

------
Dewie
Factor seems to be the only modern[1], mature, actively developed
concatenative language right now. But I'm not really a concatenator so I can't
tell for sure.

[1] Though maybe some Forths can be considered modern.

~~~
bjz_
Kitten is an exciting, actively developed, statically typed concatenative
lang: [http://kittenlang.org/](http://kittenlang.org/)

~~~
klibertp
Is it somehow related to Cat language ([http://www.cat-
language.com/](http://www.cat-language.com/))?

~~~
klibertp
Yup, it is. From the FAQ:

"It’s also intended to be a practical successor to Cat, which was the first
statically typed concatenative language."

