trivia VS awesome-cl

Compare trivia vs awesome-cl and see what are their differences.

trivia

Pattern Matcher Compatible with Optima (by guicho271828)

awesome-cl

A curated list of awesome Common Lisp frameworks, libraries and other shiny stuff. (by CodyReichert)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
trivia awesome-cl
7 64
321 2,456
- -
0.8 8.7
7 months ago 10 days ago
Common Lisp Makefile
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

trivia

Posts with mentions or reviews of trivia. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-03.
  • Compiling Pattern Matching
    3 projects | news.ycombinator.com | 3 Feb 2024
    I've used it. :)

    https://github.com/guicho271828/trivia/issues/108

  • Pattern matching macros vs functions?
    1 project | /r/emacs | 29 Nov 2022
    You can see it, for instance, in the Trivia library ( https://github.com/guicho271828/trivia/blob/master/level0/impl.lisp ): the macro match0 is a thin wrapper around the function parse-patterns, and this, in turn, calls the function make-pattern-predicate which performs the recursive destructuring of patterns.
  • From Common Lisp to Julia
    6 projects | news.ycombinator.com | 8 Nov 2022
    I can agree it's not the same, but what's the point? A more interesting disagreement is that I wouldn't say it's a downside (though yes, there are tradeoffs). Especially in Current Year when open source is fashionable and pretty much every language has a package manager to make pulling in or swapping out dependencies pretty easy, I don't see the issue. It's also interesting to note that of all the things Clojure did to "fix" shortcomings of past languages with a more opinionated (and often more correct I'll admit) design philosophy that users are forced to use (even when it's not more correct), infix-math-out-of-the-box wasn't one of them. I don't think that specifically really hurt Clojure adoption. (But of course Clojure is reasonably extensible too so it also has a macro package to get the functionality, though it's more fragile especially around needing spaces because it's not done with reader macros.)

    I've brought the library up many times because CL, unlike so many other languages, really lets you extend it. Want a static type system? https://github.com/coalton-lang/coalton/ Want pattern matching? No need to wait for PEP 636, https://github.com/guicho271828/trivia/ If all that keeps someone from trying CL, or from enjoying it as much as they could because of some frustration or another, due to lacking out of the box, chances are it is available through a library.

  • LEM - What If Emacs Was Multithreaded
    6 projects | /r/emacs | 23 Apr 2022
    Great libraries like trivia, iterate/for/alternative loop libraries, alexandria, and a hundred others. Common Lisp is a general purpose programming language with good support for ffi, working with files, databases, images, audio, etc. Just skim awesome-cl if you haven't. You could argue this doesn't have to do with the language, but a lot of these libraries are so good (or even possible) in part because of language features elisp does not have.
  • Pattern Matching Accepted for Python
    11 projects | news.ycombinator.com | 9 Feb 2021
    > After much deliberation, the Python Steering Council is happy to announce that we have chosen to accept PEP 634, and its companion PEPs 635 and 636, collectively known as the Pattern Matching PEPs

    This is why I'm still enamored with Lisp. One doesn't wait around for the high priests to descent from their lofty towers of much deep pontification and debate with shiny, gold tablets inscribed with how the PEPs may be, on behalf of the plebes. One just adds new language feature themselves, eg. pattern matching[1] and software transactional memory[2].

    1. https://github.com/guicho271828/trivia

    2. https://github.com/cosmos72/stmx

  • Show HN: Powerful Python Pattern Matching Library
    2 projects | news.ycombinator.com | 2 Jan 2021
    The source is impressively simple! Good job!

    I have been implementing a pattern matcher for scheme based on the Balland pattern optimized, and every time I see pattern matchers for python I always get the feeling that the code you are replacing have to be truly awful for the rather contrived pattern matching syntax to be a net win. Compare any of the python pattern matchers to something like trivia in Common Lisp [0] and you see what I mean.

    How do people use the python pattern matchers? I am genuinely curious. One benefit that I see is that you can build patterns at run-time which could be useful.

    [0]: https://github.com/guicho271828/trivia/wiki/Type-Based-Destr...

awesome-cl

Posts with mentions or reviews of awesome-cl. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-26.
  • 3 years of fulltime Rust game development, and why we're leaving Rust behind
    21 projects | news.ycombinator.com | 26 Apr 2024
    I know you're not asking for recommendations, but Lisp, particularly SBCL, really seems to check all your boxes. I say this as someone who generally reaches for Scheme when it comes to Lisps too.

    There are a few game engines[0] for CL, but most of them seem to be catered specifically to 2D games.

    [0] https://github.com/CodyReichert/awesome-cl?tab=readme-ov-fil...

  • KamilaLisp – A functional, flexible and concise Lisp
    6 projects | news.ycombinator.com | 1 Mar 2024
    Hello, a single counter-example I hope https://lispcookbook.github.io/cl-cookbook/editor-support.ht...

    (see more from https://github.com/CodyReichert/awesome-cl?tab=readme-ov-fil...

    https://cl-community-spec.github.io/pages/index.html

    and some more)

  • Why Is Common Lisp Not the Most Popular Programming Language?
    8 projects | news.ycombinator.com | 14 Feb 2024
    Everyone, if you don't have a clue on how's Common Lisp going these days, I suggest:

    https://lisp-journey.gitlab.io/blog/these-years-in-common-li... (https://www.reddit.com/r/lisp/comments/107oejk/these_years_i...)

    A curated list of libraries: https://github.com/CodyReichert/awesome-cl

    Some companies, the ones we hear about: https://github.com/azzamsa/awesome-lisp-companies/

    and oh, some more editors besides Emacs or Vim: https://lispcookbook.github.io/cl-cookbook/editor-support.ht... (Atom/Pulsar support is good, VSCode support less so, Jetbrains one getting good, Lem is a modern Emacsy built in CL, Jupyter notebooks, cl-repl for a terminal REPL, etc)

  • Common Lisp: An Interactive Approach (1992) [pdf]
    7 projects | news.ycombinator.com | 10 Oct 2023
    check out the editor section, there's more than Emacs these days: https://lispcookbook.github.io/cl-cookbook/editor-support.ht...

    - https://github.com/CodyReichert/awesome-cl for libraries

    - https://www.classcentral.com/report/best-lisp-courses/#ancho...

    - a recent overview of the ecosystem: https://lisp-journey.gitlab.io/blog/these-years-in-common-li... (shameless plug, on HN: https://news.ycombinator.com/item?id=34321090)

  • Spinneret: A modern Common Lisp HTML generator
    8 projects | news.ycombinator.com | 26 Sep 2023
    More HTML generators for CL: https://github.com/CodyReichert/awesome-cl#html-generators-a... there are lispy ones (Spinneret), Django-like ones (Djula, I like it, easy to use and extend), HTML-based allowing for inline Lisp code (Ten), JSX-like ones (lsx, markup), and more.
  • Common Lisp JSON parser?
    2 projects | /r/lisp | 17 Sep 2023
    https://github.com/CodyReichert/awesome-cl is usually a good place to find recommendations. Jzon is pretty good.
  • All of Mark Watson's Lisp Books
    6 projects | news.ycombinator.com | 24 Jul 2023
    > obstacles add up

    I actually agree. It wasn't smooth for me to ship my first CL app. It's all better now (more tools, more documentation, more blog posts from several people, more SO questions and answers!).

    > performant

    SBCL is in the same ballpack of C, Rust or Java in many benchmarks.

    In this article series, the author writes the same program in CL, Rust and Java. In fact, he copy-pastes a PG snippet from 30 years ago. This snippet beats Rust and Java in LOC and speed. But, yeah, he wasn't writing super efficient Rust code, so after many discussions, pull requests and sweating, the Rust code became the most performant. https://renato.athaydes.com/posts/revisiting-prechelt-paper-... It didn't take work to make the CL code performant, more so for the Rust one ;)

    a benchmark after sb-simd vectorization: https://preview.redd.it/vn5juu36v2681.png?width=715&format=p... (https://www.reddit.com/r/Common_Lisp/comments/riedio/quite_a...)

    > good tools for networking, for writing concurrent or asynchronous code, for graphics,

    I refer the reader to https://github.com/CodyReichert/awesome-cl but yes, CL won't have the best libraries in some scenarii (GUI? Tk libs are good, we have Gtk4, a Qt5 library used in production© by a big player but difficult to install etc)

    > it doesn't give you a good package manager or means of distributing code

    Quicklisp is neat, with limitations, that can be addressed with Qlot, ql-https, or CLPM or the newest ocicl.

  • How to Understand and Use Common Lisp
    5 projects | news.ycombinator.com | 14 May 2023
    It's a good book!

    Modern companions would be:

    - the Cookbook: https://lispcookbook.github.io/cl-cookbook/ (check out the editors section: Atom/Pulsar, VSCode, Sublime, Jetbrains, Lem...)

    - https://github.com/CodyReichert/awesome-cl to find libraries

    Also:

    - https://stevelosh.com/blog/2018/08/a-road-to-common-lisp/

    - https://news.ycombinator.com/item?id=34321090 2022 in review

  • Why Lisp?
    17 projects | news.ycombinator.com | 7 May 2023
    > static strong typing

    Alright, here is it: https://github.com/coalton-lang/coalton/

    > small efficient native binaries

    The numbers are: with SBCL's core-compression, a web app with dozens on dependencies will weight ±30 to 40MB. This includes the compiler, the debugger, etc. Without core compression, we reach ±150MB.

    > The actor runtime?

    the actor library: https://github.com/mdbergmann/cl-gserver

    > couldn't find a way to make money with it. I suspect many other programmers are in my boat.

    Alright. Some do, that's life. Yes, some companies go with CL even in 2023 (https://lisp-journey.gitlab.io/blog/lisp-interview-kina/, they released https://github.com/KinaKnowledge/juno-lang lately; Feetr (finance): https://twitter.com/feetr_io/status/1587182923911991303)

    https://github.com/azzamsa/awesome-lisp-companies/

    > Give us an HTTP (1.x & 2.0) and WebSockets libraries

    How so? We have those libraries. HTTP/2: https://github.com/zellerin/http2/

    https://github.com/CodyReichert/awesome-cl

  • Peter Norvig – Paradigms of AI Programming Case Studies in Common Lisp
    8 projects | news.ycombinator.com | 5 May 2023
    https://leanpub.com/lovinglisp -- this one is great, and the first thing I recommend

    https://lispcookbook.github.io/cl-cookbook/ -- also great and up to date

    https://awesome-cl.com/ -- for anything else.

What are some alternatives?

When comparing trivia and awesome-cl you can also consider the following projects:

python-imphook - Simple and clear import hooks for Python - import anything as if it were a Python module

cl-str - Modern, simple and consistent Common Lisp string manipulation library.

MLStyle.jl - Julia functional programming infrastructures and metaprogramming facilities

awesome-lisp-companies - Awesome Lisp Companies

awesome-pattern-matching - Pattern Matching for Python 3.7+ in a simple, yet powerful, extensible manner.

coalton - Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.

peps - Python Enhancement Proposals

Petalisp - Elegant High Performance Computing

flynt - A tool to automatically convert old string literal formatting to f-strings

ocaml - The core OCaml system: compilers, runtime system, base libraries

yieldpattern - Pattern matching with switch statements and generation functions

clog - CLOG - The Common Lisp Omnificent GUI