$B%U%!%$%k$rB?=E$K%m!<%I$9$k>l9g$NITJX$r2r>C$9$k$?$a$K(J
provide, require $B4X?t$r2C$(!"(Jload$B$KJQ99$r2C$($^$7$?!#(J


1. provide and require

provide, require $B4X?t$O!"$9$G$K%m!<%I:Q$_$N%b%8%e!<%kL>$N%j%9%H$G$"$k(J
*modules* $BJQ?t$r;2>H$7$^$9!#$$$:$l$N>l9g$b(Jmodule$B$O%9%H%j%s%0$^$?$O%7(J
$B%s%\%k$G!":G=*E*$K$OBgJ8;z$N%9%H%j%s%0$KJQ49$5$l$^$9!#(J

require$B$O!"(J(require module-name &optional file-name) $B$N7A<0$r$7$F$*$j!"(J
*modules*$B$K(Jmodule-name$B$,4^$^$l$F$$$J$$>l9g$K8B$j(Jfile-name$B$r%m!<%I$7!"(J
module-name$B$r(J*modules*$B$K2C$($^$9!#(Jfile-name$B$,;XDj$5$l$F$$$J$$>l9g$O2?$b(J
$B$7$^$;$s!#(J

provide$B$O!"(J(provide module-name) $B$N7A<0$G!"C1$K(Jmodule-name$B$r(J*modules*$B$K(J
$B2C$((J(adjoin)$B$^$9!#(J

$B;H$$J}(J:
file A $B$,4pK\4X?t$r4^$s$@%U%!%$%k!"(JB,C$B$,$=$l$r;2>H$9$k%W%m%0%i%`$@$H$7$^$9!#(J
$B$D$^$j!"(JB$B$H(JC$B$NF0:n$K$O(JA$B$,I,MW$G$9$,!"(JB$B$H(JC$B$OFHN)$G!"Aj8_;2>H$O$J$$$H$7$^$9!#(J

A $B$NCf$G!"(J(provide 'A) $B$7$^$9!#(J
B$B$H(JC$B$N@hF,$G$O!"(J(require 'A "a.o") $B$H$7$^$9!#(J

provide, require$B$,$J$$>l9g!"(JB$B!"(JC$B$N@hF,$G(J(load "a.o")$B$9$k$3$H$K$J$j$^$9!#(J
$B$3$3$G!"$?$^$?$^(JB$B$H(JC$B$rB3$1$F%m!<%I$9$k$H!"(J"a.o"$B$r(J2$B2s%m!<%I$9$k$3$H$K$J$j!"(J
$B;~4V$,$+$+$k$@$1$G$J$/!"JL$N%$%s%9%?%s%9$,:n$i$l$F:$$k$3$H$,$"$j$^$9!#(J
require$B$K$7$F$*$1$P(J"a.o"$B$N%m!<%I$O0l2s$@$19T$o$l$^$9!#(J
$B$^$?!"(JB$B$,%G%P%C%0Cf$GIQHK$K%m!<%I$r7+$jJV$9>l9g$G$b!"(Jrequire$B$r;H$($P(J
$B$9$G$K%m!<%I$5$l$?(J"a.o"$B$r2?2s$,%m!<%I$5$l$k$3$H$rKI$0$3$H$,$G$-$^$9!#(J
$B$?$@$7!"(JA$B$KJQ99$r2C$($F!"K\Ev$K(J"a.o"$B$r%m!<%I$7D>$9I,MW$,$"$k$H$-$O!"(J
$BM[$K(J(load "a")$B$7$J$1$l$P$J$j$^$;$s!#(J

*modules* $B$NCM$r8+$l$P!":#$^$G$K$I$s$J%b%8%e!<%k$,%m!<%I$5$l$?$+$,(J
$B$o$+$j$^$9!#(J

2. load

require$B$NFs$D$a$N0z?t$O!"%b%8%e!<%k$rDj5A$7$F$$$k%U%!%$%kL>$G$9!#(J
$B%U%!%$%kCf$+$iB>$N%U%!%$%k$r%m!<%I$9$k>l9g!"$=$l$bB>$N%G%#%l%/%H%j(J
$B$K$"$k>l9g!"AjBP%Q%9;XDj$r$7$?$/$J$j$^$9$,!"$=$l$O$G$-$^$;$s!#(J
(load ...) $B$O!"(JC $B$N(J#include $B$H$O0c$C$FC10l$N%U%!%$%k$@$1$r;2>H$9$k(J
$B$N$G$J$/!"(J.q, .o, .l, *symbol-input*, *symbol-output*, :ld-option
$B$J$I$?$/$5$s$N%U%!%$%k$rC5$9$N$G!"(Jload$B$N:G=i$K(Jchdir$B$7$F$*$1$P$h$$(J
$B$H$$$&$o$1$K$O$$$+$J$$$+$i$G$9!#(J

$B$7$+$7!"$3$l$G$OITJX$J$N$G!"(Jload$B$N:G=i$G!"$=$N%U%!%$%k$,$"$k%G%#%l%/(J
$B%H%j$r(J *load-path*$B$K0l;~E*$KDI2C$9$k$h$&$K$7$^$7$?!#AjBP%Q%9;XDj$O(J
$B$G$-$^$;$s$,!"$=$N%G%#%l%/%H%j$K$"$kB>$N%b%8%e!<%k$r%m!<%I$9$k>l9g(J
$B$K8B$j!"@dBP%Q%9$r=q$+$J$/$F$b3N<B$K%m!<%I$G$-$k$h$&$K$J$j$^$9!#(J

home$B$K$$$F!"%5%V%G%#%l%/%H%jCf$N%U%!%$%k(J "sub/file.l"$B$r%m!<%I(J
$B$9$k$H$7$^$9!#(J

file.l$B$,(J
(require 'module "module")
...

$B$H$J$C$F$$$k$H!"0JA0$O!"(J"module"$B$O(J home$B$K$"$k$+!"(J*load-path*$BCf$N(J
$B$I$3$+$K$J$1$l$P$J$i$J$+$C$?$N$G$9$,!"(Jsub$B$K$"$C$F$b$h$$$3$H$K$J$j$^$9!#(J




