from Hacker News

Maria: A ClojureScript coding environment for beginners

by macco on 11/16/22, 1:15 PM with 32 comments

  • by h34t on 11/17/22, 6:07 AM

    Developer here. We wrote Maria 6 years ago, and this fall I accepted a ClojuristsTogether grant to bring it back into active development. We hope to simplify/modernize the codebase to make it something people can hack on top of to add features & apply to new use-cases.

    Repo: https://github.com/mhuebert/maria

    ClojureD talk introducing Maria: https://www.youtube.com/watch?v=CUBHrS4ZzO4

    Description of 2022 grant work: http://blog.maria.cloud/2022/09/30/Maria-and-Clojurists-Toge...

    I'll be posting updates to twitter, @mhuebert.

    Happy to answer any questions / hear ideas for improvement & extension.

  • by esrh on 11/17/22, 4:30 AM

    This is really fantastic!

    I've always felt like the lisp family could be a potentially killer educational language, with clojure being a good pick for its focus on functional ideas while being a bit more concise (and practical (looking at scheme)) than some other lisps.

    Typically, most programmers start out with an imperative language and then eventually learn a functional language. I've wondered what it would be like to learn programming from scratch starting from key functional concepts like lists, map/fold/filter, recursion, and first class functions.

    This kind of drawing program also has the benefit of making it simpler to explain some of the benefits of lisp-like languages specifically, in the sense of "wow i'm typing s-exps of the same structure a whole lot, I wonder if i could make it more elegant to type some how" -> macros.

    Clojure has one of the heavier installation procedures, with its dependency on java. Plus, getting a decent repl environment takes at the very least installing rlwrap, and at the most emacs and CIDER. On that note, does anybody know of an all-in-one, simple, repl-focused, lightweight clojure IDE, like the IDLE for Python?

    CLJS is looking pretty optimal. I only just played around with Maria, but it seems like a really friendly environment, especially the helpfully named functions, autocomplete, and of course the repl. It's overall super polished, 100% already rivals pygame and logo as educational tools which were super fun for me when I started programming.

  • by pgayed on 11/17/22, 7:11 AM

    Example gallery is quite beautiful!

    https://www.maria.cloud/gallery?eval=true

  • by filoeleven on 11/17/22, 5:47 PM

    This is really great. A zero-installation CLJS notebook would have already been cool, and Maria has that, powered by (defcell). It also has the shape library, which makes playing around with higher-order functions more intuitive to understand than just seeing a series of numbers as a result. It can also output HTML!
  • by user3939382 on 11/17/22, 3:37 PM

    Nice since the 4clojure exercises went down, which I had a lot of fun with.

    * Just found this! https://4clojure.oxal.org/ Yess

  • by dsnr on 11/17/22, 12:21 PM

    What’s with this new fashion of using feminine names for tech products? Imagine being a woman, working in an office, and hearing your first name in random contexts. I see how that could become annoying.
  • by katspaugh on 11/17/22, 9:37 AM

    That's really cool, great work!

    I've been wanting to take https://lambda.quest in a similar direction. Interactive tutorials are the future!

  • by zubairq on 11/17/22, 5:28 AM

    Very nice. Reminds me of LightTable in the early years
  • by willsmith72 on 11/17/22, 9:26 AM

    I was just looking for something like this to learn Clojure. Thanks!