access VS clog

Compare access vs clog and see what are their differences.

access

A common lisp library to unify access to common dictionary-like data-structures (by AccelerationNet)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
access clog
5 150
79 1,419
- -
0.0 9.2
over 1 year ago 4 days ago
Common Lisp Common Lisp
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.

access

Posts with mentions or reviews of access. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-20.
  • Cleaning libraries.
    1 project | /r/Common_Lisp | 27 Feb 2023
    I like https://github.com/AccelerationNet/access
  • JZON hits 1.0 and is at last on the latest QL release: a correct and safe JSON parser, packed with features, and also FASTER than the latest JSON library advertised here.
    4 projects | /r/Common_Lisp | 20 Feb 2023
  • From Common Lisp to Julia
    6 projects | news.ycombinator.com | 8 Nov 2022
    I agree you can make arguments, I like your explanation for the final form further downthread. For the second form, another choice could be (.x foo) or (. foo x). Or if you're trying to write something like System.out.println("x"), Clojure's .. shows it could be written as (.. System out (println "x")). Or, if you're using CL, you can use the access library (https://github.com/AccelerationNet/access) and write things like #Dfoo.bar.bast or (with-dot () (do-thing whatever.thing another.thing)).

    In trying to further steelman a case where random Lisp syntax can be more difficult to read than, say, equivalent Python, two other areas come to mind. First is the inside-outness order of operations thing, it trips people up sometimes. Like the famous "REPL" (with a bad printer) is just (loop (print (eval (read)))), but in English we want to see that as LPER. Solutions include things like the arrow macro (Clojure did good work on showcasing it and other simple macros that can resolve this issue in many places) and if you write/pull one into CL REPL becomes (-> (read) (eval) (print) (loop)), how nice to read. But even the ancient let/let* forms allow you to express a more linear version of something, and you can avoid some instances of the problem with just general programming taste on expression complexity (an issue with all languages -- https://grugbrain.dev/#grug-on-expression-complexity ).

    The second area is on functions that have multiple exit points. A lot of Lispers seem to just not like return-from, and will convert things into cond expressions or similar or just say no to early-exits. The solution here I think comes from both ends, the first is a broader cultural norm spreading in other languages against functions with multiple return statements and getting used to code written that way, the other is to just not get so upset about return-from and use it when it makes the code nicer to read.

  • Document Store/DB Implemented in Common Lisp
    2 projects | /r/lisp | 1 Jun 2022
    thanks. Do you know how your cl-getx differs from access? https://github.com/AccelerationNet/access It is a universal accessor with the option of nested look ups.
  • Modern sequence abstractions
    4 projects | /r/Common_Lisp | 15 Jan 2022
    ps: related: how to access an element in all the lisp sequences, generically? I like access for that: https://github.com/AccelerationNet/access (and generic-cl

clog

Posts with mentions or reviews of clog. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-24.
  • Embracing Common Lisp in the Modern World
    6 projects | news.ycombinator.com | 24 Jan 2024
  • Use any web browser as GUI, with Zig in the back end and HTML5 in the front end
    17 projects | news.ycombinator.com | 1 Jan 2024
    Reminds me of the approach of CLOG (Common Lisp Omnificent Gui[1]) and its ancestor GNOGA (The GNU Omnificent GUI for Ada[2]).

    They also integrate basic components and even graphical UI editor (at least for CLOG), so you can essentially develop the whole thing from inside CL or Ada

    [1] https://github.com/rabbibotton/clog

    [2] https://github.com/alire-project/gnoga

  • Common Lisp: An Interactive Approach (1992) [pdf]
    7 projects | news.ycombinator.com | 10 Oct 2023
    For me David Botton [0] with his work including code, support and videos is doing very nice work in this direction.

    I use SBCL for everything but work because I cannot get; we are getting there, but like you say, it’s such a nice experience working interactively building fast that it is magic and it’s painful returning to my daily work of Python and typescript/react. It feels like a waste of time/life, really.

    [0] https://github.com/rabbibotton/clog

  • CLOG - The Common Lisp Omnificent GUI
    1 project | /r/lisp | 30 Jun 2023
  • Clog The Common Lisp Omnificent GUI
    1 project | /r/hypeurls | 29 Jun 2023
  • Clog – The Common Lisp Omnificent GUI
    2 projects | news.ycombinator.com | 29 Jun 2023
  • Tkinter Designer: Quickly Turn Figma Design to Python Tkinter GUI
    4 projects | news.ycombinator.com | 29 Jun 2023
  • Want to learn lisp?
    3 projects | /r/lisp | 18 Jun 2023
    I was following along on the Windows page and didn't check back on the main README to see if any of the other instructions would help.
  • All Web frontend lisp projects
    10 projects | /r/lisp | 23 May 2023
    It the answer is "latter", then you could look at Common Lisp and Reblocks (https://40ants.com/reblocks/) or CLOG (https://github.com/rabbibotton/clog).
  • How to Understand and Use Common Lisp
    5 projects | news.ycombinator.com | 14 May 2023
    I haven't used Clojure professionally in 10 years so with a grain of salt here are my thoughts as only one other person answered...

    CL over Clojure: it's the OG Lisp that the creator of Clojure used and wanted to continue using but faced too much resistance from management afraid of anything not-Java/not-Oracle, or not-CLR/not-Microsoft, etc. Clojure shipped originally as "just another jar" so devs could "sneak" it in. If you don't have such a management restriction, why Clojure? If you want to integrate CL with the JVM, you can use the ABCL implementation, there's also something from one of the proprietary Lisps. Some useful CL features that are nice in this domain: conditions and restarts mentioned in a sibling comment (very nice to help interactively develop/debug e.g. a selenium webdriver test), ability to easily compile an exe (perhaps useful for microservices, or just to keep your deployment environment clean and not having to care about Lisp), and ability to easily ship with an open local socket allowing you to SSH in (or SSH port forward) and debug/fix/poke around in production (JVM of course lets you attach debuggers to a running process, even certain billion+ dollar companies will have supervised/limited prod debugging sessions for various hairy cases, but it's not as interactive). You should never hear CL advocates claim you can't scale to large teams/groups of engineers or large multi-million-lines sized projects, though you might oddly hear Clojure advocates sometimes claim you can't (and shouldn't) scale to such large projects -- large groups of engineers are a non-issue for them as well though, the challenge is in hiring, not in the language somehow making it impossible to modularize and keep people from stepping on each other.

    Clojure over CL: its integration with the JVM is nicer than ABCL's, so if you do actually want a lot of the great world of Java stuff, it's easier to get at. Database integration libraries are better. Access to libs (Clojure or Java) is via Maven, so it's a larger ecosystem with more self-integrating components (especially around monitoring/metrics) than what's available for Lisp via Quicklisp. Clojure is very opinionated, much of it quite tasteful, and that gives the whole ecosystem a certain consistency. (You can have immutable data structures in CL, you can if you want use [] for literal vectors and make them syntactically important e.g. in let bindings, but not everyone will be on board.) Even though its popularity seems to have stopped growing, at least at the same rate as e.g. Go which it was keeping pace with for a while, it's still popular enough with a bigger community; as a proxy measure there are multiple conferences around the world and good talks at adjacent conferences, whereas Lisp mostly just has one conference in Europe per year and only occasional branching outside of that.

    If you're doing a client-side-heavy webapp, ClojureScript is still amazing, CL's answers there aren't very compelling with the exception of CLOG (https://github.com/rabbibotton/clog) which takes an entirely different direction than the usual idea of translating/running Lisp on top of JavaScript and its popular frameworks.

What are some alternatives?

When comparing access and clog you can also consider the following projects:

trivia - Pattern Matcher Compatible with Optima

kandria - A post-apocalyptic actionRPG. Now on Steam!

stumpwm - The Stump Window Manager

awesome-cl - A curated list of awesome Common Lisp frameworks, libraries and other shiny stuff.

electron-sbcl-sqlite - A simple boilerplate that builds an Electron app with SBCL and SQLite3 embedded

weblocks - This fork was created to experiment with some refactorings. They are collected in branch "reblocks".

kons-9 - Common Lisp 3D Graphics Project

paip-lisp - Lisp code for the textbook "Paradigms of Artificial Intelligence Programming"

alive-lsp - Language Server Protocol implementation for use with the Alive extension

htmx - </> htmx - high power tools for HTML

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

jzon - A correct and safe(er) JSON RFC 8259 reader/writer with sane defaults.