Does anyone else think the definition of "yelling" in the Bob exercise is lacking/vague/unintuitive?
Hah! Finally managed to get all the tests to pass but it still doesn't feel like a good definition of "yelling": https://exercism.io/mentor/solutions/723dccaa218e4495a333327052c0884d -- feedback?
(and, wow, this question has a huge variance in responses -- how did y'all respond to this?)
I used to peek at the test cases when I solved. Many questions don't explicitly state all the criteria.
Aren't we supposed to look at the test cases? They're part of the download, after all. And running lein test
is about the only way you know you have anything close to a solution.
I swear I've spent nearly an hour on Bob
trying to figure out what their definition of "yelling" is. Even looking at community solutions hasn't much helped -- I think it's a terrible question.
I have to say, so far, I am really not impressed by Exercism.
The machinery is very slick but the exercises are awful.
I kinda like that the exercises are vague. It makes my creativity trigger. I also almost always start with running the tests. I often look at them. Depending on the problem. For Bob I think I didn't look at them, just tried to make them pass. The yelling part of Bob had me puzzled too. But I smiled all my way through that exercise, thought it was very fun.
I've deleted my account. I was hoping for much better, after all the "buzz" I've seen about Exercism. Kinda glad I resisted signing up for so long.
As a maintainer working on the next release, I'm searching for ways it could be much better. Some we are already aware of: https://www.youtube.com/watch?v=5Cj1Dr9m3GM
Wow. To me it has been the most wonderful thing! Here's my Bob solution, btw: https://exercism.io/tracks/clojure/exercises/bob/solutions/ada967a952664c9a8ce6a10bb9fac5cc
Why define 0-arity functions? Why not use plain local binding expressions?
I find the regex approach to be mostly impenetrable. Some of the solutions I looked at were completely unreadable because of their reliance on regex (yours isn't too bad but I think it's pretty ugly in some places)
If you trim
first, it's much clearer when you're checking if ?
is the last character.
(to me, "yelling" should be a sentence ending in !
especially after they make that big (pompous) deal about "correct English" -- which they clearly are not adhering to!)
(I'm a bit surprised I can still view your solution BTW @pez given that I've deleted my Exercism account -- that means that all solutions are fully public?)
only once the student chooses to publish it
Yeah, I'm just still surprised you can view solutions when you don't have an account at all.
Anyways, since I've deleted my account, I should probably leave this channel too. I'm sure some folks will get benefit from it but I'm very disappointed in it and I won't be recommending it to anyone.
omg
@porkostomus I'm watching the video now (trying to get past the horrible title, haha). Anyway, I'm at where Jeremy is talking about splitting things up in learning and practising, and I quite like it. Seeing there is a complete new set of exercises needed for the learning track I want to offer some of my time on reading them and giving feedback on them and their manifestations in Clojure. Seeing I am somewhat in the target group for them. Maybe this channel can be used for such things to?
Yes that would be great 😀 The part where he mentions how new the platform is - that's the thing. It was never really put together with much thought to the learning path. That's what we're trying to change.
I remember Clojure Koans having a very well thought out learning path. https://github.com/functional-koans/clojure-koans
Yeah the koans are great! There's also http://clojurescriptkoans.com/ I refer to these often, so hard to beat. So little talk. Finely crafted to introduce just one thing at a time
@hindol.adhya told me about the plans to automate some of the mentoring. I was very sceptical. But the way Jeremy presents it there, I think it will work.
And, naturally, I also get very interested in the part about in-browser exercises. Will that be made in a way where the Clojure REPL is going to be in the front seat, you think?
Perhaps at some point, I agree that would be nice, as it is so central to the Clojure workflow. The way I think of the automated mentoring is more like we are building a "super-linter", that is, tooling to catch common things so that we can maximize the parts of mentoring where the human aspect is most effective.
This is the editor the site will be using: https://ace.c9.io/
Ace is cool. I think I might look at it a bit deeper now, than I have before.
I don't think it has the ability to do stuff like structural editing or inline-eval, which is a shame :face_with_raised_eyebrow: I'd be up for the challenge of trying to implement something better
Parinfer might be possible to stick in there some way...
Also, we could look at how Calva could support the onboarding from Exercism better. Might mostly be a matter of documentation. For someone who has vscode and something like brew, it is pretty quick. I've been able to use babashka for my exercises a bit lately, so maybe there is a way we can ship that with Calva... Thinking out loud here.
Those are both great ideas! I would definitely be in favor of that. VSCode and Calva keep getting better and have become the starter-kit of choice, in my opinion.
Yeah it would be really great to add socket REPL support to Calva for babashka
There's this: https://marketplace.visualstudio.com/items?itemName=mauricioszabo.clover (It's by the same author of Chlorine for Atom) I don't use it though because I'm happy with my VSCode config and I'm afraid of messing it up, so I just use a different editor for babashka 😜
I hear it supports nREPL now though, so perhaps it will no longer be an issue...
Yeah, an nREPL server is being added to babashka. Still has some quirks used from Calva. I will try to figure out what is not happening. Not sure if it is possible to bundle babashka with Calva, but if it is, it might open up for a cool Exercism lab 😃
@pez Can you test the latest version I posted in the #babashka channel? I was planning to release it today, but if it still has quirks we can maybe fix those before releasing
Yeah. Since parts of Calva are written in cljs.
The same branch as I have been testing so far?
it's been merged to master now. I've also posted binaries over there
https://clojurians.slack.com/archives/CLX41ASCS/p1585950861208000
Calva relies on the info
op to support navigation and doc lookup. So that is probably most of what is not going on.
And on my wish-list would be the test ops. That would make it work for many Exercism exercises.
But clojure.test
in itself is not supported yet, right?
yes, it is
I don't get completions from it...
hmm, good point, me neither. I'll make a separate issue for it
Cool. Since I never use it directly to run tests I didn't know what to evaluate. 😃 But, now looked that up and, yes, indeed it runs my tests. Sweet!
@pez The issue is now fixed on master
Awesome. Also saw you released it. That's awesome too!
yeah. btw, you were mentioning to include bb. some other idea that could be interesting to explore: use sci inside Calva, so people can configure VSCode/Calva using Clojure itself. https://www.npmjs.com/package/@borkdude/sci#use-from-javascript
an example JavaScript project which uses sci to expose a Clojure DSL: https://github.com/Deep-Symmetry/bytefield-svg
The ClojureScript runtime is shipped with Calva as well. NOt sure how to leverage that, but anyway. 😃
the CLJS runtime?
So, the Meetup exercise was a bit extra interesting. :thinking_face: https://exercism.io/mentor/solutions/2d316846219d4bc0ac79d1aeaf3888d7