public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* would you review the srcy programming language?
@ 2018-03-20  3:36 wce teky
  2018-03-29 15:19 ` J Decker
  0 siblings, 1 reply; 2+ messages in thread
From: wce teky @ 2018-03-20  3:36 UTC (permalink / raw)
  To: gcc

hi!

i'm the dotre, and i am designing a programming language,
you may be interested at, it is general purpose, structured,
imperative, data-driven and autonomous; i have already its
syntax and very brief introduction as documentation. it is
documented with google docs, but it can be downloaded
with a browser as plain text.

see you!

https://drive.google.com/drive/folders/1jf_iP9F_Iz_dGSYUzx9Xz-Od24qkchMH

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: would you review the srcy programming language?
  2018-03-20  3:36 would you review the srcy programming language? wce teky
@ 2018-03-29 15:19 ` J Decker
  0 siblings, 0 replies; 2+ messages in thread
From: J Decker @ 2018-03-29 15:19 UTC (permalink / raw)
  To: wce teky; +Cc: gcc

Somewhat like assembly meets c99 /javascript with maybe an extended
preprocessor macro system (#declr? )
pointers rarely contain a single value, they either reference an array, or
a group of values.  In the case of the latter, the pointerVarName.FieldName
pair specifies to get the value, and then any manipulation of
pointerVarName is always updating the pointer... so there isn't really a
need to have two operators to do that....

I'm not neutral; I have VESL on my mind.  VESL is like
blockly/scratch/snap/... except also able to create objects (structures
with elements).
I've recently come to re-learn javascript from a 2017 perspective, and have
come to learn that really the type of data in a variable is always
determined by the value that's put into the variable.  Have it be any other
type than that type would catch developer errors; but with proper habits I
don't have the tendency to put a integer value in a field that should be
holding a string.

Even before learning JS I knew JSON for websocket communication.  JSON
defines 3 types ( okay there's actually like 7 but...).
{ "stringValue": "String",
  "numValue" : 1234,
  "object" : {
      ....
  },
  "realNumValue" : 1234.0e-3,
  "nothing" : null
  "yesNo" : true/false (keywords)
}

For specific microoptimizaitons of space (like you need a whole bunch of
values that are only 0-255, specifying a byte type can be useful).
int(float), void*, bool.  and struct userTypes *, and []  are the only
types I've been using for the last 15 years developing in C.
That and decoding network protocols made up of bytes, shorts, etc, type
information can be useful.

Javascript (since ES5/6) has had TypedArray, which gives you optimal
uint8Array so you can have a string of packed bytes in memory, and the JIT
gets to generate fast  code to access it without boxing it into integer
types always; This is required for things like Three.jS (Really WebGL ) to
work... sending vertex information from javascript in packed float arrays
to C++ Code to openGL driver eventually...

Not that everything can entirely be done in JS.  I have a C++ addon that
provides many system abstractions that Node doesn't; but making an API for
javascript to utilize is almost eaiser than making an API for C/C++ to use,
because in JS you can just make one of the objects, and dump it to see what
fields/methods it has (right then and there).

so with JSON I get named variables and values, so I don't need 'var', and
there are no parenthesis in JSON (outside of quotes).  So there are no
functions/expressions.....

so simply saying { myFunction : (args... ) { ... } }  means I don't need
the function keyword, and the definition of a function is always
a name  (paren) (args) (closeparen) followed by a code block.  If there is
no code block after it (it's a close statemtn like , or ;  ... or it's an
operator, then it is a call, and the arguments are expressions instead of
name definitions for the function code block.

What I lose then... is without var or function, I can't really use let or
const.

https://github.com/d3x0r/VESL/blob/master/vesl.md

But then, as a VPL (visual programming language) I really want to use text
as little as possible.  Typing in names to create lables for blocks then
allows me to have a visual representaiton of that for later use, so I only
need to type each name for each class once.... and then I don't have to
represent 'function' 'profcedure' 'this returns a value' 'this doesn't' ...







On Mon, Mar 19, 2018 at 8:36 PM, wce teky <thedotre@gmail.com> wrote:

> hi!
>
> i'm the dotre, and i am designing a programming language,
> you may be interested at, it is general purpose, structured,
> imperative, data-driven and autonomous; i have already its
> syntax and very brief introduction as documentation. it is
> documented with google docs, but it can be downloaded
> with a browser as plain text.
>
> see you!
>
> https://drive.google.com/drive/folders/1jf_iP9F_Iz_dGSYUzx9Xz-Od24qkchMH
>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-03-29 15:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-20  3:36 would you review the srcy programming language? wce teky
2018-03-29 15:19 ` J Decker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).