

Prototyping a Computer Algebra System in Go
source link: https://sj14.gitlab.io/post/2016/02-01-computer-algebra/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.


Description
It was time for my bachelor thesis and I was thinking about the topic. At this time I was totally hyped by Go (and I’m still), so I wanted to find something related. As I am always curious how things work, I wanted to research a calculator with simple algebraic operations and a web interface based on Bootstrap. Of course, this was highly inspired by all students favourite Wolfram Alpha ;-)
The good
I figured out, how these calculators work and my curiosity is kind of satisfied ;-)
In the end, the magic keyword is “Abstract Syntax Tree”, which is also related to compiler construction (which I did not have in university)
The bad
Retrospectively, I had taken too little time on the whole, especially for the research in the beginning. It was too much of agile development, which is not a good approach for a thesis ;-) I definitely wanted to use Go for the project, but functional programming languages such as Haskell might be a better fit for the job.
Technologies used
Go, Bootstrap
(This post was written in February 2018. I finished my bachelor in February 2016 and the date of this post was set accordingly, to have a correct chronological order of all projects.)
Recommend
-
83
安全验证 - 知乎系统监测到您的网络环境存在异常,为保证您的正常访问,请点击下方验证按钮进行验证。在您验证完成前,该提示将多次出现
-
47
Note: This article assumes some introductory Haskell knowledge. Introduction Just as algebra is fundamental to the whole of mathematics, algebraic data types (ADTs) are fundamental to many common func...
-
33
I’d like to introduce a series of blog posts and their corresponding Python Notebooks gathering notes on the Deep Learning Book from Ian Goodfellow, Yoshua Bengio, and Aaron...
-
39
README.md
-
43
README.rst SymPy
-
45
Linear Algebra Essentials with Numpy (part 1)
-
21
README.md 18.06 线性代数(Linear Algebra)中文笔记 该笔记总结了我们在学习MIT线性代数课程的学习经验和过程。 课程顺序是按照麻省理工公开...
-
19
Diagrams Diagram as Code. Diagrams lets you draw the cloud system architecture in Python code . It was born for prototyping a new system architecture design withou...
-
4
Maxima A Computer Algebra System Maxima is a system for the manipulation of symbolic and numeri...
-
5
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK