LispCookbook / cl-cookbook

The Common Lisp Cookbook
http://lispcookbook.github.io/cl-cookbook/
Other
918 stars 138 forks source link

Common Lisp Cheat sheet #395

Open ashok-khanna opened 3 years ago

ashok-khanna commented 3 years ago

Hello,

So I am nearing completion on a new write-up - a Common Lisp "Cheat Sheet". I think it will be a worthwhile addition to the Cookbook as it gives beginner-to-intermediate programmer a single page summary of a reasonably large selection of functions. That way, instead of always having to google something, they just search the one page, which they keep open. I've been doing this a lot, so I think it might be useful for others.

Below is the link (refer readme.org). Let me know if there is interest in adding to the cook book and I will let you know once I'm done and you can re-use my version and make any further changes you like.

https://github.com/ashok-khanna/lisp-notes

vindarel commented 2 years ago

Hi there,

Thanks for writing that much and sharing! I think this cheat sheet would be a great addition. When it falls short, we can redirect the reader to a more complete page. I hope you can send a patch so that you appear in the commit log. Interested into other Cookbook users' opinion too.

alx-a commented 2 years ago

I think it's great, thanks for sharing!

Some questions, @ashok-khanna

  1. You mention "a single page summary". The file you reference https://github.com/ashok-khanna/lisp-notes/blob/main/readme.org is 1526 lines, are there plans to have a separate print-friendly single page, or? Please clarify.

  2. Do you think you would have time for integration and updates of the section based on your work, through the cl-cookbook repo, or what would be the preferred future workflow for you?

  3. Opinions on integration of Common Lisp Quick Reference http://clqr.boundp.org/ ?

ashok-khanna commented 2 years ago

Thanks both. @alx-a some notes here against the bullet points:

1 >> Yes, its a long page :) So the aim (from my own experience using my notes) was that I didn't like having too many different pages to go to, rather keeping one file open. Hence the 'long web page' approach. It's not a single A4 page, that's for sure. Perhaps that is something somebody can do, but I think it might be difficult to fit it all into 1 page. Perhaps 2 - 3 pages, but I think with the use of hyperlinks, what I have is better. One thing that would be useful is a "jump to top" at each section - that I don't have. I can probably produce a pdf copy, but not sure if you need it to be in a certain format.

2 >> I have done this via org mode, which can output to HTML or Markdown. I'm not sure what the format is for the cookbook, but appears to be Markdown, so would be very straightforward for me to add it in. Going forward, I'm happy to make any requested updates or help otherwise with the cookbook of course.

3 >> I think its useful, but is too technical and a bit hard to follow for beginners to intermediate lisp programmers, who would make the most use of a cheat sheet.

Let me know how best to proceed.

alx-a commented 2 years ago

Yes, understood and agreed.

In my opinion, I would think about the workflow/file-flow/automation early on so that it's not double work for Ashok, and also that the updates done on the project/repo are integrated into the Cookbook.

At some point Ashok's work will become stable, but I expect a lot of changes early on, as is the way of things. If you plan to make monthly or rarer releases, a simple update/ping/issue could suffice?

If you like the elegant but with extra initial steps approach, automated releases (org -> md (or just export from Emacs :) and publish in the project repo -> Github auto PR to Cookbook repo -> Quick review by core maintainers -> publication approval). There's existing automation for it on Github and we can discuss it further if it's something you find appealing. Other than that, the obvious org to md and a separate section in the Cookbook is the shortest path forward.

Looking forward to what others have to say.