HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

Factor: an extensible interactive language

Google TechTalks5 HN recommenders · recommended in 5 months, 2014-2025
YouTube
59K views · 18 years ago · talk · evergreen

A 2008 Google Tech Talk in which Slava Pestov introduces Factor, a concatenative language influenced by Forth, Lisp and Smalltalk. It covers the interactive environment, metaprogramming, and the language's modern high-level features and libraries.

HN recommends it as the best introduction to Factor and concatenative programming, with commenters saying it impressed them with the engineering.

Programming language designFunctional programming#factor#forth#stacklanguage#metaprogramming#slavapestov

8 comments from Hacker News

@fud1012025 · in “Ask HN: Why did Python fail to evolve?”

It's funny because 3 dropped in 2008, the same year Slava was demonstrating Factor in google tech talks which was a contemporary language to python3 that completely blew Python out of the water. ▶ this video

Strongly recommendsView on HN
@johnisgood2025 · in “Evolving the OCaml Programming Language (2025) [pdf]”

Your comment does not make much sense even if it is true. Factor (Forth-like language) implements even its own ":" (defines a word, i.e. a function) using the language itself, it is not builtin, same with "if", and so forth. Thus, "MEMO:" or locals[1] ("::") being implemented as a library does not mean it is a bad thing, on the contrary, in the case of Factor, it makes it quite powerful. The object system is entirely implemented in Factor, too. "Large chunks of functionality are not part of the core language, they are in just as library".[2] And to compare OCaml's type system to Python's is straight out absurd. [1] Locals are entirely implemented in Factor, too, which is only about ~500 lines of code. It is not part of the core language, and on top of that, there is no performance penalty whatsoever! [2] See more here: ▶ this video .

CitesView on HN
@johnisgood2025 · in “The V Programming Language”

I agree. I remember his talk on Factor. I wish people gave enough support back then so he could work on it full-time. Here is his talk on Factor: ▶ this video , back from 2008.

RecommendsView on HN
@zoltar2024 · in “Thinking Forth: A Language and Philosophy for Solving Problems (2004) [pdf]”

There was always something I liked about Forth when I didn't have to do much stack-thinking. One of the things that felt forth-y to me when I first encountered it was threaded code in Clojure (or any other point-free kind of idiom for that matter). link I'll sometimes abuse Python's compose to do similar things I won't send out for code review. Maybe I really should just try to live in Coconut instead of silly stuff like: import chess import chess.svg from IPython.display import SVG, display from functools import reduce def rcompose(*fs): return reduce(lambda f, g: lambda *xs, **ys: g(f(*xs, **ys)), fs) inline_board = rcompose( chess.Board, chess.svg.board, SVG, display) Factor's quotations dealing with stack management weirdness is super nice, too. link It still has a bit more stack juggling than I like, though. That could just be a "me" problem. Props to that whole community for their effort. ▶ this video

CitesView on HN
@benhoyt2020 · in “Factor: A Practical Stack Languge”

As someone who built Forth compilers back in the day, I really like this language. There's a nice overview of Factor as a paper here: link and a Google tech talk video of Slava Pestov (Factor's creator) showing off the language here: ▶ this video

RecommendsView on HN
@xelxebar2018 · in “Concatenative language (2017)”

I just stumbled across this Google Tech Talk on [factor][0] last night! It absolutely blew my mind. The engineering looks to be top notch, and the video is 9 years old to boot! ▶ this video Anyway, really want to give Factor a try for some personal projects. Would love to hear anecdotes from people who futz with this stuff. [0]: link

Strongly recommendsView on HN
@runeks2014 · in “Pipes and Filters”

I recently came across a language called Factor that works very similar, if not identical, to this. Here's a video about it: ▶ this video

CitesView on HN
@agumonkey2014 · in “K, by Arthur Whitney (2005)”

I see what you did there. ps: just in case here's a very enjoyable talk, not about, but by Slava ▶ this video Beautiful and impressive.

RecommendsView on HN
Practical Common Lisp1:12:10

Practical Common Lisp

Google TechTalks
98K views • 19 years ago
Invited Talk - Guy Steele1:07:22

Invited Talk - Guy Steele

ClojureTV
39K views • 9 years ago
Over the Shoulder 1 - Text Preprocessing in Forth1:06:26

Over the Shoulder 1 - Text Preprocessing in Forth

Andreas Wagner
25K views • 12 years ago
Stanford Seminar - Concatenative Programming: From Ivory to Metal1:04:45

Stanford Seminar - Concatenative Programming: From Ivory to Metal

Stanford Online
14K views • 8 years ago
Clojure for Lisp Programmers Part 1 - Rich Hickey1:28:59

Clojure for Lisp Programmers Part 1 - Rich Hickey

ClojureTV
25K views • 13 years ago
Effective Programs - 10 Years of Clojure - Rich Hickey1:14:52

Effective Programs - 10 Years of Clojure - Rich Hickey

ClojureTV
176K views • 9 years ago
Stephen Wolfram's Introduction to the Wolfram Language12:56

Stephen Wolfram's Introduction to the Wolfram Language

Wolfram
924K views • 12 years ago
"Code is the Easy Part" by Evan Czaplicki38:26

"Code is the Easy Part" by Evan Czaplicki

elm-conf
43K views • 10 years ago
Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure53:56

Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure

jasonofthel33t
119K views • 13 years ago
Type-Driven Development in Idris — Edwin Brady46:36

Type-Driven Development in Idris — Edwin Brady

Scala World
26K views • 11 years ago
Breaking Down Programming Paradigms: APL's Surprising Learning Curve // Aaron Hsu // Dyalog '1759:03

Breaking Down Programming Paradigms: APL's Surprising Learning Curve // Aaron Hsu // Dyalog '17

Dyalog User Meetings
7K views • 9 years ago
Brian Goetz - Stewardship: the Sobering Parts1:03:31

Brian Goetz - Stewardship: the Sobering Parts

ClojureTV
39K views • 11 years ago
CUFP 2011 Keynote: Pragmatic Haskell (Lennart Augustsson Standard Chartered Bank)1:07:28

CUFP 2011 Keynote: Pragmatic Haskell (Lennart Augustsson Standard Chartered Bank)

anilmvs
7K views • 14 years ago
Condition Systems in an Exceptional Language - Chris Houser33:32

Condition Systems in an Exceptional Language - Chris Houser

ClojureTV
16K views • 10 years ago
Why Isn't Functional Programming the Norm? – Richard Feldman46:09

Why Isn't Functional Programming the Norm? – Richard Feldman

Metosin
1.6M views • 7 years ago
Lecture 7A | MIT 6.001 Structure and Interpretation, 19861:24:38

Lecture 7A | MIT 6.001 Structure and Interpretation, 1986

MIT OpenCourseWare
35K views • 17 years ago
The Functional Programmer's Toolkit - Scott Wlaschin1:05:51

The Functional Programmer's Toolkit - Scott Wlaschin

NDC Conferences
79K views • 7 years ago
Lecture 1A | MIT 6.001 Structure and Interpretation, 19861:12:56

Lecture 1A | MIT 6.001 Structure and Interpretation, 1986

MIT OpenCourseWare
995K views • 17 years ago
The Algebra of Algebraic Data Types1:04:35

The Algebra of Algebraic Data Types

London Haskell
27K views • 13 years ago
Lambda World 2018 - What FP can learn from Smalltalk by Aditya Siram43:37

Lambda World 2018 - What FP can learn from Smalltalk by Aditya Siram

Lambda World
25K views • 7 years ago