<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;Ck4FRnk5eSp7ImA9WhRaE0Q.&quot;"><id>tag:blogger.com,1999:blog-5475209881507250636</id><updated>2012-02-16T12:15:17.721+01:00</updated><category term="topaz" /><category term="status" /><category term="virtual machine" /><category term="internal" /><category term="introduction" /><category term="about" /><category term="syntax" /><title>Topaz Development Log</title><subtitle type="html">Topaz is a scripting language I'm designing and writing. It will have C++ like syntax, supporting OOP. The first implementation will be / is being written in Lua</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://topazdevlog.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://topazdevlog.blogspot.com/" /><author><name>itsbth</name><uri>http://www.blogger.com/profile/01784063112603712934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/TopazDevLog" /><feedburner:info uri="topazdevlog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DEIEQHo4fip7ImA9WxVTFkk.&quot;"><id>tag:blogger.com,1999:blog-5475209881507250636.post-6684380282902992479</id><published>2008-12-30T15:13:00.001+01:00</published><updated>2008-12-30T15:15:01.436+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-30T15:15:01.436+01:00</app:edited><title>New member</title><content type="html">&lt;p&gt;Azrael has joined the team!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5475209881507250636-6684380282902992479?l=topazdevlog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=6pUBPvAjKMw:jqm6GfQBjrw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=6pUBPvAjKMw:jqm6GfQBjrw:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=6pUBPvAjKMw:jqm6GfQBjrw:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=6pUBPvAjKMw:jqm6GfQBjrw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=6pUBPvAjKMw:jqm6GfQBjrw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TopazDevLog/~4/6pUBPvAjKMw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://topazdevlog.blogspot.com/feeds/6684380282902992479/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5475209881507250636&amp;postID=6684380282902992479" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/6684380282902992479?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/6684380282902992479?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TopazDevLog/~3/6pUBPvAjKMw/new-member.html" title="New member" /><author><name>itsbth</name><uri>http://www.blogger.com/profile/01784063112603712934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://topazdevlog.blogspot.com/2008/12/new-member.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0AMRHw_fip7ImA9WxRaGEo.&quot;"><id>tag:blogger.com,1999:blog-5475209881507250636.post-3912913934092847570</id><published>2008-12-21T18:14:00.001+01:00</published><updated>2008-12-21T18:16:25.246+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-21T18:16:25.246+01:00</app:edited><title>Progress?</title><content type="html">&lt;p&gt;I've finally decided for a total rewrite.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5475209881507250636-3912913934092847570?l=topazdevlog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=IvR0Gxx1Qcc:ArK6RTJcVHU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=IvR0Gxx1Qcc:ArK6RTJcVHU:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=IvR0Gxx1Qcc:ArK6RTJcVHU:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=IvR0Gxx1Qcc:ArK6RTJcVHU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=IvR0Gxx1Qcc:ArK6RTJcVHU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TopazDevLog/~4/IvR0Gxx1Qcc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://topazdevlog.blogspot.com/feeds/3912913934092847570/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5475209881507250636&amp;postID=3912913934092847570" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/3912913934092847570?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/3912913934092847570?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TopazDevLog/~3/IvR0Gxx1Qcc/progress.html" title="Progress?" /><author><name>itsbth</name><uri>http://www.blogger.com/profile/01784063112603712934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://topazdevlog.blogspot.com/2008/12/progress.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAHRnYyfSp7ImA9WxRWFUU.&quot;"><id>tag:blogger.com,1999:blog-5475209881507250636.post-8561524268234815692</id><published>2008-11-02T01:53:00.002+01:00</published><updated>2008-11-02T02:18:57.895+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-02T02:18:57.895+01:00</app:edited><title>Current status</title><content type="html">&lt;p&gt;It's been ages since I last posted here... It's 02:00, and I'm too tired to write a long post, but I just wanted to tell what's going on, why I haven't worked on Topaz, and a bit about the future.&lt;/p&gt;
&lt;h4&gt;The now&lt;/h4&gt;
&lt;p&gt;Development has halted completely. Last commit was nearly two months ago. Why? I've lost all motivation to work on it. The current code was only meant as prototype to see how it could work. Over time I added more features, and now (read: when i stopped working on it) it's grown unmaintainable. I should start over, but I don't feel like scrapping all the work.&lt;/p&gt;
&lt;h4&gt;The future&lt;/h4&gt;
&lt;p&gt;So do I abandon Topaz?&lt;/p&gt;
&lt;p&gt;No, but if I can't get someone else to help me I don't think it will be finished in a while.&lt;/p&gt;

&lt;p&gt;This post feels unfinished, but it's now 02:20, and I'm too tired to continue. I might update this tomorrow.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5475209881507250636-8561524268234815692?l=topazdevlog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=_tc3CzdUe1M:7OTvnn48Rh4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=_tc3CzdUe1M:7OTvnn48Rh4:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=_tc3CzdUe1M:7OTvnn48Rh4:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=_tc3CzdUe1M:7OTvnn48Rh4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=_tc3CzdUe1M:7OTvnn48Rh4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TopazDevLog/~4/_tc3CzdUe1M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://topazdevlog.blogspot.com/feeds/8561524268234815692/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5475209881507250636&amp;postID=8561524268234815692" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/8561524268234815692?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/8561524268234815692?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TopazDevLog/~3/_tc3CzdUe1M/current-status.html" title="Current status" /><author><name>itsbth</name><uri>http://www.blogger.com/profile/01784063112603712934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://topazdevlog.blogspot.com/2008/11/current-status.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIFQno4fCp7ImA9WxRTE0U.&quot;"><id>tag:blogger.com,1999:blog-5475209881507250636.post-8191398595279528942</id><published>2008-09-02T20:36:00.003+02:00</published><updated>2008-09-02T21:08:33.434+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-02T21:08:33.434+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="status" /><title>Progress report #2 (or 3? 4?)</title><content type="html">&lt;p&gt;Not much have happened since the last post. I got no comments, and while some people have joined #topaz, no-one have actually said something. The reason for the standstill is that I'm not sure of the best way to "bundle" instances to functions (currently it's grabbing the function from the top of the stack and the instance from the second-to-top spot. This means that you run arbitrary functions).&lt;/p&gt;
&lt;p&gt;Here is an incomplete todo list:
&lt;ul&gt;
&lt;li&gt;Method calls&lt;/li&gt;
&lt;li&gt;Access specification (public, protected, private)&lt;/li&gt;
&lt;li&gt;Exceptions&lt;/li&gt;
&lt;li&gt;Instantiation&lt;/li&gt;
&lt;li&gt;Inheritance&lt;/li&gt;
&lt;li&gt;A way to store and transfer data&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5475209881507250636-8191398595279528942?l=topazdevlog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=hU3r8AxBbkI:TxbRnJEbd6E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=hU3r8AxBbkI:TxbRnJEbd6E:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=hU3r8AxBbkI:TxbRnJEbd6E:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=hU3r8AxBbkI:TxbRnJEbd6E:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=hU3r8AxBbkI:TxbRnJEbd6E:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TopazDevLog/~4/hU3r8AxBbkI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://topazdevlog.blogspot.com/feeds/8191398595279528942/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5475209881507250636&amp;postID=8191398595279528942" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/8191398595279528942?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/8191398595279528942?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TopazDevLog/~3/hU3r8AxBbkI/progress-report-2-or-3-4.html" title="Progress report #2 (or 3? 4?)" /><author><name>itsbth</name><uri>http://www.blogger.com/profile/01784063112603712934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://topazdevlog.blogspot.com/2008/09/progress-report-2-or-3-4.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ACQXY-eSp7ImA9WxdaFE4.&quot;"><id>tag:blogger.com,1999:blog-5475209881507250636.post-1809453541710755751</id><published>2008-08-22T20:53:00.002+02:00</published><updated>2008-08-22T21:02:40.851+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-22T21:02:40.851+02:00</app:edited><title>Progress report</title><content type="html">&lt;p&gt;School started this week, so I haven't had much time to work on Topaz. The current HEAD revision is broken (or is it just the examples that aren't updated?), so if you want a working version revert to revision 9.&lt;/p&gt;
&lt;p&gt;I would really like some feedback on how you want Topaz to be, so please leave a comment or join &lt;a href="irc://irc.gamesurge.net/#topaz" title="IRC Channel"&gt;#topaz&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5475209881507250636-1809453541710755751?l=topazdevlog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=IViipsLLJZI:G7E0Ivqusdk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=IViipsLLJZI:G7E0Ivqusdk:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=IViipsLLJZI:G7E0Ivqusdk:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=IViipsLLJZI:G7E0Ivqusdk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=IViipsLLJZI:G7E0Ivqusdk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TopazDevLog/~4/IViipsLLJZI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://topazdevlog.blogspot.com/feeds/1809453541710755751/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5475209881507250636&amp;postID=1809453541710755751" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/1809453541710755751?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/1809453541710755751?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TopazDevLog/~3/IViipsLLJZI/progress-report.html" title="Progress report" /><author><name>itsbth</name><uri>http://www.blogger.com/profile/01784063112603712934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://topazdevlog.blogspot.com/2008/08/progress-report.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8HRXk9eyp7ImA9WxdbFUQ.&quot;"><id>tag:blogger.com,1999:blog-5475209881507250636.post-6591268755773982920</id><published>2008-08-13T03:04:00.002+02:00</published><updated>2008-08-13T03:27:14.763+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-13T03:27:14.763+02:00</app:edited><title>It's working, it's working!</title><content type="html">&lt;p&gt;I brought the &lt;acronym title="Virtual Machine"&gt;VM&lt;/acronym&gt; back to a working state tonight, and it does now support jumps, both conditional and non-conditional, with the opcodes JMP, JMPIF (pop the top of the stack, if it's true, jump), and JMPEL (else, jump if the top value is false). In addition, I've fixed static calls, and with some changes to the assembler, the example code works.&lt;/p&gt;
&lt;p&gt;I've also started to take a look at &lt;a href="http://www.mozilla.org/projects/tamarin/" title="Tamarin Project"&gt;Tamarin&lt;/a&gt; (&lt;a href="http://en.wikipedia.org/wiki/Tamarin_(JavaScript_engine)" title="Tamarin on Wikipedia"&gt;WP&lt;/a&gt;), which is the &lt;acronym title="Virtual Machine"&gt;VM&lt;/acronym&gt; that powers &lt;acronym title="ActionScript"&gt;AS&lt;/acronym&gt; 3, and will eventually be used in Mozilla. ActionScript is very similar to what I plan Topaz to be, so I can look at it to get ideas on how to do stuff. The source file layout is very confusing tought, so the only useful thing I've found yet is the list of the OpCodes.&lt;/p&gt;
&lt;p&gt;PS: Join me at &lt;a href="irc://irc.gamesurge.net/#topaz" title="IRC"&gt;irc://irc.gamesurge.net/#topaz&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5475209881507250636-6591268755773982920?l=topazdevlog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=IbzuGa5NiqI:fuO8KuQOYCw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=IbzuGa5NiqI:fuO8KuQOYCw:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=IbzuGa5NiqI:fuO8KuQOYCw:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=IbzuGa5NiqI:fuO8KuQOYCw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=IbzuGa5NiqI:fuO8KuQOYCw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TopazDevLog/~4/IbzuGa5NiqI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://topazdevlog.blogspot.com/feeds/6591268755773982920/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5475209881507250636&amp;postID=6591268755773982920" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/6591268755773982920?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/6591268755773982920?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TopazDevLog/~3/IbzuGa5NiqI/its-working-its-working.html" title="It's working, it's working!" /><author><name>itsbth</name><uri>http://www.blogger.com/profile/01784063112603712934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://topazdevlog.blogspot.com/2008/08/its-working-its-working.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04GR3c5fyp7ImA9WxdbEE8.&quot;"><id>tag:blogger.com,1999:blog-5475209881507250636.post-8380954874766123654</id><published>2008-08-06T13:13:00.002+02:00</published><updated>2008-08-06T13:25:26.927+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-06T13:25:26.927+02:00</app:edited><title>Assembla Space (SVN)</title><content type="html">I have now created an &lt;a href="http://www.assembla.com/spaces/TopazScripting"&gt;Assembla space&lt;/a&gt;, which provides SVN hosting. Keep in mind that the code is far from finished.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5475209881507250636-8380954874766123654?l=topazdevlog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=XBGY3py98hk:ghvKj9c6qkI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=XBGY3py98hk:ghvKj9c6qkI:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=XBGY3py98hk:ghvKj9c6qkI:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=XBGY3py98hk:ghvKj9c6qkI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=XBGY3py98hk:ghvKj9c6qkI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TopazDevLog/~4/XBGY3py98hk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://topazdevlog.blogspot.com/feeds/8380954874766123654/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5475209881507250636&amp;postID=8380954874766123654" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/8380954874766123654?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/8380954874766123654?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TopazDevLog/~3/XBGY3py98hk/assembla-space-svn.html" title="Assembla Space (SVN)" /><author><name>itsbth</name><uri>http://www.blogger.com/profile/01784063112603712934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://topazdevlog.blogspot.com/2008/08/assembla-space-svn.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcMSHk5fip7ImA9WxdVF0Q.&quot;"><id>tag:blogger.com,1999:blog-5475209881507250636.post-492119972405862382</id><published>2008-07-23T07:43:00.002+02:00</published><updated>2008-07-23T07:48:09.726+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-23T07:48:09.726+02:00</app:edited><title>Assembler</title><content type="html">To get a diversion from the "core" Topaz code, I started working on an assembler. It is progressing really fast, and can convert
&lt;code style="white-space: pre"&gt;
:class MyClass
:func MyFunc
PUSH 1
PUSH 2
THISCALL __add
PEEK tmp
PUSH "The result is %d"
THISCALL format
PUSHG io
STACALL writeln
PUSH 3
THISCALL __eq
:branch
.When true
PUSH "Result == 3"
PUSHG io
STACALL writeln
.End
.When false
PUSH "Result != 3"
PUSHG io
STACALL writeln
.End
.End
&lt;/code&gt;
into
&lt;code style="white-space: pre"&gt;
MyClass = { -- :class MyClass
 MyFunc = { -- :func MyFunc
  {0x11, 1}, -- PUSH 1
  {0x11, 2}, -- PUSH 2
  {0x41, "__add"}, -- THISCALL __add
  {0x31, "tmp"}, -- PEEK tmp
  {0x11, "\"The result is %d\""}, -- PUSH "The result is %d"
  {0x41, "format"}, -- THISCALL format
  {0xFFFFFFFF, "io"}, -- PUSHG io
  {0x42, "writeln"}, -- STACALL writeln
  {0x11, 3}, -- PUSH 3
  {0x41, "__eq"}, -- THISCALL __eq
  {0x61, nil} -- :branch
  { -- :branch
   [true] = { -- .When true
    {0x11, "\"Result == 3\""}, -- PUSH "Result == 3"
    {0xFFFFFFFF, "io"}, -- PUSHG io
    {0x42, "writeln"}, -- STACALL writeln
   },
   [false] = { -- .When false
    {0x11, "\"Result != 3\""}, -- PUSH "Result != 3"
    {0xFFFFFFFF, "io"}, -- PUSHG io
    {0x42, "writeln"}, -- STACALL writeln
   },
  },
 }
}
&lt;/code&gt;
Of course, this is completely useless as long as the VM doesn't work, but it's nice to relax(?) with some simpler code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5475209881507250636-492119972405862382?l=topazdevlog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=ftCPDTWKcL0:KRV8druXOO4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=ftCPDTWKcL0:KRV8druXOO4:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=ftCPDTWKcL0:KRV8druXOO4:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=ftCPDTWKcL0:KRV8druXOO4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=ftCPDTWKcL0:KRV8druXOO4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TopazDevLog/~4/ftCPDTWKcL0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://topazdevlog.blogspot.com/feeds/492119972405862382/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5475209881507250636&amp;postID=492119972405862382" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/492119972405862382?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/492119972405862382?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TopazDevLog/~3/ftCPDTWKcL0/assembler.html" title="Assembler" /><author><name>itsbth</name><uri>http://www.blogger.com/profile/01784063112603712934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>2</thr:total><feedburner:origLink>http://topazdevlog.blogspot.com/2008/07/assembler.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMHQ388fSp7ImA9WxdVF0k.&quot;"><id>tag:blogger.com,1999:blog-5475209881507250636.post-33869618179568747</id><published>2008-07-22T19:03:00.004+02:00</published><updated>2008-07-22T19:23:52.175+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-22T19:23:52.175+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="topaz" /><category scheme="http://www.blogger.com/atom/ns#" term="internal" /><category scheme="http://www.blogger.com/atom/ns#" term="status" /><category scheme="http://www.blogger.com/atom/ns#" term="virtual machine" /><title>Out with opcodes, in with functions</title><content type="html">OK, time for my second post. I was on a vacation last week, without my computer, therefore I haven't been able to get any further. However, I was able to think(!), and I decided to do a change in the inner workings of Topaz. At first, I had many opcodes, e.g. 0x21, ADD. Now I've decided to instead use functions, and only create the opcodes necessary to invoke a function (which still is a lot).
For example, this
&lt;code style="white-space: pre"&gt;
0x11, {topaz.vm.T_LOCALREF, 'VAL'}, {topaz.vm.T_FLOAT, 1}, -- MOV eax, 1
0x21, {topaz.vm.T_LOCALREF, 'VAL'}, {topaz.vm.T_FLOAT, 2}, -- ADD eax, 2
0x23, {topaz.vm.T_LOCALREF, 'VAL'}, {topaz.vm.T_FLOAT, 3}, -- MUL eax, 3
0xF1, {topaz.vm.T_LOCALREF, 'VAL'}, {0, 0}, -- PRINT eax
&lt;/code&gt;
becomes
&lt;code style="white-space: pre"&gt;
0x11, {'INT', 1}, nil, -- PUSH (INT)1
0x11, {'INT', 2}, nil, -- PUSH (INT)2
0x22, '__add', nil,    -- THISCALL __add
0x22, '__mul', nil     -- THISCALL __mul
0x11, 'print', nil     -- PRINT
&lt;/code&gt;
But the details are far from finished, and I would like some feedback.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5475209881507250636-33869618179568747?l=topazdevlog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=RhLCa9UKKiw:XL7xOkQBTKQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=RhLCa9UKKiw:XL7xOkQBTKQ:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=RhLCa9UKKiw:XL7xOkQBTKQ:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=RhLCa9UKKiw:XL7xOkQBTKQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=RhLCa9UKKiw:XL7xOkQBTKQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TopazDevLog/~4/RhLCa9UKKiw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://topazdevlog.blogspot.com/feeds/33869618179568747/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5475209881507250636&amp;postID=33869618179568747" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/33869618179568747?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/33869618179568747?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TopazDevLog/~3/RhLCa9UKKiw/new.html" title="Out with opcodes, in with functions" /><author><name>itsbth</name><uri>http://www.blogger.com/profile/01784063112603712934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://topazdevlog.blogspot.com/2008/07/new.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8FQ3Y4fip7ImA9WxdVEUs.&quot;"><id>tag:blogger.com,1999:blog-5475209881507250636.post-291748120595719378</id><published>2008-07-16T01:01:00.003+02:00</published><updated>2008-07-16T01:33:32.836+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-16T01:33:32.836+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="about" /><category scheme="http://www.blogger.com/atom/ns#" term="topaz" /><category scheme="http://www.blogger.com/atom/ns#" term="introduction" /><category scheme="http://www.blogger.com/atom/ns#" term="syntax" /><title>Introduction</title><content type="html">&lt;p&gt;Hello, and welcome to my blog where I will talk about Topaz. I'm creating this blog for two reasons: First, so you can get more detailed information about the project.Currently the only things that exists is a broken early VM (virtual machine, the thing that actually executes the program), supporting only a small subset of the features I want Topaz to have.&lt;/p&gt;
&lt;h4&gt;So, what exactly is Topaz?&lt;/h4&gt;
&lt;p&gt;Topaz is (going to be) a high-level scripting language, supporting classes, inheritance, polymorphism, delegates, etc...&lt;/p&gt;
&lt;h4&gt;What does Topaz look like?&lt;/h4&gt;
&lt;p&gt;The exact syntax of Topaz is not finished yet, but I'm imagining something like this:&lt;/p&gt;
&lt;code style="white-space: pre"&gt;
// A simple class that holds a value,
// using only one instance per value
class ExampleClass{
    private exampleMember;
    private function exampleClass(arg){
        exampleMember = arg;
    }
    
    private static _instances;
    public static function getInstance(arg){
        if(!_instances) _instances = new Hash(Any, ExampleClass);
        return (
            _instances.hasKey(arg) ?
            _instances[arg] :
            _instances[arg] = new ExampleClass(arg)
        );
    }
}
&lt;/code&gt;
&lt;p&gt;But the syntax / supported features are still not decided. The second reason for creating this blog is to get feedback. I want to know how YOU want it to be!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5475209881507250636-291748120595719378?l=topazdevlog.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=XkYgA1Ddd44:pcOOFwvdvmg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=XkYgA1Ddd44:pcOOFwvdvmg:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=XkYgA1Ddd44:pcOOFwvdvmg:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/TopazDevLog?a=XkYgA1Ddd44:pcOOFwvdvmg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/TopazDevLog?i=XkYgA1Ddd44:pcOOFwvdvmg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TopazDevLog/~4/XkYgA1Ddd44" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://topazdevlog.blogspot.com/feeds/291748120595719378/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=5475209881507250636&amp;postID=291748120595719378" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/291748120595719378?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5475209881507250636/posts/default/291748120595719378?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TopazDevLog/~3/XkYgA1Ddd44/introduction.html" title="Introduction" /><author><name>itsbth</name><uri>http://www.blogger.com/profile/01784063112603712934</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="16" height="16" src="http://img2.blogblog.com/img/b16-rounded.gif" /></author><thr:total>0</thr:total><feedburner:origLink>http://topazdevlog.blogspot.com/2008/07/introduction.html</feedburner:origLink></entry></feed>

