GithubHelp home page GithubHelp logo

autoexport's Introduction

autoexport

Intro

autoexport is a small macro to export your definitions without any need to add them to your package’s :export section. It’s especially useful with class definitions as it also automatically exports slots, readers, writers and accessors.

Example

(ql:quickload :autoexport)
(defpackage :my-package
  (:use :cl))

(defpackage :other-package
  (:use :cl :autoexport))

;; Switch to a package
(in-package :other-package)
(pub defun some-func () (format t "Hello, World!"))
(pub defclass some-class ()
  ((x
    :accessor x
    :initform :x)
   (y
    :accessor y
    :initform :y)))

;; Switch to a different package
(in-package :my-package)
(other-package:some-func) ; => Hello, World!
                          ; Note a single colon

(defvar *test-var* (make-instance 'other-package:some-class :x 1 :y 1))

(slot-value *test-var* 'other-package:x) ; => 1
(other-package:y *test-var*) ; => 1
(setf (other-package:y *test-var*) 100) ; => 100
(other-package:y *test-var*) ; => 100

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.