Skip to content

Instantly share code, notes, and snippets.

View lagagain's full-sized avatar

lagagain lagagain

View GitHub Profile
#! /bin/bash
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
echo ${SCRIPTPATH}
if [ -d "${SCRIPTPATH}/bin" ] ; then
PATH="${SCRIPTPATH}/bin:$PATH"
fi
@lagagain
lagagain / abcl.cl
Last active March 12, 2019 15:09
JAVA GUI / ABCL GUI
(defun main ()
(let* ((JFrame (jclass "javax.swing.JFrame"))
(JButton (jclass "javax.swing.JButton"))
(BorderLayout (jclass "java.awt.BorderLayout"))
(demo (jnew JFrame "Layout Demo"))
(east (jnew JButton "East"))
(south (jnew JButton "South"))
(west (jnew JButton "West"))
(north (jnew JButton "North"))
(center (jnew JButton "Center")))
;;; init-local.el -- load my config
;;; Commentary:
;;; load my config
;;; Code:
;;;
;;; load send-term
(load "../my-lisp/send-term/send-term.el")
@lagagain
lagagain / Decorators.lisp
Last active December 11, 2018 12:50
自制@裝飾器
(defun Decorators (stream ch1)
(declare (ignore ch1))
(let ((Decorator (read stream))
(the-func-form (read stream)))
(unless (eq (first the-func-form) 'defun)
(error "need 'defun"))
(let ((the-func-name (second the-func-form))
(the-func-args (third the-func-form))
(the-func (cdddr the-func-form)))
@lagagain
lagagain / c-printf.lisp
Created December 11, 2018 11:51
[practice] [Common Lisp] CFFI - c-printf example (Common Lisp)
(require :cffi)
(defpackage my-example
(:use :cl :cffi))
(in-package my-example)
;; example: direct call
(foreign-funcall "printf" :string (format nil "%s: %d~%") ;; need change ~% to \0 in c.(end for string)
:string "Hello"
@lagagain
lagagain / obj call.lisp
Created December 8, 2018 23:06
example for read macro
(set-dispatch-macro-character #\# #\o
(lambda (s c1 c2)
(declare (ignore c1 c2))
(let* ((form (read s))
(obj (car form))
(method (cadr form))
(args (cddr form)))
`(,method ,obj ,@args))))
(defmethod run ((name string))
@lagagain
lagagain / LICENCE
Last active December 4, 2018 07:35
my local setting. base on purcell
These files flow BSD-3
- init-local.el
Copyright (c) 2018, lagagain
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
@lagagain
lagagain / LICENCE
Last active December 4, 2018 02:56
Try Common Lisp GTK(cl-cffi-gtk)
Copyright (c) 2018, lagagain
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
@lagagain
lagagain / case vs bind.lisp
Last active September 3, 2019 04:53
Common lisp 錯誤處理練習
(define-condition div-by-zero ()
((message :initarg :message
:accessor message
:initform ""
:type 'string))
(:report (lambda (c s) (format s "Can not div by zero: ~A~&" (message c)))))
(defun prompt (message)
(format t message)
(read))
@lagagain
lagagain / try-fiveam.lisp
Created November 28, 2018 03:18
Try use FiveAM which is a test framework for Common Lisp.
;;(ql:quickload :fiveam)
(require :fiveam)
(defpackage try-fiveam
(:use :cl)
(:import-from :fiveam test run run! def-suite is))
(in-package try-fiveam)
(test test+