Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update with latest koans from lisp-koans #9

Open
6 of 33 tasks
jtmoulia opened this issue Nov 28, 2020 · 4 comments
Open
6 of 33 tasks

Update with latest koans from lisp-koans #9

jtmoulia opened this issue Nov 28, 2020 · 4 comments

Comments

@jtmoulia
Copy link
Owner

jtmoulia commented Nov 28, 2020

Problem

The actual koans in lisp-koans got a big update with the 2.0 release. However, since this implementation forked awhile back we can't simply cherry pick over the updates.

For reference: lisp-koans 2.0 PR

Solution

Go through the latest lisp koans here. Which have been added which work with elisp? Which have been changed? Update the elisp koans where appropriate.

There is likely room for improvement by bringing over some of the lisp-koans assertions, e.g. (should (eq ___ ...)) is better written as (true-or-false? ___). I didn't want to pollute the global namespace initially, but that now seems like a small price to pay to make the user's life as simple as possible.

This ticket might be broken into smaller pieces.

Lisp Koans

Here's a list of the current lisp koans which need to be checked (some of these are common lisp specific and will be dropped):

  • asserts
  • nil-false-empty
  • evaluation
  • atoms-vs-lists
  • let
  • scope-and-extent
  • basic-macros
  • lists
  • arrays
  • vectors
  • multiple-values
  • equality-distinctions
  • hash-tables
  • functions
  • strings
  • structures
  • teration
  • mapcar-and-reduce
  • control-statements
  • loops
  • scoring-project
  • format
  • type-checking
  • clos
  • std-method-comb
  • condition-handlers
  • triangle-project
  • dice-project
  • backquote
  • macros
  • quicklisp - CL specific
  • threads - CL specific? what's the elisp way?
  • extra-credit
@jtmoulia
Copy link
Owner Author

jtmoulia commented Jan 6, 2021

On starting work I flipped my opinion re defining custom assertions like true-or-false? vs leveraging ERT's should.

The reason is that I think there's value in having this library follow ERT's patterns rather than defining its own because it makes ERT an implicit lesson within the koans. Also, should is supremely composable as opposed to having a more expressive but more numerous set of assertions.

If anyone reading this agrees or disagrees let me know! I'm curious what others think.

@rajivr
Copy link

rajivr commented Jan 6, 2021

+1 for switching to ERT. I am looking to work through the koans once 2.0 update lands. If I can learn ERT along the way, that would be an added bonus. :-)

@rajivr
Copy link

rajivr commented Oct 17, 2021

@jtmoulia I was wondering if you might be able to complete the 2.0 update during upcoming holidays? :-) Working on this has been on my todo list for a long time.

@jtmoulia
Copy link
Owner Author

I am looking forward to revisiting this project around the holidays as a present to myself -- I'm not sure if I'll be able to do the full 2.0 update, but you should see some progress against it.

Thanks for checking in :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants