<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-17687150</id><updated>2012-02-16T09:45:59.006-06:00</updated><title type='text'>DP6</title><subtitle type='html'>Computer language that takes many ideas from Perl6 and some from D. I am planning on having it compiled in a similar way to D but have it be a higher level language.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-17687150.post-4041028493465375187</id><published>2008-01-03T12:40:00.000-06:00</published><updated>2008-01-03T12:43:03.882-06:00</updated><title type='text'>Perl Compiler Toolkit</title><content type='html'>I have been following the development of Perl6, and I think I may be able to use parts of the Perl Compiler Toolkit to implement my ideas for DP6.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17687150-4041028493465375187?l=dp6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/4041028493465375187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17687150&amp;postID=4041028493465375187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/4041028493465375187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/4041028493465375187'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/2008/01/perl-compiler-toolkit.html' title='Perl Compiler Toolkit'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17687150.post-8016995572044479962</id><published>2007-05-28T17:16:00.001-05:00</published><updated>2007-05-28T17:16:24.475-05:00</updated><title type='text'>One Input Many Outputs</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I want the design of the language to be designed in a way that would allow you to include one file to output in one format, and another to output in another format.&lt;br&gt;&lt;/br&gt;&lt;br&gt;&lt;/br&gt;I also want it to work in such a way that an Enum can be made to generate a Value -&amp;amp;gt; NameStr subroutine, or NameStr -&amp;amp;gt; Value subroutine easily.&lt;br&gt;&lt;/br&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17687150-8016995572044479962?l=dp6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/8016995572044479962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17687150&amp;postID=8016995572044479962' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/8016995572044479962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/8016995572044479962'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/2007/05/one-input-many-outputs.html' title='One Input Many Outputs'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17687150.post-6732878656695949292</id><published>2007-04-13T09:02:00.001-05:00</published><updated>2007-04-13T09:02:42.465-05:00</updated><title type='text'>I think I will wait to try to create an implementation</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Perhaps it is too early in the design process to try to come up with an actual implementation. I still haven't decide on all of what will be included.&lt;br&gt;&lt;/br&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17687150-6732878656695949292?l=dp6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/6732878656695949292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17687150&amp;postID=6732878656695949292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/6732878656695949292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/6732878656695949292'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/2007/04/i-think-i-will-wait-to-try-to-create.html' title='I think I will wait to try to create an implementation'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17687150.post-115929997487172506</id><published>2006-09-26T14:38:00.000-05:00</published><updated>2006-09-26T14:46:14.973-05:00</updated><title type='text'>I am currently trying to create a layer over Nasm</title><content type='html'>I have decided that my first attempt, at creating a workable programming language, will be to create something similar to a translator. This hopefully will allow me more freedom to create, and redesign the language, in a rather short period of time. As a side note I would request any suggestions, for creating a compiler, or designing a language.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17687150-115929997487172506?l=dp6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/115929997487172506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17687150&amp;postID=115929997487172506' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/115929997487172506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/115929997487172506'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/2006/09/i-am-currently-trying-to-create-layer.html' title='I am currently trying to create a layer over Nasm'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17687150.post-114081826570822262</id><published>2006-02-24T15:35:00.000-06:00</published><updated>2006-02-24T15:57:45.726-06:00</updated><title type='text'>New Idea</title><content type='html'>&lt;p&gt;What the plan is now for DP6 is for it to be aimed for the assembly type of solutions, but with enhancements from other languages. One idea I have is for the ability of modifying most of the supported sub-languages while the current program is compiling. This of course is an idea copied from Perl. I also want to create macros that will work in almost all sub-languages. Planned sub-languages may include Python, Perl, and a dirivitave of D.&lt;p&gt;&lt;br /&gt;&lt;br /&gt;I also want to be able to have most of the languages to support a common scanner, perhaps it could be an event based scanner. If the sub-languages support the same scanner, it will be easier to build.&lt;p&gt;&lt;br /&gt;&lt;br /&gt;Basically DP6 will become more of a glue language of different languages, in a hopefully transparent way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17687150-114081826570822262?l=dp6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/114081826570822262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17687150&amp;postID=114081826570822262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/114081826570822262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/114081826570822262'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/2006/02/new-idea.html' title='New Idea'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17687150.post-114081687051677656</id><published>2006-02-24T15:25:00.000-06:00</published><updated>2006-02-24T16:07:49.410-06:00</updated><title type='text'>DP6 listed on Langa List's reader sites</title><content type='html'>&lt;a href="http://langa.com/readersites.htm"&gt;Full List&lt;/a&gt;&lt;br&gt;&lt;br /&gt;&lt;a href="http://langa.com/randomlink.htm"&gt;Random Reader Site&lt;/a&gt;&lt;br&gt;&lt;&lt;br /&gt;&lt;br /&gt;For all of you who don't know &lt;a href="http://www.langa.com/"&gt;The Langa List&lt;/a&gt; is an e-newsletter sent out by Fred Langa.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17687150-114081687051677656?l=dp6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/114081687051677656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17687150&amp;postID=114081687051677656' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/114081687051677656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/114081687051677656'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/2006/02/dp6-listed-on-langa-lists-reader-sites.html' title='DP6 listed on Langa List&apos;s reader sites'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17687150.post-113753412198215054</id><published>2006-01-17T15:11:00.000-06:00</published><updated>2006-01-17T15:42:02.013-06:00</updated><title type='text'>Reason for DP6</title><content type='html'>I have been interested in programming, and computers since I was about 12. At first it was batch programming. Then I found a better language contained inside MS Word for Windows, called "Visual Basic For Applications"(VBA). Sure it was fairly simple, but it was a better language than batch programming. Soon after I learned that I found out about a programming language called Perl. I realized quickly that it could easily do almost everything that VBA could do, and there was something that VBA could not easily do that Perl could easily do, Regular Expression.&lt;br /&gt;&lt;br /&gt;Now I realize that some people don't like the way that Perl5 looks, but I think most of that will all but disappear when Perl6 gets fully implemented.&lt;br /&gt;&lt;br /&gt;I also liked digging into the heart of systems, be it hardware or software, so I wanted to learn more about how real machine-coded programs were developed. Well since C/C++ is the language that is used most for this, I started to learn about how to program in that language. It didn't take me long to realize just how complicated a language it had become since it was created, near the end of the 60's (I think). I wasn't even born until 1982.&lt;br /&gt;&lt;br /&gt;I don't remember how I found out about "D", but it certainly seems to be a step in the right direction when compared to C/C++. Since I had learned Perl before I learned "D", I kept trying to do programming idioms that I have become familiar to doing in Perl.&lt;br /&gt;&lt;br /&gt;When I read about Perl6, and how it was going to be designed. I decided that I wanted to try creating a programming language that was low level like C, but had some of the useful features from Perl and "D".&lt;br /&gt;&lt;br /&gt;I hope that this turns out to be useful enough, that it could be used for Operating System programming, as well as be a fairly easy programming language to learn.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17687150-113753412198215054?l=dp6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/113753412198215054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17687150&amp;postID=113753412198215054' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113753412198215054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113753412198215054'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/2006/01/reason-for-dp6.html' title='Reason for DP6'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17687150.post-113753122498002018</id><published>2006-01-17T14:44:00.000-06:00</published><updated>2006-01-17T14:53:44.993-06:00</updated><title type='text'>data revisited</title><content type='html'>Ok I admit it I don't know an easy way to specify a data format easily. So for now at least forget all about "data".&lt;br /&gt;&lt;br /&gt;Plus it's possible it could be done through a macro (Perl6 macro).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17687150-113753122498002018?l=dp6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/113753122498002018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17687150&amp;postID=113753122498002018' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113753122498002018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113753122498002018'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/2006/01/data-revisited.html' title='data revisited'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17687150.post-113615028077711908</id><published>2006-01-01T15:14:00.000-06:00</published><updated>2006-01-01T16:26:04.483-06:00</updated><title type='text'>"data" Structures</title><content type='html'>&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;Please note the following is just a starting point of the design process.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;alias D_Static_Array(char,3)   to char[3];&lt;br /&gt;alias D_Static_Array(char,3,4) to char[3][4];&lt;br /&gt;&lt;br /&gt;# this will catch all char[3] char[3][4]&lt;br /&gt;# brings out the aliases from inside of the data template&lt;br /&gt;import D_Static_Array( 'char', / char [ \[ $d := (\d+) \] ]+ / );&lt;br /&gt;&lt;br /&gt;# this will catch all static array types&lt;br /&gt;import D_Static_Array( / &lt;ident&gt; [ \[ (\d+) \] ]+ / );&lt;br /&gt;&lt;br /&gt;#     please note that increasing the value of .length at runtime&lt;br /&gt;# won't allocate more memory it will just make the program think it&lt;br /&gt;# has more data to work with. So it wouldn't be a good idea to do&lt;br /&gt;# that in most cases.&lt;br /&gt;data D_Static_Array(type $ident,uint $size = 0){&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt; #    uint{0} refers to a uint starting at byte offset 0&lt;br /&gt; &lt;br /&gt; #    readonly means that only this and anything&lt;br /&gt; # that subclasses this can change it (could also be spelled "r").&lt;br /&gt; readonly uint{0} .length = $size;&lt;br /&gt; &lt;br /&gt; # you could also spell ".length" as "-&gt;length" if you prefer Perl5&lt;br /&gt; # that would mean you would have to rename all instances of ".length".&lt;br /&gt; # the reason you can do this is because all you need is a word boundary&lt;br /&gt; # to be created between the "data" and ".length"&lt;br /&gt; &lt;br /&gt; #    ".data" will grow and shrink depending on what&lt;br /&gt; # the value of ".length" is at the time you ask for it&lt;br /&gt; # because of the bind ":=" in the definition.&lt;br /&gt; &lt;br /&gt; # This also won't allow you to change the length of ".data"&lt;br /&gt; # outside of this class because ".data.length" is bound to ".length".&lt;br /&gt; rw $ident[ _ := .length ]{.length.sizeof} .data;&lt;br /&gt; &lt;br /&gt; #    this is for retrieving the value at $index&lt;br /&gt; INDEX(uint $index){&lt;br /&gt;        &lt;blockquote&gt;&lt;br /&gt;  uint $pos = $index * $ident.sizeof + length.sizeof;&lt;br /&gt;  return $ident[$pos];&lt;br /&gt;        &lt;/blockquote&gt;&lt;br /&gt; }&lt;br /&gt; #    this is for determining out of bounds errors&lt;br /&gt; SIZE{&lt;br /&gt;        &lt;blockquote&gt;&lt;br /&gt;  # the size grows and shrink depending on&lt;br /&gt;  return (.length + .length.sizeof) * $ident.sizeof;&lt;br /&gt;  # or&lt;br /&gt;  return (uint{0} + uint.sizeof) * $ident.sizeof;&lt;br /&gt;        &lt;/blockquote&gt;&lt;br /&gt; }&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;data D_Static_Array($ident,@sizes){&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt; # note this "data" will keep another variable around&lt;br /&gt; # to know how long the array ".length" is.&lt;br /&gt; &lt;br /&gt; readonly uint[@sizes.length]{0} .length = @sizes;&lt;br /&gt; &lt;br /&gt; # note the bind goes recursively through mult because&lt;br /&gt; # it is a keyword.&lt;br /&gt; uint .data_size := mult( @{.length} );&lt;br /&gt; &lt;br /&gt; # ".data_size" needs to be bound because the variable it depends&lt;br /&gt; # on can be changed, and there should be a way to propogate it on&lt;br /&gt; # to ".data", it is not enforced, but highly recommended.&lt;br /&gt; &lt;br /&gt; readwrite $ident[ _ := .data_size ]{ _ := .length.sizeof } .data;&lt;br /&gt; INDEX(  ){&lt;br /&gt;  &lt;br /&gt; }&lt;br /&gt; SIZE{&lt;br /&gt;        &lt;blockquote&gt;&lt;br /&gt;  return .length.sizeof + .data_size;&lt;br /&gt;        &lt;/blockquote&gt;&lt;br /&gt; }&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;this is what it would do&lt;br /&gt;&lt;br /&gt;# array of four arrays of 3 char each.&lt;br /&gt;D_Static_Array(char,3,4)&lt;br /&gt;{&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt; .length = [4,3];&lt;br /&gt; .data = [char,char,char, char,char,char, char,char,char, char,char,char];&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17687150-113615028077711908?l=dp6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/113615028077711908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17687150&amp;postID=113615028077711908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113615028077711908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113615028077711908'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/2006/01/data-structures.html' title='&quot;data&quot; Structures'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17687150.post-113345223847777605</id><published>2005-12-01T09:31:00.000-06:00</published><updated>2005-12-01T09:50:38.486-06:00</updated><title type='text'>Potential Issues with compilation</title><content type='html'>I have been thinking about how the language will handle object files. Since the language will allow significant parts of the language to be figured out at the point at which it is used. I think that the source files may be required to be included with library files.&lt;br /&gt;&lt;br /&gt;It also may be possible that whole projects get compiled all at once. I know that it won't take extreme excess of time to compile whole projects, as it doesn't take D very long to compile whole projects at once.&lt;br /&gt;&lt;br /&gt;One thing I would like to be able to do is have programs that will work, on say Linux and Win32, without recompiling. Or barring that, at least be able to have it use advanced features of the current processor, but still be able to run correctly on less sophisticated processors.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17687150-113345223847777605?l=dp6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/113345223847777605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17687150&amp;postID=113345223847777605' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113345223847777605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113345223847777605'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/2005/12/potential-issues-with-compilation.html' title='Potential Issues with compilation'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17687150.post-113092024201842127</id><published>2005-11-02T02:16:00.000-06:00</published><updated>2005-11-02T03:08:39.230-06:00</updated><title type='text'>Subroutines / Functions</title><content type='html'>NOTE: I am not sure how functions/subroutines will be defined, as the following will show. So the actual design may, or may not, resemble anything in this post.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Functions/subroutines will probably be very different than what most people would be used to.&lt;br /&gt;&lt;br /&gt;For example, I want to be able to define two functions that return two different types of data, but have the same parameters.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;int main(){ return 0; }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;char main(){ return "0"; }&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;I always like being able to have two different things returned depending on the context, when working in Perl5.&lt;br /&gt;&lt;br /&gt;There will be times where it would be impossible to do this, but mainly it would only be when calling functions from libraries, or when implementing outside.&lt;br /&gt;&lt;br /&gt;I also want to be able to have subroutines that don't have any particular return type, but that would automatically be converted the way you think it would.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sub main(){ return 0; }&lt;br /&gt;&lt;br /&gt;char c = main();&lt;br /&gt;int i = main();&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The arguments for these functions will also come in several different flavors. There of course be functions that take only certain types of values, and also some that take in a varying number of arguments that are all of the same type, and still others that will take varying types.&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;sub main( int i ){...}&lt;br /&gt;&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic;"&gt;sub main( @int args ){...}&lt;br /&gt;&lt;/span&gt; &lt;span style="font-weight: bold; font-style: italic;"&gt;sub main( @ args ){...}&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17687150-113092024201842127?l=dp6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/113092024201842127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17687150&amp;postID=113092024201842127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113092024201842127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113092024201842127'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/2005/11/subroutines-functions.html' title='Subroutines / Functions'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17687150.post-113091743255212058</id><published>2005-11-02T01:36:00.000-06:00</published><updated>2005-11-02T01:55:40.443-06:00</updated><title type='text'>String Management</title><content type='html'>I plan on having the ability to work with strings without necessarily knowing how they are encoded, and I want to be able to easily convert between different encodings.&lt;br /&gt;&lt;br /&gt;The way this could be handled may be similar in design to the way Parrot handles strings. It probably should have a way to implement this functionality in a pluggable way.&lt;br /&gt;&lt;br /&gt;It might need to be integrated with IO handling, which I also plan on having higher level constructs.&lt;br /&gt;&lt;br /&gt;I hope that it would be simple to read in different encodings and slmost never having to dealing with the minor details.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17687150-113091743255212058?l=dp6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/113091743255212058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17687150&amp;postID=113091743255212058' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113091743255212058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113091743255212058'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/2005/11/string-management.html' title='String Management'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17687150.post-113038872583484059</id><published>2005-10-26T23:19:00.000-05:00</published><updated>2005-11-02T03:37:22.573-06:00</updated><title type='text'>Module naming scheme</title><content type='html'>I have been trying to create an interpreter for DP6 in D, and one of the annoying things I have found, is that you can't have a module with the name &lt;span style="font-style: italic;"&gt;io&lt;/span&gt;, and one with the name &lt;span style="font-style: italic;"&gt;io.file&lt;/span&gt;.  There is a good reason for it, since if you have a class with the name &lt;span style="font-style: italic;"&gt;file&lt;/span&gt;, in the module&lt;span style="font-style: italic;"&gt; io&lt;/span&gt; that would cause name collisions.&lt;br /&gt;&lt;br /&gt;So what I'm planning fo DP6 is that the module heirarchy will use double colons like Perl. Then &lt;span style="font-style: italic;"&gt;io&lt;/span&gt; and&lt;span style="font-style: italic;"&gt; io::file&lt;/span&gt; couldn't possibly have name collisions, because the class &lt;span style="font-style: italic;"&gt;file &lt;/span&gt;in the module &lt;span style="font-style: italic;"&gt;io&lt;/span&gt; will be addressed by&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;span style="font-style: italic;"&gt;io.file&lt;/span&gt;&lt;span style="font-style: italic;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I also like the way you can switch modules in Perl. So I am conidering allowing a module switch packages. It really depends on whether that could cause a bunch of headache when writing a compiler.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17687150-113038872583484059?l=dp6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/113038872583484059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17687150&amp;postID=113038872583484059' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113038872583484059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113038872583484059'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/2005/10/module-naming-scheme.html' title='Module naming scheme'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17687150.post-113000795262522467</id><published>2005-10-22T13:51:00.000-05:00</published><updated>2005-10-27T00:16:47.816-05:00</updated><title type='text'>Struct will have members</title><content type='html'>I like the idea of having structs that act in a similar way to that of normal objects, similar to the D way.&lt;br /&gt;&lt;blockquote&gt; &lt;br /&gt;struct Test{&lt;br /&gt;int $a;&lt;br /&gt;sub a( $this, int $new ){&lt;br /&gt; $a = $new;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Test test;&lt;br /&gt;# following are equivalent&lt;br /&gt;test.a(5);&lt;br /&gt;test.a = 5;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The way that Perl6 handles public/private data, will also be included.&lt;br /&gt;&lt;blockquote&gt;class Test{&lt;br /&gt;$a is readonly;&lt;br /&gt;$b is rw;&lt;br /&gt;}&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17687150-113000795262522467?l=dp6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/113000795262522467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17687150&amp;postID=113000795262522467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113000795262522467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113000795262522467'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/2005/10/struct-will-have-members.html' title='Struct will have members'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17687150.post-113000706188397008</id><published>2005-10-22T13:42:00.000-05:00</published><updated>2005-10-26T23:57:54.850-05:00</updated><title type='text'>Perl6 style macros</title><content type='html'>There will Perl6 syle macros to allow the language to be modified to suit the users needs.&lt;br /&gt;&lt;br /&gt;This would require that at least some of the code has to be runnable before it gets completely compiled. I would suspect that the compile time code will run at a much lower speed. I think that this would allow D style &lt;span style="font-style: italic;"&gt;version( )&lt;/span&gt; statements to be able to be included, without hard coding it into the parser.&lt;br /&gt;&lt;br /&gt;I find that there are times were I want to change how the program is parsed, so that I can do the same thing to different types of data, without retypeing it. D does to some extent, provide these facilities, but I want to take it farther.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17687150-113000706188397008?l=dp6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/113000706188397008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17687150&amp;postID=113000706188397008' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113000706188397008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/113000706188397008'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/2005/10/perl6-style-macros.html' title='Perl6 style macros'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17687150.post-112921559733038787</id><published>2005-10-13T09:21:00.000-05:00</published><updated>2005-10-13T22:31:52.106-05:00</updated><title type='text'>Garbage Collector</title><content type='html'>All Modules will be able to turn on or off the Garbage Collector for itself, and be able to suspend the Garbage collector on behalf any module, or even globally.&lt;br /&gt;&lt;br /&gt;Modules will also be able to select which Garbage Collector gets used for objects that it generates.&lt;br /&gt;&lt;br /&gt;The Garbage Collector will be turned on by default for every package, but no Garbage Collector in particular will be selected.&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;use GC;&lt;br /&gt;use GC 'any';&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;If the program selects a particular GC to use, it will be used by any modules that doesn't specify which GC it will use.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;use GC 'system';&lt;br /&gt;use GC GC::system;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;A module will be able to turn off all GC's, for itself. The reason for this is that a programmer could then write a GC as a module.&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;no GC;&lt;br /&gt;&lt;/span&gt;Doing a &lt;span style="font-style: italic;"&gt;&lt;span style="font-weight: bold;"&gt;no GC;&lt;/span&gt;&lt;/span&gt; inside of a block will turn it off for that block&lt;span style="font-style: italic; font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;All GC's will be required to handle self referencial data structures correctly.&lt;br /&gt;&lt;br /&gt;Whenever the GC is turned off the compiler will make sure an object is deleted when the block is exited. The programmer may put a delete in the block so that the object gets deleted early. If the programmer is giving a reference to some other subroutine, there will be some way of preventing the object from being deleted, how this will work I'm not sure.&lt;br /&gt;&lt;br /&gt;Note: the way I have designed the way GC's are used there will have to be some way of using an object with more than one GC at a time, again I am unsure of how this will be accomplished, but I am confident that it can be done.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17687150-112921559733038787?l=dp6.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dp6.blogspot.com/feeds/112921559733038787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=17687150&amp;postID=112921559733038787' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/112921559733038787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/17687150/posts/default/112921559733038787'/><link rel='alternate' type='text/html' href='http://dp6.blogspot.com/2005/10/garbage-collector.html' title='Garbage Collector'/><author><name>Brad Gilbert</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_UYihKQdFwBk/S1MxfAYT_UI/AAAAAAAAAHY/M8k4RxXZO6Q/S220/avatar.png'/></author><thr:total>0</thr:total></entry></feed>
