
functional is a puzzle game about math and abstraction.
Modeled estimate, not a reported figure. How we estimate →
Media

About
Genres
Stats
All-time low is the lowest price we've recorded for this game since we started tracking it.
Languages: English
Engagement
Reviews
Themes across 40 recent reviews and how positive each mention is. A keyword signal, not full sentiment analysis.
Reviews
I'm a sucker for Zachlikes, and functional doesn't disappoint. It's more technical than Zachtronics games (which really says something, given TIS-100 and the like exist) as you are writing real lambda calculus. It's super interesting seeing the foundation of Lisp programming languages built up from the basic primitive of the function. The user interface could use some polish, but it doesn't really take away from the fun of the puzzles. There aren't as many puzzles as I'd expect from a game with the potential scope of functional, but I suppose Steam Workshop and future updates will fill in the gaps. Finally, I agree with other reviewers that documentation is lacking. I would appreciate a document with the signatures of the constants we have available - I often forget the order of arguments with functions like ACC. Don't let those prevent you from buying functional though. It's a fantastic introduction to lambda calculus, especially if you have experience with Lisps.
As it is right now, this is a game for programmers. If you have existing knowledge of functional programming and lambda calculus, and plenty of patience for working with new tools, then this game is plenty fun! If this isn't you, though, then I would firmly say wait to see what this developer puts out next; if it's anything like this, it'll be very interesting. It is very fun to go through a programming game with such a powerful mini language! After maybe a hundred hours across TIS-100, Shenzhen I/O and Exapunks, I finally get to make function calls, compose higher order functions, and extend a language using itself. It's just refreshing seeing these front and center, and I think these are good puzzles built to explore it all from the ground up. It stops before getting 'endgame Zachtronics' brutal, but this was the right level of challenge for me. I agree with others that the game lacks polish; ultimately I did really get into a good flow with this game, but I can understand why others might leave very frustrated. As others have said, the debugging interface is largely unusable: it lacks clear information as to what your answer was, and what answer was expected. I think this more or less follows from the blurry line between functions and data that comes with using pure Lambda Calculus. Writing your own workshop level and figuring out how to verify answers is a really good demonstration as to why: the user's function might return the list [1,2,3], but underneath to the interpreter it's a very complex lambda expression that doesn't even evaluate fully until you make it *do* something! This doesn't excuse anything ultimately, but it's an interesting dissection. (It's actually an open issue on the game's GitHub page! Paging rust programmers...) Another frustration is the naming restrictions, being that variables are *single* lower-case letters, and predefined functions are typed in pure capital letters: I think both should be strings of lower-case letters where possible, with sole exceptions for things like the Y combinator. It's silly not being able to write a variable names 'xh'/'xt' for the head and tail of list x, and I've got difficulties holding down modifier keys like shift (making the constant back and forth between fully capitalized words an obstacle). Parenthesis highlighting and matching would be a very good addition, along with underlying unknown symbols. At the end of the day though, I'm happy. I'm glad I played this game, and it's very good work for a one-man project. It's not an ideal programming environment, but ultimately, these puzzles were a very good fit for me!
Related
Related
Trends
Concurrent players on Steam, sampled daily since tracking started.
Hours played at review time, across 40 reviews with recorded playtime.
positive critical· bar length = how often the theme comes up
Strange experience. I think it's trying to teach me functional programming but if I wanted to learn functional programming this isn't where I'd begin. The exposition is needlessly obtuse, and makes the exercises seem far more complex than they are. If you do want to learn FP, just download Haskell and its manual, and off you go. I've only completed the first batch of exercises, and I spent most of that time trying to find out why a game which looks like a Unix curses(3) app running a simple read/evaluate/print loop is occupying 100% of a core on my CPU. That's not unique to this game though, I don't think I've played any Steam games that don't use CPU out of proportion to their computational requirements. Perhaps they're all mining bitcoin in the background. Anyway, back to the game. The UI is all text presented in several windows and at its core, as I said, there's a REPL. As far as gameplay goes, I haven't seen much. There's a similar vibe to e.g. TIS-100. The main differences are that this game doesn't seem to have any meta, which is a minus, and that this game has the advantage of a volume control so I don't fear that pressing the 'Run' button will shred my eardrums. That's a plus. It feels quite worthy, but I don't think I can recommend it as a game.
This game has a really cool concept! I think it is fun and engaging, but could definitely use some polish. I find that when I get stuck, it's usually more about having misunderstood the syntax than misunderstanding the problem. Also, not being able to create named constants within a given puzzle makes breaking down the problem needlessly difficult. Unless you can do that and I've just not figured out how? There are multiple lines in the editor, and that wouldn't make any sense if you couldn't actually put multi-line code in, but I am yet to figure out how to name a function. In particular, these are my main criticisms: The tutorial section could use some polishing, and should spend a little bit more time on exactly how the input system works. When showing the process of why a solution failed, instead of showing the whole process at once line by line, which is overwhelming and difficult to follow, show each individual reduction on it's own, to help build a better intuition of how the reductions work. Either add or make it clear how to use the ability to create a named function within an individual level I think if these problems were fixed, not only would this be a much better game, it would become an excellent teaching tool for the foundations of functional programming.
一堆差评说没教程的大概都没学过数学 没接触过公理体系 游戏是好玩的
This game is certainly not easy and I really enjoy it. I can understand why many people here are frustrated with the tutorial. For a mathematician it is just enough to understand, what the notation means and how to work with it. If you have no background in mathematics or computerscience you might need some more explanation (even though the concept is quite intuitive once understood).
I came in here with a little functional programming experience, a lot of general programming experience, and no lambda calculus experience, and I left with no lambda calculus experience. The game does an awful job of explaining how to do anything, even in the tutorial.
Интересно, но это не то, за что стоит отдавать деньги. В целом сделано, "чтобы работало". Ничего удобного в интерфейсе нет. Большинство действий делаются [i] только[/i] клавиатурой, но есть 2-3 действия, которые можно сделать [i]только[/i] мышкой. Редактор текста неудобен, реализовано только базовое перемещение стрелками. Всё черно-белое. У приложения даже иконки нет!
I would not recommend this until it gets better documentation,
This game is good study material if you are studying lambda calculus. It is a good roadmap to try to approach or refresh ideas such as Church numerals or Y-combinators. But with that said, it is not beginner friendly, you need to at least be minimally familiar with functional programming. And the problem's wording could use a bit of an improvement, at times it is vague enough that you don't have any idea of where to start and at other moments it is so descriptive the answer is trivial. That could make the game frustrating, as you come from trivial puzzles where the answer was prompted, and the solution is not internalized. The UI could take some improvements. Yes, it is just text, but at least add highlight. When you look at the beta-reductions of the examples, the text is too convoluted. The line-to-line spacing for the beta-reduction screen could use more spacing. The font is not that comfortable to look at for extended periods of time. All in all, I enjoyed the game, I would recommend it as a refresher to lambda calculus, but not if you are a newbie, the wording isn't precise enough, other times it trivializes the answer, and the UI is not that comfortable. I played mainly on a sheet of paper and a pencil.
Audience
Estimated from the language of this game's reviews — a proxy for where players are, not official Steam demographics.
Related
| Pawn of the Dead | $8.2K | 54 | 91% | $6.99 |
| V1RUZ | $8.2K | 59 | 61% | $4.99 |
| Bumblebee - Little Bee Adventure | $8.2K | 59 | 86% | $4.99 |
| 作死吧!UP主! | $8.2K | 59 | 80% | $4.99 |
| Freddi Fish and Luther's Maze Madness | $8.2K | 103 | 80% | $4.99 |
| Garlic Builder | $8.2K | 324 | 93% | $0.87 |