exercism
Repos
324

Crowd-sourced code mentorship. Practice having thoughtful conversations about code.

6950
1017

A Go based command line tool for exercism.org.

1162
326

Docs for V3

29
71

The codebase for Exercism's website.

232
85

Shared metadata for exercism exercises.

275
501

Events

pull request opened
A couple of typos in date-time and multiple-values

Summary

Also, added a sentence about the scope of variables in multiple-values-bind.

Checklist

  • [x] If docs where changed run ./bin/configlet generate to ensure all documents are properly generated.
  • [ ] CI is green
Created at 1 hour ago
opened issue
Stripe::InvalidRequestError in api/donations/payment_intents#failed

Error in v3

Stripe::InvalidRequestError in api/donations/payment_intents#failed You cannot cancel this PaymentIntent because it has a status of canceled. Only a PaymentIntent with one of the following statuses may be canceled: requires_payment_method, requires_capture, requires_confirmation, requires_action, processing.

View on Bugsnag

Stacktrace

app/commands/donations/payment_intent/cancel.rb:12 - call
app/controllers/api/donations/payment_intents_controller.rb:34 - failed
app/controllers/application_controller.rb:55 - mark_notifications_as_read!
app/controllers/application_controller.rb:16 - process_action

View full stacktrace

Created automatically via Bugsnag

Created at 1 hour ago
opened issue
ActionView::Template::Error in tracks/build#show

Error in v3

ActionView::Template::Error in tracks/build#show undefined method `students' for nil:NilClass

View on Bugsnag

Stacktrace

app/views/tracks/build/show.html.haml:7 - _app_views_tracks_build_show_html_haml__751565588018023406_35884940
app/controllers/application_controller.rb:55 - mark_notifications_as_read!
app/controllers/application_controller.rb:16 - process_action

View full stacktrace

Created automatically via Bugsnag

Created at 1 hour ago
pull request opened
fix: wrong file name in nucleotide

Did not mean to push to main! i had typed out git checkout branch add-nucleotide and never hit enter or it didn't register. @ErikSchierboom would it be possible to protect the main branch so it can't be pushed to directly and needs to have a PR into it to merge please? I don't have access to those settings.

Created at 2 hours ago
create branch
1ethanhansen create branch fix-wrong-file-name
Created at 2 hours ago

feat: add nucleotide-count exercise

Created at 2 hours ago
Support on-update: edit-only

Currently when I open a PR on my project I deploy a preview version of the website Once that is done pr-commenter-action comments "Hey here is the preview: example.org/preview-123" When the PR is closed the preview deployment is shut down Once that is done pr-commenter-action edits the comment "Preview is shut down because PR was closed"

Does this mean that deploying a preview version of the website somehow creates a new file in the PR? And shutting down the preview deployment does the same, but another file?

I would have implemented the "edit-only" to check if another comment from this action exists. If yes => edit it; If no => do nothing.

I want no new comment to be created when none was there in the first place.

In such a scenario, how can the comment ever exist? If the PR commenter is not supposed to create a comment if no previous comment exist?

Created at 2 hours ago
delete branch
ceddlyburge delete branch generics
Created at 2 hours ago
pull request closed
concept: generics
Created at 2 hours ago
issue comment
concept: generics

Resolved in #532 instead

Created at 2 hours ago
closed issue
Concept: generics

Design

Goal

The goal of this exercise is to teach students how to consume and make generic code.

Learning objectives

  • Understand what a type variable is.
  • Know how to define generic types.
  • Know how to define generic functions.

Out of scope

  • Covariance and contravariance.
  • Higher order functions.

Concepts

  • generics: Learn how to create and use Elm code that is generic.

Prerequisites

  • custom-types: Learn how to use custom types in an Elm program.
Created at 2 hours ago

Add generics concept and concept exercise (#532)

Fixes #422

Created at 2 hours ago
delete branch
ceddlyburge delete branch treasure-chest
Created at 2 hours ago
pull request closed
Add generics concept and concept exercise

Fixes #422

The exercise requires the use of a generic type parameter in a custom type and in a function type signature, but not in a record.

We could potentially ask the student to solve the exercise using a record first, and then using a custom type, similar to how we do it in the Monster Attack partial application exercise. And then in the opaque type concept / exercise we go one step further, making it impossible to get the treasure without the password. It might be a nice journey from simpler and easier to more complicated bit more robust.

Or we could take the view that the way generics are used in records and custom types are similar enough that we don't need the student to explicitly code up both variants, and can see how it is done from the about / introduction.

@jiegillet @mpizenberg

Created at 2 hours ago

Add hint for task 3

Created at 3 hours ago
started
Created at 3 hours ago

Update exercises/concept/treasure-chest/.docs/instructions.md

Co-authored-by: Jie jie.gillet@gmail.com

Created at 3 hours ago
issue comment
Discussion: concepts to implement

I think this code is fairly testable. init, update and view could all be tested, which is most of it. And the code is runnable so we could add instructions for that somewhere, even if we couldn't do it in exercism. Ellie or running locally or something. https://guide.elm-lang.org/architecture/buttons.html.

I think this is possible too, although maybe a bit hacky. We could define dummy Lamdera functions in a helper fine. https://github.com/lamdera/example-apps/tree/master/counter/src

Some of the other stuff might be better as a list of further reading, but I think with a bit of imagination and some dummy functions and things like that we might be able to do some things ...

Created at 3 hours ago

docs: update installation instructions

Merge remote-tracking branch 'origin/main'

Created at 4 hours ago

Bump actions/checkout from 3 to 3.1.0

Bumps actions/checkout from 3 to 3.1.0.


updated-dependencies:

  • dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ...

Signed-off-by: dependabot[bot] support@github.com

Normalize practice exercise names

We have added explicit exercise titles to the metadata.toml files in problem-specifications.

This updates the exercise names to match the values in this field.

docs: update testing instructions for solving locally

Merge remote-tracking branch 'upstream/fix-mismatched-titles'

Merge remote-tracking branch 'origin/dependabot/github_actions/actions/checkout-3.1.0'

(merge) Latest updates: docs and exercise titles

Merge pull request #77 from loziniak/main

Created at 4 hours ago
pull request closed
Latest updates: docs and exercise titles
Created at 4 hours ago
issue comment
Update installation instructions.

@ErikSchierboom done!

Created at 5 hours ago
Created at 5 hours ago
issue comment
Discussion: concepts to implement

The frontend aspect of Elm is kinda hard to present to student considering the only interaction possible on exercism I'm aware of is testing and static analysis. Since the core team of exercism is taking a step back, maybe a good idea would be to participate in exercism upcoming discussions and see how tracks could be able to enjoy some of their specificities. For example, building webpages in Elm.

For tooling, it's also hard to teach considering the exercism platform makes it difficult to use. I guess we could add special cases in our runners to special-case some exercises, but I don't feel like adding complexity to a tool stack that is already not trivial would be a good idea.

Regarding elm-review, I could see a concept on static analysis instead, transforming code and ASTs.

An exercise or concept on making undesirable states unrepresentable (or as Richard says impossible states impossible) would make perfect sense. Could be providing some code with too many things and asking students to transform that code to fix it. This will be hard to write tests and analysis for though.

Created at 5 hours ago
Created at 5 hours ago
Created at 5 hours ago