Re: a new language
- From: "cr88192" <cr88192@xxxxxxxxxxxxxxxxxx>
- Date: Thu, 3 Nov 2005 08:02:07 +1000
"Joseph H Allen" <jhallen@xxxxxxxxxxxx> wrote in message
news:dk8bkn$gss$1@xxxxxxxxxxxxxxxx
> In article <21ec4$4366d8da$ca83a7e9$4475@xxxxxxxxxx>,
> cr88192 <cr88192@xxxxxxxxxxxxxxxxxx> wrote:
>
>>is this the same text editor as 'jmacs' (typically a symlink to 'joe'),
>>which came with many linux distros.
>
> Yes.
>
cool.
>>likely the usual rules for most scripting languages apply, eg, getting
>>anyone to care being likely a major challenge.
>
> Of course: but people did switch to Python when Perl was perfectly
> adequate.
>
well, this one can be understood (sort of, though I am not so fond of python
either...).
>>(and I watch as the number of posts to this group gradually diminishes
>>afaict...).
>
> It's all been done before in LISP, so why bother :-)
>
yes.
mine have typically been little 'new' per se. my newest one can say
primarily "resembles javascript" but it is not javascript (some things are
different, and I couldn't make crap for sense out of the spec...).
as typically, I wrote a compiler for it as well (spews out c), but I can see
how much I use this (with a sucky/incomplete ffi, and still unimpressive
generated code, there is not that much reason to use it for much...).
I am probably the only one who uses it, but this is no big deal.
then I tried ripping off ideas from java (making a mostly statically typed
language, and a vm resembling the jvm). gave up as it was proving tedious (a
static typesystem complicates things a whole lot) and I couldn't see 'that'
much reason to continue implementing it.
actually, it would have been more of a hybrid, allowing mixing a few
different things (static and dynamic types, classes and delegation, ...). it
changed a few things vs java:
modular, instead of one class per file;
limited-scope toplevels, vs no toplevels;
plain functions as well, ...
in the simple case, the code would likely look very similar to java.
I also considered the possibility of using java itself, but noted that it
had little hope of effectively managing dynamic typing, and a few other
things I didn't really like (I also wanted operator overloading, for
example).
java also didn't have the idea of stack-allocated/in-place arrays or
structures, which was a detractor.
my design included 'structs', where structs differed primarily from classes
in that:
they were allocated in place;
they were passed by value;
(considered) disallowing extending and methods.
if extending were allowed, it would be limited, eg, in that a derived struct
couln't generally be passed to something expecting the parent type due to
size issues. methods would be limited, if present at all (no non-static
methods, unless explicitly part of the struct body).
arrays were similar:
int foo[3]; //creates an in-place array;
int foo[]=new int[3]; //creates a dynamic array
....
reasons for it:
likely more efficient with memory;
possibly faster interpreter;
less ffi work needed (typesystem would be much closer to c);
possibly worthwhile generated c code, and the ability to call directly
to/from the language (my other langs have typically required 'stubs' to
convert arg/return types back and forth and do the calls);
....
against:
I allready have a working interpreter for my other lang;
the effort required for implementing it;
....
dunno, I could continue if I saw a reason.
> Actually, USENET itself seems to be in decline. It's sad.
>
yes, it used to be that I could actually watch stuff being talked about on
all the groups. over time, everywhere gets more and more empty...
> --
> /* jhallen@xxxxxxxxxxxxx (192.74.137.5) */ /* Joseph H.
> Allen */
> int
> a[1817];main(z,p,q,r){for(p=80;q+p-80;p-=2*a[p])for(z=9;z--;)q=3&(r=time(0)
> +r*57)/7,q=q?q-1?q-2?1-p%79?-1:0:p%79-77?1:0:p<1659?79:0:p>158?-79:0,q?!a[p+q*2
> ]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817;)printf(q%79?"%c":"%c\n","
> #"[!a[q-1]]);}
.
- Prev by Date: Codeaholic: the blog.
- Next by Date: Re: a new language
- Previous by thread: Codeaholic: the blog.
- Next by thread: Re: a new language
- Index(es):
Relevant Pages
|