Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
markvangulik
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
by
markvangulik
8y ago
As for SHRDLU, it was built atop a “language”, PROGRAMMAR, if I recall, which was really a big ball of Lisp, so the syntax was basically tons of parentheses with keywords inside the left one. But given the available languages, memory, and
2.
▲
by
markvangulik
8y ago
“Implemented in” is the key. If you want, say, a C compiler written in Lisp, you end up writing a compiler. If you want a Haskell compiler written in Lisp, you write another compiler. If you want Avail to include all of C, you define C la
3.
▲
by
markvangulik
8y ago
I forgot to add the interfaces versus classes, inner classes, and lambda notation, with the tons of trivial FunctionalInterface interfaces to deal with a smattering of the combinations of number of inputs, void or primitive or class outpu
4.
▲
by
markvangulik
8y ago
Very true. The core Avail language uses “_=_” for comparison, “_:_” to declare a variable, “_:=_” got assignment, and “_::=_” for constants (think “final”). It also has “_:_:=_” for the case when you want to declare a variable of a genera
5.
▲
by
markvangulik
8y ago
I went into this design decision, having looked very closely at the specific success of the SHRDLU system (1971?). Local disambiguation was very effective, and Avail goes even further by having exceptionally strong types to help distinguis
6.
▲
by
markvangulik
8y ago
Some of the keywords and operators (punctuation) of Avail methods are “completely optional”, in that the caller’s choice to include it or not (or alternative prepositions in some cases) is solely to improve readability of the result. For e
7.
▲
by
markvangulik
8y ago
Perhaps. But wouldn’t you prefer that COBOL become a mere dialect of Avail?
8.
▲
by
markvangulik
8y ago
Right, and that’s why Avail is nothing like that. Kind of the opposite when it gets down to it... Cheesy, closed languages like C forgot that exponentiation was even a thing, or complex numbers. If you shift over to using C++’s “clevernes
9.
▲
by
markvangulik
8y ago
Well said, that’s exactly right. Most languages lack a bottom type, or screw it up by pretending that “null” fits that role and falsely promises everything that every other type promises. Languages like Java (and many more) fail to even ha
10.
▲
by
markvangulik
8y ago
It’s a big concern, but technically most of the world doesn’t actually use ASCII. We use shortcuts in IntelliJ (and Eclipse before that), so if you want a right arrow, you type “rig”, pause a split second, and hit return to accept the “rig
11.
▲
by
markvangulik
8y ago
Working on it, sorry about that. We lost some things when rehosting some time ago and have prioritized other things. There is no mailing list any more.
12.
▲
by
markvangulik
8y ago
The core syntax of Avail does have a prose-like feel to it, and that’s intentional. But when you narrow it or extend it for specific linguistic domains (CSV, tensors, business rules, build rules, expert systems, or a vast number of existin
13.
▲
by
markvangulik
8y ago
We’re working on tools for writing/viewing Avail more easily. Stay tuned, it’ll be worth the ride...
14.
▲
by
markvangulik
8y ago
Yes, that agrees with the shape of Avail’s type hierarchy. There’s a top type and a bottom type, and the latter has no instances.
15.
▲
by
markvangulik
8y ago
Haskell has infinite and recursive constructs, lazily computed. That’s what makes their type system undecidable. Avail is constructivist in that sense, so immutable structures must be finite (i.e., you can draw them as a dag). For cyclic
16.
▲
by
markvangulik
8y ago
If you wouldn’t mind, please post a screenshot where you think an example is supposed to be displayed but isn’t. Or mail it to “mark” at the same address as the website.
17.
▲
by
markvangulik
8y ago
If you grab the development branch, you can use the modular lexers to make that a little bit clearer. If memory serves, “a socket address from <192, 168, 1, 1> and 80” can now be written “192.168.1.1:80”. Not because that syntax is
18.
▲
by
markvangulik
9y ago
Slow two days now. Lots of internal errors, no new content since Thursday. I guess they won’t ever add decades overdue Unicode support after all, since ad revenue will be zero pretty soon.
19.
▲
by
markvangulik
12y ago
At this exact moment, Avail can only evaluate expressions left-to-right, except of course for functions (block expressions, using [] notation resembling Smalltalk). However, I'm close to completing the macro mechanism that will allow t
20.
▲
by
markvangulik
12y ago
It was intended with humor, of course, but really creating a natural language syntax is a tiny capability of Avail. We're working on the details at the moment, but we're fairly certain that every programming language ever written
21.
▲
by
markvangulik
12y ago
Unfortunately there's no guide to walk you through the library. However, we have code level documentation in a live searchable form here: https://www.availlang.org/about-avail/documentation/stacks/l...
22.
▲
by
markvangulik
12y ago
Just to whet your appetite, consider this: Method "_plus_" is [ a : number, b : number | a + b ]:number; Print: 5 plus 6; The entire language is built this way.
23.
▲
by
markvangulik
12y ago
I'm one of the authors. If you're concerned that what we built is a mere natural language parsing engine, have a look here: https://www.availlang.org/about-avail/documentation/faq.html...