Skip to content
0:00 / 0:00

#clojurescript#figwheel#interactiveprogramming

Interactive programming Flappy Bird in ClojureScript

Bruce Hauman

248 subscribers • 1 video on Hallway

YouTube
  • Recommended by 6 people: 6 on Hacker News.
  • A classic. People kept recommending it from 2015 to 2020.
  • Presented by Bruce Hauman
  • May be out of date. Uploaded 12 years ago, in an area where tools change fast.

Intermediate. Assumes working knowledge.

55K views12 years ago6 recommendations

Programming languagesWeb developmentLisp and ClojureJavaScript

Bruce Hauman demonstrates interactive programming by live-coding Flappy Bird in ClojureScript, using Figwheel to hot-reload code changes instantly.

Interactive programming Flappy Bird in ClojureScript.

Why it's here

6 people recommend this

What people say. Recommended as a classic demonstration of the power of ClojureScript's interactive development and REPL-driven workflow.

nprescotton Hacker News • Recommends

On “Fun vs. Computer Science”

…direct REPL access to the game environment or DSLs embedded in the game engines (which already exist I'm sure). Outside of the big name engines, I'm curious about what existing options are (leaving out anything browser based because JavaScript is an obvious example), I know of LÖVE2 but I'm not familiar with how "fun" games made in it are. 1: link to this video 2: link…

dustingetzon Hacker News • Recommends

On “Myself – v1.0.3”

This is called interactive development; if you liked this, check these out: * Interactive programming Flappy Bird in ClojureScript: link to this video * Live-editing React app without refresh: link These demos aren't smoke and mirrors, I and many others do interactive development, 8 hours a day, writing regular web apps.

base698on Hacker News • Recommends

On “Lisp is still a secret weapon”

If you're starting from from scratch it looks really awesome. No callback hell and in believable tooling. Watch these talks to see what I mean about tooling: Few minutes link to this video Longer link

freshhawkon Hacker News • Recommends

On “Show HN: Mesh IDE – a code editor that feels like a spreadsheet”

…lt tools have immediate unit test/linting/spec compliance feedback triggered every time you save a file. Unless you mean you want a very simplified language, in which case you should look elsewhere. Clojure has definitely chosen the high power side of that trade-off, but this also allows some truly first class tools to be developed. 1 link 2 link to this video 3 link <- this one in particular is original and outstanding in my opinion…

LandRon Hacker News • Recommends

On “Learn ClojureScript: Functional Programming Concepts”

One of the best things about ClojureScript is figwheel and realtime programming. You can see it in action here link to this video

Nihilartikelon Hacker News • Recommends

On “Nubank acquires Cognitect”

…If they're written properly, functions and the app state are not conflated at all, so you can modify any function in your app's rendering or behavior and as long as they aren't incompatible with the runtime state, it will just pop right into your browser. Illustrated well in this video where the author is interactively re-implementing Flappy Bird: link to this video I feel particularly strongly about this having started out doing front end work primarily in cljs but recently being falling into using React/Redux for a contract and being REALLY strung out by t…

u/Hi-MyNameIsFuchsin r/Kotlin • Mentions

On “Kotlin Team AMA: Ask Us Anything”

…the result. Two questions: - Will a good REPL find it's way into IntellJ Kotlin? I mean: With support of sending/evaluating forms in a running JVM. Kotlin already has `TODO("foo bar")`, how about a `REPL( some.foo.bar() )` that only gets run when the file is loaded in a REPL context. - Could Kotlin/IntelliJ support something like Figwheel (Demo: link to this video )? It's an amazing tool. If I had something like this for Android development it'd make me much more productive.…

u/ws-ilazkiin r/functionalprogramming • Mentions

On “Want to learn to think like a functional programmer to compliment webdev skills”

Clojure might be a good choice. It's functional, but pragmatic about it. Immutable by default, functional by default, but with escape hatches when you realise you need to do something a different way. It's a hosted language that runs on the JVM (Java interop), CLR (C# interop), or javascript (js interop). Since you're interested in Javascript, you could use the JS port (Clojurescript) and make use of any existing javascript knowledge. If you have npm installed, you can give it a spin by installing lumo, which is a standalone clojurescript REPL. Try it out interactively, maybe use it for local scripting tasks to get a feel for functional programming. Some reasons I suggest it: * Li…

lambdadmitryon Hacker News • Mentions

On “Re-Frame: a Reagent Framework for Writing SPAs, in ClojureScript”

…deps using native JS tool (webpack, rollup or w/e) into one file and include it before CLJS-generated JS code. Ah, and in some cases you will need externs, too. It's actually way less complicated then it sounds, and if you need any help, feel free to reach me through mail (my nickname here at gmail.com). I would be happy to help. 1: link 2: link to this video…

Jachon Hacker News • Mentions

On “Porting 30K lines of code from Flow to TypeScript”

Does TypeScript let you build a program interactively as a living thing? Example of what dynamic languages for the browser (ClojureScript) have been doing for 5 years now: link to this video Given that frontend work is so often an endless series of tweaks I don't know how people stand doing anything big for a long duration the classic way of edit -> compile (refresh) -> rebuild runtime state to look at what changed/play around/test -> repeat.

minikomion Hacker News • Mentions

On “Ask HN: What change in your programming technique has been most transformative?”

Sounds like you're remembering John Carmack developing VR using racket: link edit: Also check Arcadia for Clojure: link And developing flappy bird in clojurescript (canonical figwheel example): link to this video