If programming is more than just a means of getting things done for you, then Common Lisp is for you!
Table of Contents
;; This example illustrates how to call actions from JS and update the widget in response. | |
;; It is incomplete but could be refactored into reusable library. | |
;; Hope, somebody will do this some day. | |
(defpackage #:weblocks-autocomplete | |
(:use #:cl)) | |
(in-package weblocks-autocomplete) | |
(ql:quickload '(weblocks log4cl)) |
(defpackage :weblocks/forms | |
(:use :cl) | |
(:import-from #:weblocks/actions | |
#:make-action-url | |
#:function-or-action->action | |
#:get-request-action) | |
(:import-from #:weblocks/html | |
#:with-html) | |
(:import-from #:weblocks/request | |
#:get-path) |
If programming is more than just a means of getting things done for you, then Common Lisp is for you!
Table of Contents
#!/bin/bash | |
# Launch Dired in a plain Emacs configuration. | |
# Arguments are passed to Emacs, e.g. "-nw" works as expected. | |
emacs -q "$@" \ | |
--eval "(dired default-directory)" \ | |
--eval "(defun kill-window-or-emacs () (interactive) (if (one-window-p) (kill-emacs) (delete-window)))" \ | |
--eval "(setq dired-dwim-target t delete-by-moving-to-trash t)" \ |
;; Copyright (C) 2021 Mariano Montone | |
;; This program is free software; you can redistribute it and/or modify | |
;; it under the terms of the GNU General Public License as published by | |
;; the Free Software Foundation, either version 3 of the License, or | |
;; (at your option) any later version. | |
;; This program is distributed in the hope that it will be useful, | |
;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
I don't know Julia!
I saw devs leaving CL for a new graal (and eventually coming back). Grass may not be greener on the other side…
You can't make it a CLI script, because it compiles the whole code WITH dependencies every time, and as soon as you import some serious libraries, compile times will skyrocket. I quickly hit 40 seconds of compilation with just geospatial lib and dataframes. These 40 seconds turned out to be A LOT when you develop interactively. And you can't build everything in a Jupyter Notebook, because eventually you'll have to switch to a CLI script.
Numpy is great, in fact it’s one of the things that pulls people to Python. But can it be better?
Common Lisp is great, in fact it’s one of the things that pulls people to Common Lisp. But can it be better? Indeed Python can’t be better than Common Lisp without it becoming another Lisp. The closest we have is Julia. And while it gets some things right, Julia lacks certain features that limit the goodness of a numerical computing library.
All combined, below I will highlight some of the features that I wish a numerical computing library or ecosystem had. I also want to request the readers for their own inputs about how things can be even better. The goal amidst this is solely to keep things numpy-like. I do not intend to - nor have the background to - make a DSL like April or Petalisp.
While I take some interest in performance and numerical computing, I have m
(in-package :yobabank) | |
(defparameter *1pw-secure-note-name* "Yobabank Data") | |
(defparameter *1pw-vault* "Personal") | |
(defun 1pw-get-field (object name) | |
(when (typep object 'st-json:jso) | |
(st-json:getjso name object))) | |
(defun 1pw-get-id (object) |
quick survey of swank interfaces in order to see what could be broken out into proper portability libraries or, more optimistically, language extensions.
this is preliminary. i pretty much just went down swank.lisp looking for definterfaces. Some other portability related things are not covered yet.
Babel