Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #322

Re: New Programming Language: Salmon

Path csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!news.iecc.com!lnews.iecc.com!nerds-end
From Kaz Kylheku <kaz@kylheku.com>
Newsgroups comp.compilers
Subject Re: New Programming Language: Salmon
Date Thu, 3 Nov 2011 04:37:18 +0000 (UTC)
Organization A noiseless patient Spider
Lines 60
Sender news@iecc.com
Approved comp.compilers@iecc.com
Message-ID <11-11-020@comp.compilers> (permalink)
References <11-11-016@comp.compilers>
NNTP-Posting-Host lnews.iecc.com
X-Trace gal.iecc.com 1320349696 9272 64.57.183.34 (3 Nov 2011 19:48:16 GMT)
X-Complaints-To abuse@iecc.com
NNTP-Posting-Date Thu, 3 Nov 2011 19:48:16 +0000 (UTC)
Keywords design
Posted-Date 03 Nov 2011 15:48:16 EDT
X-submission-address compilers@iecc.com
X-moderator-address compilers-request@iecc.com
X-FAQ-and-archives http://compilers.iecc.com
Xref x330-a1.tempe.blueboxinc.net comp.compilers:322

Show key headers only | View raw


On 2011-11-02, Chris <chris@chriswilson.info> wrote:
> I've created a new general purpose programming language and a full
> interpreter for it. I'm looking for early adopters to give it a try
> and give feedback.

I had a good look at your reference manual, etc.

My honest opinion is that you've created a fairly uninteresting 'blub'
language, with new syntax and terminology for doing pretty ordinary things.

For instance:

quarks: objects that enumerate and identify, such that two quarks are
either equal or unequal. New term for "symbol", with limitations.

tagalongs: your new term for "property lists" that can be attached to objects,
easily created with a couple of macros in Lisp and either weak hash tables
or finalizations (non-ANSI, but common extensions) to build the assocation
in a way that doesn't prevent garbage collection of unused objects.
In about 15 minutes of coding, I can make myself the syntax which supports
the following:

  (define-tagalong foo nil) ;; establish default value

  ;; associate some-object with 42 under the key 'foo
  (setf (get-tagalong some-object 'foo) 42)

  ;; retrieve it:
  (get-tagalong some-object 'foo)

  ;; retrieve unassigned tagalong
  (get-tagalong "string" 'foo) ;; yields nil, the default value

  ;; retrieve undeclared tatalong
  (get-tagalong "string" 'blah) ;; error: blah has no default value

  ;; shorthand macro
  (with-tagalongs (foo bar) some-object
    ;; now local symbols foo and bar alias for tagalongs 'foo and 'bar
    ;; of some-object

    (setf foo 42) ;; same as (setf (get-tagalong some-object 'foo) 42)
   )

  (do-tagalongs some-object (indicator value)
     ;; this body iterates over the key/value tagalog pairs of some-object
      )

You've bogged down tagalongs with the possiblity of static type declarations,
which don't really add much value; they are just ways to make the language
get in your way.

> I believe there's always room for new ideas,

Why don't you introduce Salmon on Rosetta Code and try implementing
a few of the tasks, so people can get some rough idea for how it stacks up
against numerous other languages?

In Rosetta, on the same page, people can see how a given task is solved in
Python, Lisp, SNOBOL 4 (!), Visual Basic, Salmon,  C++, you name it.

Back to comp.compilers | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

New Programming Language: Salmon Chris <chris@chriswilson.info> - 2011-11-02 16:06 -0700
  Re: New Programming Language: Salmon Kaz Kylheku <kaz@kylheku.com> - 2011-11-03 04:37 +0000
    Re: New Programming Language: Salmon Chris <chris@chriswilson.info> - 2011-11-03 14:11 -0700

csiph-web