Scratch-like visual programming for Clojure using Blockly

I created a project that translates visual Blockly tiles into executable Clojure code:


There are two demo videos. I apologize for the topic of the first one being very special (theoretical Physics).

7 Likes

Hi Markus, that’s pretty cool! Welcome to ClojureVerse!

1 Like

Hi Arne,
The ultimate reason I opened the project actually is, that the Parker Institute for Cancer Immunotherapy is using Clojure/Blockly professionally and showed some interest in opening their work.

https://groups.google.com/forum/#!topic/blockly/_0fCUR1XKBo

My post is not to the least to show, in return, active interest from the Clojure Community in their work to be opened. I’d love to see them giving a Clojure conference talk about it.

Hello Markus,
The project looks like a promising tool we could use as part of ClojureBridge London events. Either as a demo or incorporated in one aspect of working with Clojure.

We have several learning paths to help people discover Clojure, including Maria Cloud and Klipse based approaches. Our events attract people from a wide range of experiences, from developers new to Clojure to people new to coding.

I hope to find time to experiment to see how best we can add Blockly to the experiences we currently offer.

Thank you for sharing this wonderful project.
John.

Hello John,
ClojureBridge - wow, that would be great. I think it is a very good tool to show (and not only tell) the functionality of any chosen Clojure Library. That is because you can literally show the attractive Clojure feature (= needs very few building-blocks) whilst hiding the unattractive one (=parantheses).

Concerning actually exploring the (Clojure-core?) library, I think that Blocks can become cumbersome. I hacked textual the usual way and upon getting it right translated into blocks. The project is buildt in a way that you can start with blocks but continue with text when things get convoluted which it does very quickly. For example, you have to get the arity of a function right in the first place. It hopefully helps that the arity determines the colour of a block. During demonstration you can shade some pre-build blocks (somewhat coloure-preserved) and build things up before the eyes of the audience by sneeking on the shaded blocks.

What I mean by “few building blocks” is shown in this screenshot:
screenshot

If your library needs less than arity=6, this picture can be reduced and thereby made even more imressive. To be sure, one could omit the whole most left “function” blocks and some others as well, but never do that! We want to show the Lisp-power, not prouldy showing some code-is-data thingy (= Lisp-curse). I think the choice of shown building-blocks is crucial to presenting the language. It should not be minimal but instructive and therefore chosen with care.

One hint: you can change arity display from “inline inputs” (= one line) to “external inputs” (= many lines) by right clicking on some block.

After pondering about Blocks and their appeal as a beginner-experience, I finally decided to put my hands on this topic. This is my take: CLJ-BLOCKS. Works fully on-line.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.