From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 130812 invoked by alias); 29 Mar 2018 15:19:37 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 129297 invoked by uid 89); 29 Mar 2018 15:19:36 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=browser, holding, protocols, js X-HELO: mail-wm0-f67.google.com Received: from mail-wm0-f67.google.com (HELO mail-wm0-f67.google.com) (74.125.82.67) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 29 Mar 2018 15:19:34 +0000 Received: by mail-wm0-f67.google.com with SMTP id p9so11414156wmc.3 for ; Thu, 29 Mar 2018 08:19:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=YF/YvWCOyko351zcpqPEKOvinfK4y5ImnPQTGC5yUJI=; b=jAAV+gU16Qa3Rr5gBNy/Yu2cUQwayRcdOpsndpqqMRAQHSvv2sN0XzB/watb23LUat XjwDnRq9Q9O46AaVv4xDzFBCe9fD1ogoMr9HSgH2RmqFpQFi50YG2eW4Y6HKUkVVLN9h UoswgXIh87Eqsn8MIk/tKN62M3Uh7Spd8L9kyxDAvl4sO3R6Xu3kJi93BNraZV7MQu19 OatvGG8NB4BpAmHoj55UkbkZp24AYzOk8iB1DozcLNl2BiF4IFMnjGYfTWfBx7TcdKQ0 nmkeS00ceMZmzCHn6Lygy1dq1/Zbsxhixj7DkG4B+a2uWpVGksCj8N3czCf/doQnQHqw fBTw== X-Gm-Message-State: AElRT7GgPLYy1u2ZpJtP45QyUPJvSC93HmahcpfAc133M7iRIVyWUmH1 pz1iQSErw5ThKSoi4uJvk6cqm0R4Cl3GEPf9b6+WaQ== X-Google-Smtp-Source: AIpwx495D6EN7icQIeP75tNJ3V8mXiTe8Tc3rO58HhjXHaC9ezJdIdHG9nqBYgx30usssq5L6trC2jdlbKZo+Yx4GHc= X-Received: by 10.80.245.124 with SMTP id w57mr7942463edm.230.1522336772592; Thu, 29 Mar 2018 08:19:32 -0700 (PDT) MIME-Version: 1.0 Received: by 10.80.173.146 with HTTP; Thu, 29 Mar 2018 08:19:31 -0700 (PDT) In-Reply-To: References: From: J Decker Date: Thu, 29 Mar 2018 15:19:00 -0000 Message-ID: Subject: Re: would you review the srcy programming language? To: wce teky Cc: gcc@gcc.gnu.org Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2018-03/txt/msg00272.txt.bz2 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 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 >