Informative reply! :-)
Thanks for the informative reply. I will do my best to answer your questions. Again, comments/critiques are welcome.
What's the point in creating a completely new language?
I could, as you suggested, build an extension to Haskell, but -- I very well may be wrong -- I believe Haskell only allows you to define functions. For the genetic research angle I am going for, data about the existing environment must be known before any computations can take place, which is why I included the Prolog.
In addition to the above, a further goal of mine is to use the language as a server and allow researchers to query the server so they can test and verify different theories before taking them to the lab. Because non-computer science researchers will be allowed to formulate their own queries and make additions to the environment, an easily understandable format needs to be used*; another plus for the Prolog-style syntax.
Finally, in order for my work to count as an independent study in Computer Science, I have to abstract the language so that it can be used for a variety of tasks. And, well, I want to learn how to design a language. ^_^
As always, comments, critiques, and suggestions are very welcome.
-Steven
------------
*An example modification that a researcher could input
transcriptFactor('tf-alpha'). // tf-alpha is added to the environment
activates('tf-alpha', 'geneXYZ'). // tf-alpha activates geneXYZ
deactivates('tf-alpha', 'gene1'). // tf-alpha turns off gene1
then the researcher could re-run previous queries, add more stuff, re-run queries, ad infinitum until they get the desired result
------------
|