Skip to content

Commit 24a997e

Browse files
committed
update paper
1 parent e98764b commit 24a997e

File tree

11 files changed

+1711
-15
lines changed

11 files changed

+1711
-15
lines changed

paper/paper.aux

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
\relax
2+
\providecommand\hyper@newdestlabel[2]{}
3+
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
4+
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
5+
\global\let\oldcontentsline\contentsline
6+
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
7+
\global\let\oldnewlabel\newlabel
8+
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
9+
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
10+
\AtEndDocument{\ifx\hyper@anchor\@undefined
11+
\let\contentsline\oldcontentsline
12+
\let\newlabel\oldnewlabel
13+
\fi}
14+
\fi}
15+
\global\let\hyper@last\relax
16+
\gdef\HyperFirstAtBeginDocument#1{#1}
17+
\providecommand\HyField@AuxAddToFields[1]{}
18+
\providecommand\HyField@AuxAddToCoFields[2]{}
19+
\citation{chen_grossmann_2019}
20+
\citation{grossmann_trespalacios_2013}
21+
\citation{balas_2018}
22+
\citation{chen_grossmann_2019}
23+
\citation{MATOVU2022107856}
24+
\citation{ZHOU202269}
25+
\citation{CHO2022841}
26+
\citation{kim2022generalized}
27+
\citation{CHEN2022107616}
28+
\citation{chen2022pyomo}
29+
\citation{vecchietti1999logmip}
30+
\citation{dunning_huchette_lubin_2017}
31+
\citation{dunning_huchette_lubin_2017}
32+
\citation{nemhauser_1999}
33+
\citation{TRESPALACIOS201598}
34+
\citation{LEE20002125}
35+
\citation{grossmann_lee_2003}
36+
\citation{chen_grossmann_2019}
37+
\newlabel{@firstpg}{{}{1}{}{Doc-Start}{}}
38+
\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}{section.1}}
39+
\@writefile{toc}{\contentsline {section}{\numberline {2}Generalized Disjunctive Programming}{1}{section.2}}
40+
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Model}{1}{subsection.2.1}}
41+
\newlabel{eq:general_gdp}{{1}{1}{Model}{equation.2.1}{}}
42+
\newlabel{eq:general_gdp1}{{6}{1}{Model}{equation.2.6}{}}
43+
\citation{TRESPALACIOS201598}
44+
\citation{grossmann_trespalacios_2013}
45+
\newlabel{eq:lgdp}{{7}{2}{Model}{equation.2.7}{}}
46+
\newlabel{eq:lgdp2}{{11}{2}{Model}{equation.2.11}{}}
47+
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Solution Technique: Reformulation to Mixed-Integer Program}{2}{subsection.2.2}}
48+
\newlabel{eq:ex}{{12}{2}{Solution Technique: Reformulation to Mixed-Integer Program}{equation.2.12}{}}
49+
\newlabel{eq:x}{{13}{2}{Solution Technique: Reformulation to Mixed-Integer Program}{equation.2.13}{}}
50+
\newlabel{eq:simple_xor}{{14}{2}{Solution Technique: Reformulation to Mixed-Integer Program}{equation.2.14}{}}
51+
\newlabel{eq:y}{{15}{2}{Solution Technique: Reformulation to Mixed-Integer Program}{equation.2.15}{}}
52+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\itshape 2.2.1}Big-M Reformulation}{2}{subsubsection.2.2.1}}
53+
\newlabel{eq:ex_bigm1}{{16}{2}{Big-M Reformulation}{equation.2.16}{}}
54+
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Feasible solution space for example disjunction}}{2}{figure.1}}
55+
\newlabel{fig:reform_figure}{{1}{2}{Feasible solution space for example disjunction}{figure.1}{}}
56+
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Relaxed solution space using Big-M Reformulation}}{2}{figure.2}}
57+
\newlabel{fig:bigm}{{2}{2}{Relaxed solution space using Big-M Reformulation}{figure.2}{}}
58+
\newlabel{eq:ex_bigm2}{{17}{2}{Big-M Reformulation}{equation.2.17}{}}
59+
\newlabel{eq:ex_bigm3}{{18}{2}{Big-M Reformulation}{equation.2.18}{}}
60+
\newlabel{eq:ex_bigm4}{{19}{2}{Big-M Reformulation}{equation.2.19}{}}
61+
\newlabel{eq:ex_bigm5}{{20}{2}{Big-M Reformulation}{equation.2.20}{}}
62+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\itshape 2.2.2}Hull Reformulation}{2}{subsubsection.2.2.2}}
63+
\citation{jackson_sheridan_2005}
64+
\citation{grossmann_lee_2003}
65+
\citation{E.Grossmann2009}
66+
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Relaxed solution space using Hull Reformulation}}{3}{figure.3}}
67+
\newlabel{fig:chr}{{3}{3}{Relaxed solution space using Hull Reformulation}{figure.3}{}}
68+
\newlabel{eq:ex_hull0}{{21}{3}{Hull Reformulation}{equation.2.21}{}}
69+
\newlabel{eq:ex_hull1}{{22}{3}{Hull Reformulation}{equation.2.22}{}}
70+
\newlabel{eq:ex_hull2}{{23}{3}{Hull Reformulation}{equation.2.23}{}}
71+
\newlabel{eq:ex_hull4}{{24}{3}{Hull Reformulation}{equation.2.24}{}}
72+
\newlabel{eq:ex_hull5}{{25}{3}{Hull Reformulation}{equation.2.25}{}}
73+
\newlabel{eq:ex_hull3}{{26}{3}{Hull Reformulation}{equation.2.26}{}}
74+
\newlabel{eq:ex_hull6}{{27}{3}{Hull Reformulation}{equation.2.27}{}}
75+
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Logic constraint reformulation}{3}{subsection.2.3}}
76+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\itshape 2.3.1}Propositional Logic}{3}{subsubsection.2.3.1}}
77+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\itshape 2.3.2}Constraint Programming}{3}{subsubsection.2.3.2}}
78+
\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Other Solution Techniques}{3}{subsection.2.4}}
79+
\newlabel{other_techniques}{{2.4}{3}{Other Solution Techniques}{subsection.2.4}{}}
80+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\itshape 2.4.1}Disjunctive branch and bound}{3}{subsubsection.2.4.1}}
81+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\itshape 2.4.2}Logic-based outer approximation}{3}{subsubsection.2.4.2}}
82+
\citation{trespalacios_grossmann_2016}
83+
\citation{agarwal2010automating}
84+
\citation{furman_sawaya_grossmann_2020}
85+
\citation{10.1145/3511528.3511535}
86+
\citation{huangfu2018parallelizing}
87+
\@writefile{toc}{\contentsline {subsubsection}{\numberline {\itshape 2.4.3}Hybrid cutting planes}{4}{subsubsection.2.4.3}}
88+
\@writefile{toc}{\contentsline {section}{\numberline {3}DisjunctiveProgramming.jl}{4}{section.3}}
89+
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Features}{4}{subsection.3.1}}
90+
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Example}{4}{subsection.3.2}}
91+
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Illustrative superstructure optimization problem}}{4}{figure.4}}
92+
\newlabel{fig:superstruct_opt_diagram}{{4}{4}{Illustrative superstructure optimization problem}{figure.4}{}}
93+
\newlabel{eq:example_obj}{{28}{4}{Example}{equation.3.28}{}}
94+
\newlabel{eq:example_gdp}{{29}{4}{Example}{equation.3.29}{}}
95+
\newlabel{eq:example_global}{{30}{4}{Example}{equation.3.30}{}}
96+
\newlabel{eq:example_global1}{{31}{4}{Example}{equation.3.31}{}}
97+
\newlabel{eq:example_var1}{{32}{4}{Example}{equation.3.32}{}}
98+
\newlabel{eq:example_var2}{{33}{4}{Example}{equation.3.33}{}}
99+
\newlabel{eq:example_var3}{{34}{4}{Example}{equation.3.34}{}}
100+
\citation{kronqvist2022p}
101+
\citation{agarwal2015novel}
102+
\citation{bynum2021pyomo}
103+
\citation{hart2011pyomo}
104+
\citation{chen2022pyomo}
105+
\citation{Bussieck2004}
106+
\citation{vecchietti1999logmip}
107+
\citation{NAVARROAMOROS201413}
108+
\bibstyle{juliacon}
109+
\bibdata{ref.bib}
110+
\bibcite{agarwal2015novel}{1}
111+
\bibcite{agarwal2010automating}{2}
112+
\bibcite{balas_2018}{3}
113+
\bibcite{Bussieck2004}{4}
114+
\bibcite{bynum2021pyomo}{5}
115+
\bibcite{chen_grossmann_2019}{6}
116+
\bibcite{chen2022pyomo}{7}
117+
\bibcite{CHEN2022107616}{8}
118+
\@writefile{toc}{\contentsline {section}{\numberline {4}Future Work}{5}{section.4}}
119+
\@writefile{toc}{\contentsline {section}{\numberline {5}Related Work}{5}{section.5}}
120+
\@writefile{toc}{\contentsline {section}{\numberline {6}Conclusion}{5}{section.6}}
121+
\@writefile{toc}{\contentsline {section}{\numberline {7}References}{5}{section.7}}
122+
\bibcite{CHO2022841}{9}
123+
\bibcite{dunning_huchette_lubin_2017}{10}
124+
\bibcite{E.Grossmann2009}{11}
125+
\bibcite{furman_sawaya_grossmann_2020}{12}
126+
\bibcite{10.1145/3511528.3511535}{13}
127+
\bibcite{grossmann_lee_2003}{14}
128+
\bibcite{grossmann_trespalacios_2013}{15}
129+
\bibcite{hart2011pyomo}{16}
130+
\bibcite{huangfu2018parallelizing}{17}
131+
\bibcite{jackson_sheridan_2005}{18}
132+
\bibcite{kim2022generalized}{19}
133+
\bibcite{kronqvist2022p}{20}
134+
\bibcite{LEE20002125}{21}
135+
\bibcite{MATOVU2022107856}{22}
136+
\bibcite{NAVARROAMOROS201413}{23}
137+
\bibcite{nemhauser_1999}{24}
138+
\bibcite{TRESPALACIOS201598}{25}
139+
\bibcite{trespalacios_grossmann_2016}{26}
140+
\bibcite{vecchietti1999logmip}{27}
141+
\bibcite{ZHOU202269}{28}

paper/paper.bbl

Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
\begin{thebibliography}{10}
2+
3+
\bibitem{agarwal2015novel}
4+
Anshul Agarwal.
5+
A novel minlp reformulation for nonlinear generalized disjunctive programming
6+
(gdp) problems.
7+
{\em arXiv preprint arXiv:1510.01791}, 2015.
8+
9+
\bibitem{agarwal2010automating}
10+
Ashish Agarwal, Sooraj Bhat, Alexander Gray, and Ignacio~E Grossmann.
11+
Automating mathematical program transformations.
12+
In {\em International Symposium on Practical Aspects of Declarative Languages},
13+
pages 134--148. Springer, 2010.
14+
\href{http://dx.doi.org/10.1007/978-3-642-11503-5\_12}{doi:10.1007/978-3-642-11503-5\_12}.
15+
16+
\bibitem{balas_2018}
17+
Egon Balas.
18+
{\em Disjunctive programming}.
19+
Springer, 2018.
20+
21+
\bibitem{Bussieck2004}
22+
Michael~R. Bussieck and Alex Meeraus.
23+
{\em General Algebraic Modeling System (GAMS)}, pages 137--157.
24+
Springer US, Boston, MA, 2004.
25+
\href{http://dx.doi.org/10.1007/978-1-4613-0215-5\_8}{doi:10.1007/978-1-4613-0215-5\_8}.
26+
27+
\bibitem{bynum2021pyomo}
28+
Michael~L. Bynum, Gabriel~A. Hackebeil, William~E. Hart, Carl~D. Laird,
29+
Bethany~L. Nicholson, John~D. Siirola, Jean-Paul Watson, and David~L.
30+
Woodruff.
31+
{\em Pyomo--optimization modeling in python}, volume~67.
32+
Springer Science \& Business Media, third edition, 2021.
33+
34+
\bibitem{chen_grossmann_2019}
35+
Qi~Chen and Ignacio Grossmann.
36+
Modern modeling paradigms using generalized disjunctive programming.
37+
{\em Processes}, 7(11), 2019.
38+
\href{http://dx.doi.org/10.3390/pr7110839}{doi:10.3390/pr7110839}.
39+
40+
\bibitem{chen2022pyomo}
41+
Qi~Chen, Emma~S Johnson, David~E Bernal, Romeo Valentin, Sunjeev Kale, Johnny
42+
Bates, John~D Siirola, and Ignacio~E Grossmann.
43+
Pyomo. gdp: an ecosystem for logic based modeling and optimization development.
44+
{\em Optimization and Engineering}, 23(1):607--642, 2022.
45+
46+
\bibitem{CHEN2022107616}
47+
Ying Chen, Yixin Ye, Zhihong Yuan, Ignacio~E. Grossmann, and Bingzhen Chen.
48+
Integrating stochastic programming and reliability in the optimal synthesis of
49+
chemical processes.
50+
{\em Computers \& Chemical Engineering}, 157:107616, 2022.
51+
\href{http://dx.doi.org/10.1016/j.compchemeng.2021.107616}{doi:10.1016/j.compchemeng.2021.107616}.
52+
53+
\bibitem{CHO2022841}
54+
Seolhee Cho and Ignacio~E. Grossmann.
55+
An optimization model for expansion planning of reliable power generation
56+
systems.
57+
In Ludovic Montastruc and Stephane Negny, editors, {\em 32nd European Symposium
58+
on Computer Aided Process Engineering}, volume~51 of {\em Computer Aided
59+
Chemical Engineering}, pages 841--846. Elsevier, 2022.
60+
\href{http://dx.doi.org/10.1016/B978-0-323-95879-0.50141-7}{doi:10.1016/B978-0-323-95879-0.50141-7}.
61+
62+
\bibitem{dunning_huchette_lubin_2017}
63+
Iain Dunning, Joey Huchette, and Miles Lubin.
64+
Jump: A modeling language for mathematical optimization.
65+
{\em SIAM Review}, 59(2):295–320, 2017.
66+
\href{http://dx.doi.org/10.1137/15M1020575}{doi:10.1137/15M1020575}.
67+
68+
\bibitem{E.Grossmann2009}
69+
Ignacio E.~Grossmann.
70+
{\em Logic-based outer approximation}, pages 1928--1931.
71+
Springer US, Boston, MA, 2009.
72+
\href{http://dx.doi.org/10.1007/978-0-387-74759-0\_348}{doi:10.1007/978-0-387-74759-0\_348}.
73+
74+
\bibitem{furman_sawaya_grossmann_2020}
75+
Kevin~C. Furman, Nicolas~W. Sawaya, and Ignacio~E. Grossmann.
76+
A computationally useful algebraic representation of nonlinear disjunctive
77+
convex sets using the perspective function.
78+
{\em Computational Optimization and Applications}, 76(2):589–614, 2020.
79+
\href{http://dx.doi.org/10.1007/s10589-020-00176-0}{doi:10.1007/s10589-020-00176-0}.
80+
81+
\bibitem{10.1145/3511528.3511535}
82+
Shashi Gowda, Yingbo Ma, Alessandro Cheli, Maja Gw\'{o}\'{z}zd\'{z}, Viral~B.
83+
Shah, Alan Edelman, and Christopher Rackauckas.
84+
High-performance symbolic-numerics via multiple dispatch.
85+
{\em ACM Commun. Comput. Algebra}, 55(3):92–96, jan 2022.
86+
\href{http://dx.doi.org/10.1145/3511528.3511535}{doi:10.1145/3511528.3511535}.
87+
88+
\bibitem{grossmann_lee_2003}
89+
Ignacio~E. Grossmann and Sangbum Lee.
90+
Generalized convex disjunctive programming: Nonlinear convex hull relaxation.
91+
{\em Computational Optimization and Applications}, 26(1):83–100, 2003.
92+
\href{http://dx.doi.org/10.1023/a:1025154322278}{doi:10.1023/a:1025154322278}.
93+
94+
\bibitem{grossmann_trespalacios_2013}
95+
Ignacio~E. Grossmann and Francisco Trespalacios.
96+
Systematic modeling of discrete-continuous optimization models through
97+
generalized disjunctive programming.
98+
{\em AIChE Journal}, 59(9):3276--3295, 2013.
99+
\href{http://dx.doi.org/10.1002/aic.14088}{doi:10.1002/aic.14088}.
100+
101+
\bibitem{hart2011pyomo}
102+
William~E Hart, Jean-Paul Watson, and David~L Woodruff.
103+
Pyomo: modeling and solving mathematical programs in python.
104+
{\em Mathematical Programming Computation}, 3(3):219--260, 2011.
105+
\href{http://dx.doi.org/10.1007/s12532-011-0026-8}{doi:10.1007/s12532-011-0026-8}.
106+
107+
\bibitem{huangfu2018parallelizing}
108+
Qi~Huangfu and JA~Julian Hall.
109+
Parallelizing the dual revised simplex method.
110+
{\em Mathematical Programming Computation}, 10(1):119--142, 2018.
111+
\href{http://dx.doi.org/10.1007/s12532-017-0130-5}{doi:10.1007/s12532-017-0130-5}.
112+
113+
\bibitem{jackson_sheridan_2005}
114+
Paul Jackson and Daniel Sheridan.
115+
Clause form conversions for boolean circuits.
116+
{\em Theory and Applications of Satisfiability Testing}, page 183–198, 2005.
117+
\href{http://dx.doi.org/10.1007/11527695\_15}{doi:10.1007/11527695\_15}.
118+
119+
\bibitem{kim2022generalized}
120+
Donghun Kim.
121+
Generalized disjunctive programming-based, mixed integer linear mpc formulation
122+
for optimal operation of a district energy system for pv self-consumption and
123+
grid decarbonization: Field implementation.
124+
{\em International High Performance Buildings Conference}, 2022.
125+
126+
\bibitem{kronqvist2022p}
127+
Jan Kronqvist, Ruth Misener, and Calvin Tsay.
128+
P-split formulations: A class of intermediate formulations between big-m and
129+
convex hull for disjunctive constraints.
130+
{\em arXiv preprint arXiv:2202.05198}, 2022.
131+
132+
\bibitem{LEE20002125}
133+
Sangbum Lee and Ignacio~E. Grossmann.
134+
New algorithms for nonlinear generalized disjunctive programming.
135+
{\em Computers \& Chemical Engineering}, 24(9):2125--2141, 2000.
136+
\href{http://dx.doi.org/10.1016/S0098-1354(00)00581-0}{doi:10.1016/S0098-1354(00)00581-0}.
137+
138+
\bibitem{MATOVU2022107856}
139+
Fahad Matovu, Shuhaimi Mahadzir, Rasel Ahmed, and Nor Erniza~Mohammad Rozali.
140+
Synthesis and optimization of multilevel refrigeration systems using
141+
generalized disjunctive programming.
142+
{\em Computers \& Chemical Engineering}, 163:107856, 2022.
143+
\href{http://dx.doi.org/10.1016/j.compchemeng.2022.107856}{doi:10.1016/j.compchemeng.2022.107856}.
144+
145+
\bibitem{NAVARROAMOROS201413}
146+
Miguel~A. Navarro-Amorós, Rubén Ruiz-Femenia, and José~A. Caballero.
147+
Integration of modular process simulators under the generalized disjunctive
148+
programming framework for the structural flowsheet optimization.
149+
{\em Computers \& Chemical Engineering}, 67:13--25, 2014.
150+
\href{http://dx.doi.org/10.1016/j.compchemeng.2014.03.014}{doi:10.1016/j.compchemeng.2014.03.014}.
151+
152+
\bibitem{nemhauser_1999}
153+
George~L. Nemhauser.
154+
{\em Integer and combinatorial optimization}.
155+
John Wiley and Sons, 1999.
156+
157+
\bibitem{TRESPALACIOS201598}
158+
Francisco Trespalacios and Ignacio~E. Grossmann.
159+
Improved big-m reformulation for generalized disjunctive programs.
160+
{\em Computers \& Chemical Engineering}, 76:98--103, 2015.
161+
\href{http://dx.doi.org/10.1016/j.compchemeng.2015.02.013}{doi:10.1016/j.compchemeng.2015.02.013}.
162+
163+
\bibitem{trespalacios_grossmann_2016}
164+
Francisco Trespalacios and Ignacio~E. Grossmann.
165+
Cutting plane algorithm for convex generalized disjunctive programs.
166+
{\em INFORMS Journal on Computing}, 28(2):209–222, 2016.
167+
\href{http://dx.doi.org/10.1287/ijoc.2015.0669}{doi:10.1287/ijoc.2015.0669}.
168+
169+
\bibitem{vecchietti1999logmip}
170+
Aldo Vecchietti and Ignacio~E Grossmann.
171+
Logmip: a disjunctive 0--1 non-linear optimizer for process system models.
172+
{\em Computers \& chemical engineering}, 23(4-5):555--565, 1999.
173+
\href{http://dx.doi.org/10.1016/s0098-1354(98)00293-2}{doi:10.1016/s0098-1354(98)00293-2}.
174+
175+
\bibitem{ZHOU202269}
176+
Wenjin Zhou, Kashif Iqbal, Xiaogang Sun, Dinghui Gan, Chun Deng, José~María
177+
Ponce-Ortega, and Chunmao Chen.
178+
Disjunctive programming model for the synthesis of property-based water supply
179+
network with multiple resources.
180+
{\em Chemical Engineering Research and Design}, 187:69--83, 2022.
181+
\href{http://dx.doi.org/10.1016/j.cherd.2022.08.027}{doi:10.1016/j.cherd.2022.08.027}.
182+
183+
\end{thebibliography}

paper/paper.blg

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
This is BibTeX, Version 0.99d (TeX Live 2018/W32TeX)
2+
Capacity: max_strings=100000, hash_size=100000, hash_prime=85009
3+
The top-level auxiliary file: paper.aux
4+
The style file: juliacon.bst
5+
Database file #1: ref.bib
6+
You've used 28 entries,
7+
2314 wiz_defined-function locations,
8+
722 strings with 10223 characters,
9+
and the built_in function-call counts, 10922 in all, are:
10+
= -- 1084
11+
> -- 512
12+
< -- 7
13+
+ -- 203
14+
- -- 172
15+
* -- 828
16+
:= -- 1790
17+
add.period$ -- 107
18+
call.type$ -- 28
19+
change.case$ -- 165
20+
chr.to.int$ -- 0
21+
cite$ -- 28
22+
duplicate$ -- 422
23+
empty$ -- 858
24+
format.name$ -- 172
25+
if$ -- 2324
26+
int.to.chr$ -- 0
27+
int.to.str$ -- 28
28+
missing$ -- 33
29+
newline$ -- 164
30+
num.names$ -- 58
31+
pop$ -- 184
32+
preamble$ -- 1
33+
purify$ -- 141
34+
quote$ -- 0
35+
skip$ -- 286
36+
stack$ -- 0
37+
substring$ -- 657
38+
swap$ -- 89
39+
text.length$ -- 7
40+
text.prefix$ -- 0
41+
top$ -- 0
42+
type$ -- 102
43+
warning$ -- 0
44+
while$ -- 89
45+
width$ -- 30
46+
write$ -- 353

0 commit comments

Comments
 (0)