aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test1.chn14
-rw-r--r--test/test1.html8
-rw-r--r--test/test2.chn19
-rw-r--r--test/test2.html16
-rw-r--r--test/test3.chn9
-rw-r--r--test/test4.chn65
6 files changed, 131 insertions, 0 deletions
diff --git a/test/test1.chn b/test/test1.chn
new file mode 100644
index 0000000..f55fb70
--- /dev/null
+++ b/test/test1.chn
@@ -0,0 +1,14 @@
+{@define}{@author}{Thomas Albers Raviola}%
+{@define}{@today}{May 12, 2024}%
+{@define}{@printdate}{{@lambda}{@date}{the date is @date}}%
+{@section}{Introduction}
+
+Hello, this is a sample of a program written in chains
+
+Chains was created by @author to help him write articles of questionable
+usefulness.
+
+{@printdate}{@today}
+{@section}[Conclusion]
+
+idk man, guess it works, don't it?
diff --git a/test/test1.html b/test/test1.html
new file mode 100644
index 0000000..5da418f
--- /dev/null
+++ b/test/test1.html
@@ -0,0 +1,8 @@
+<section><h1>Introduction</h1>
+Hello, this is a sample of a program written in chains
+Chains was created by Thomas Albers Raviola to help him write articles of questionable
+usefulness.
+the date is May 12, 2024
+</section><section><h1>Conclusion</h1>
+idk man, guess it works, don't it?
+</section> \ No newline at end of file
diff --git a/test/test2.chn b/test/test2.chn
new file mode 100644
index 0000000..a637b61
--- /dev/null
+++ b/test/test2.chn
@@ -0,0 +1,19 @@
+{@define}{@html-element}{{@lambda}{@name}{{@lambda}{@attr @content}{<@name @attr>
+@content
+</@name>}}}%
+%
+%
+{@define}{@html-html}{{@html-element}{html}}%
+{@define}{@html-head}{{@html-element}{head}}%
+{@define}{@html-body}{{@html-element}{body}}%
+{@define}{@html-title}{{@html-element}{title}}%
+{@define}{@html-h1}{{@html-element}{h1}}%
+{@define}{@html-p}{{@html-element}{p}}%
+%
+%
+{@html-html}{}{%
+{@html-head}{}{{@html-title}{}{Website}}%
+
+{@html-body}{}{
+{@html-h1}{}{Chains test}
+{@html-p}{}{Hello World!}}}
diff --git a/test/test2.html b/test/test2.html
new file mode 100644
index 0000000..98a250a
--- /dev/null
+++ b/test/test2.html
@@ -0,0 +1,16 @@
+<html >
+<head >
+<title >
+Website
+</title>
+</head>
+<body >
+
+<h1 >
+Chains test
+</h1>
+<p >
+Hello World!
+</p>
+</body>
+</html>
diff --git a/test/test3.chn b/test/test3.chn
new file mode 100644
index 0000000..2fbdeab
--- /dev/null
+++ b/test/test3.chn
@@ -0,0 +1,9 @@
+@define{@define-function}{@syntax{@name @args @body}{@define{@name}{@lambda{@args}{@body}}}}%
+@define-function{@foo}{@a @b}{hola @b}%
+@foo{mundo}{casa}
+@define{@section}{@lambda*{@title}{@gp{@quote{@section}}}{@title@siblings@title
+}}%
+@section{Hello World}
+hola
+@section{Good Bye World}
+chao
diff --git a/test/test4.chn b/test/test4.chn
new file mode 100644
index 0000000..e126091
--- /dev/null
+++ b/test/test4.chn
@@ -0,0 +1,65 @@
+{@define}{@title}{Method for solving first order and Bernoulli's differential equations}
+{@define}{@author}{Thomas Albers Raviola}
+{@define}{@date}{2022-10-01}
+%
+{@template}
+{@section}{History}
+I came across the method concerning this article in an old math book from Doctor
+Granville (Elements of differential and integral calculus - ISBN-13:
+978-968-18-1178-5). It doesn't appear to be a popular technique as when using it
+for my assignments I always had to explain what I was doing. As of yet, I still
+haven't found another text referencing it, which is why I decided to include it
+in my website.
+
+In the original book this procedure is shown but never really explained, it is
+left as a sort of "it just works" thing. Here is my attempt to it clear.
+
+{@section}{Theory}
+Throughout this article we'll consider first order differential equations with
+function coefficients just as a special case of the Bernoulli's differential
+equation with {@eq*}{n = 0}.
+
+Consider now the following ODE:
+{@equation}{
+y' + P(x)y = Q(x)y^n
+}
+
+let {@eq*}{y} be the product of two arbitrary functions {@eq*}{w} and {@eq*}{z}
+such that
+
+{@equation}{
+y &= wz \\
+y' &= w'z + wz'
+}
+
+we now restrict {@eq*}{z} to be the solution of the ODE
+
+{@equation}{
+z' + P(x)z = 0
+}
+
+with this it is possible to solve for {@eq*}{z} by integrating
+
+{@equation}{
+\frac{z'}{z} = - P(x)
+}
+
+using {@eq}{z} we solve for {@eq}{w} by replacing {@eq}{y} inside the original
+ODE
+
+{@align}{
+w'z + wz' + P(x)wz &= Q(x)w^nz^n \\
+w'z + w\left(z' + P(x)z\right) &= Q(x)w^nz^n \\
+w'z &= Q(x)w^nz^n \\
+\frac{w'}{w^n} &= Q(x)z^{n-1}
+}
+
+the general solution to our original ODE can be simply obtained by multiplying
+{@eq*}{w} and {@eq*}{z}.
+
+{@section}{Comments}
+This method, while functional, may not always be the most practical. In some
+cases the differential equations for $w$ and $z$ may not have closed algebraic
+solutions. A more traditional substitution may in some situations also be easier
+than this method. Like always it is up to one to know which tool to apply for a
+given problem.