HackerTrans
TopNewTrendsCommentsPastAskShowJobs

djedr

no profile record

Submissions

Show HN: The LAST Programming Language

xtao.org
4 points·by djedr·3 tahun yang lalu·2 comments

Simulating Turing Machines with Wang Tiles

seriot.ch
3 points·by djedr·3 tahun yang lalu·0 comments

comments

djedr
·2 tahun yang lalu·discuss


    Location: Poland
    Remote: yes
    Willing to relocate: no
    Technologies: JavaScript, TypeScript, HTML, CSS, Scala, open to learning something new, e.g. about AI, ML, LLMs
    Résumé/CV: https://djedr.github.io/resume.html
    Portfolio: https://djedr.github.io/projects.html
    Email: darius.j.chuck (gmail)
4+ years of professional experience, last 3+ years independently exploring original ideas, e.g.:

* https://jevko.org/ -- Jevko (jeff-ko /ˈd͡ʒef.kəʊ/) is a versatile minimal syntax for encoding tree-structured information as human- and machine-friendly text.

* https://xtao.org/last.html -- two extremely minimal programming languages I have created, which are both minimal versions of Alonzo Church’s lambda calculus, inspired by John Tromp’s Binary Lambda Calculus (BLC).

Also looking for research funding, e.g. https://jevko.org/activitypub.html
djedr
·2 tahun yang lalu·discuss
SEEKING WORK

    Location: Poland
    Remote: yes
    Willing to relocate: no
    Technologies: JavaScript, TypeScript, HTML, CSS, Scala, open to learning something new, e.g. about AI, ML, LLMs
    Résumé/CV: https://djedr.github.io/resume.html
    Portfolio: https://djedr.github.io/projects.html
    Email: darius.j.chuck (gmail)
4+ years of professional experience, last 3+ years independently exploring original ideas, e.g.:

* https://jevko.org/ -- Jevko (jeff-ko /ˈd͡ʒef.kəʊ/) is a versatile minimal syntax for encoding tree-structured information as human- and machine-friendly text.

* https://xtao.org/last.html -- two extremely minimal programming languages I have created, which are both minimal versions of Alonzo Church’s lambda calculus, inspired by John Tromp’s Binary Lambda Calculus (BLC).

Also looking for research funding, e.g. https://jevko.org/activitypub.html
djedr
·2 tahun yang lalu·discuss
SEEKING WORK

    Location: Łódź, Poland
    Remote: yes
    Willing to relocate: no
    Technologies: open to learning, most comfortable with JavaScript, TypeScript, HTML, CSS, maybe Scala; details in resume
    Résumé/CV: https://djedr.github.io/resume.html
    Email: darius.j.chuck (gmail)
Programming since 2004, Master of Engineering in Computer Science, 4+ years of professional experience, last 3+ years exploring original ideas, e.g. https://xtao.org/ | https://jevko.org/ | https://xtao.org/last.html
djedr
·2 tahun yang lalu·discuss


    Location: Łódź, Poland
    Remote: yes
    Willing to relocate: no
    Technologies: open to learning, most comfortable with JavaScript, TypeScript, HTML, CSS, maybe Scala; details in resume
    Résumé/CV: https://djedr.github.io/resume.html
    Email: darius.j.chuck (gmail)
Programming since 2004, Master of Engineering in Computer Science, 4+ years of professional experience, last 3+ years exploring original ideas, e.g. https://xtao.org/ | https://jevko.org/ | https://xtao.org/last.html
djedr
·2 tahun yang lalu·discuss
SEEKING WORK

    Location: Łódź, Poland
    Remote: yes
    Willing to relocate: rather not
    Technologies: open to learning, most comfortable with JavaScript & relateds; details in resume
    Résumé/CV: https://djedr.github.io/resume.html
    Email: darius.j.chuck (gmail)
Programming since 2004, Master of Engineering in Computer Science, 4+ years of professional experience, last 3+ years exploring original ideas: https://xtao.org/ | https://jevko.org/ | https://xtao.org/last.html

My goal is to continue that as an independent creator and make a living this way. Looking for things compatible with that goal.
djedr
·2 tahun yang lalu·discuss


    Location: Łódź, Poland
    Remote: yes
    Willing to relocate: rather not
    Technologies: open to learning, most comfortable with JavaScript & relateds; details in resume
    Résumé/CV: https://djedr.github.io/resume.html
    Email: darius.j.chuck (gmail)
Programming since 2004, Master of Engineering in Computer Science, 4+ years of professional experience, last 3+ years exploring original ideas: https://xtao.org/ | https://jevko.org/ | https://xtao.org/last.html

My goal is to continue that as an independent creator -- I'd like to make that my full-time job. Looking for things compatible with that goal.
djedr
·3 tahun yang lalu·discuss
For any lurkers out there, I just created/published the next, even more extreme iteration of this called λDNA: https://xtao.org/blog/ldna.html

Enjoy.
djedr
·3 tahun yang lalu·discuss
Made this last year, inspired by @jart's SectorLambda[0] implementation of @tromp's Binary Lambda Calculus[1]. Since then I had an idea of how to translate the language into a 5-instruction "linear" (as opposed to tree-structured) machine code which can be nicely visualized. Finally implemented this idea, resulting in a minimal IDE/debugger. Just published a working version of that[0].

Pretty fun stuff. :D

[0] https://justine.lol/lambda/

[1] https://tromp.github.io/cl/Binary_lambda_calculus.html

[2] https://xtao.org/blog/nukleus.html
djedr
·3 tahun yang lalu·discuss
> offering more evidence for the theory that life on Earth was seeded from outer space.

This hypothesis seems to be getting more and more traction. There is an excellent recent video on topic from Kurzgesagt [0].

Interesting that neither the video nor the article uses the name panspermia[1] to refer to the hypothesis. I wonder why that is. Wikipedia also states that "[the fringe theory] is also criticized because it cannot be tested experimentally". Can't it? If we ever find an organism based on DNA compatible with organisms on Earth, wouldn't that validate it?

[0] https://www.youtube.com/watch?v=JOiGEI9pQBs

[1] https://en.wikipedia.org/wiki/Panspermia
djedr
·3 tahun yang lalu·discuss
fitzJSON: a JSON-compatible format optimized for configuration.

https://github.com/xtao-org/fitzjson
djedr
·3 tahun yang lalu·discuss
Another revelation: lambda calculus can be reduced down to 4 primitive operations[0].

I had this revelation after a pilgrimage into the land of Binary Lambda Calculus[1], a binary encoding of lambda calculus that represents variables with numerical (de Bruijn) indices[2] in unary.

Ultimately, 0 and 1 is all we need. ;)

[0] https://jevko.github.io/writing/2023-07-23-revelation.html -- the pun in the article (I'm the author) fits perfectly into the OP ;D

[1] https://tromp.github.io/cl/Binary_lambda_calculus.html

[2] https://en.wikipedia.org/wiki/De_Bruijn_index
djedr
·3 tahun yang lalu·discuss
Thanks! :)
djedr
·3 tahun yang lalu·discuss
https://djedr.github.io/writing.html and https://xtao.org/blog.html

Mostly technical writing about programming [languages] and my projects.

Most popular posts:

* Introducing Jevko: a minimal general-purpose syntax / https://djedr.github.io/posts/jevko-2022-02-22.html / hit on the front page of HN / about a little project I've been working on for years

* Why NOT to add the pipeline operator to JavaScript / https://djedr.github.io/posts/random-2018-01-25.html / I guess this was controversial

And for looser writing/drafts: https://github.com/jevko/writing

Enjoy!
djedr
·3 tahun yang lalu·discuss
I suppose a bit of both.

I was more directly inspired by Lisps, but I do prefer the original M-expressions and the syntactic choices that REBOL and Red make.

I think placing the operator before the opening bracket better emphasizes its special significance and can reduce nesting for constructs like `f[x][y]` (vs. `((f x) y)` in Lisps). Square brackets somehow seem more aesthetically pleasing to me. And there is a practical reason to prefer them, especially if your syntax uses only one kind of brackets -- square brackets are the easiest to type on an average keyboard.

So REBOL-like syntax is nicer. As were M-expressions. They probably didn't catch on, because they were not minimal enough, compared to S-expressions. And maybe because S-expressions were fully implemented first.
djedr
·3 tahun yang lalu·discuss
This is one thing I designed Jevko[0][1] for.

If you have an idea for a format or a language and would like to quickly start hacking on the layer above the syntax, Jevko is an option.

It's meant to be even simpler and hackable than S-expressions.

It gets you from a string to a tree in the least amount of steps.

See here[2] if interested.

Happy hacking!

[0] https://jevko.org/ [1] https://djedr.github.io/posts/jevko-2022-02-22.html [2] https://gist.github.com/djedr/151241f1a9a5bc627059dd9b23fc74...
djedr
·3 tahun yang lalu·discuss
What if we could have minimal redundancy and still be capable of error detection?

Check this[0] out:

    [
        id [0003]
        type [donut]
        name [Old Fashioned]
        ppu [0.55]
        batters [
            batter [
                [
                    id [1001]
                    type [Regular]
                ]
            ]
        ]
        topping [
            [
                id [5004]
                type [Maple]
            ]
        ]
    ]
Now if we delete `id` we will get a syntax error. And yet no commas, no colons, no quotemarks! Only square brackets. Minimal redundancy.

For a bit more error-checking-thru-redundancy we could analyze indentation (one reason why I recommend C-style rather than Lisp-style formatting) and warn if we detect any inconsistencies.

Ergo: through design magic we can get rid of a lot of the redundancy and increase desirable properties, without trading off much of the positive side.

NB for a machine we could compact the above into:

    [id[0003]type[donut]name[Old Fashioned]ppu[0.55]batters[batter[[id[1001]type[Regular]]]]topping[[id[5004]type[Maple]]]]
[0] More on that here: https://news.ycombinator.com/item?id=35675811
djedr
·3 tahun yang lalu·discuss
As long as we are on topic of JSON alternatives suitable for configuration, I've been tinkering with various minimal syntaxes and formats for a long time, most notably Jevko[0].

One format based on that I've been conjuring up recently would represent the first example from the RON README like so:

    GameConfig[ optional struct name
        window size [[800] [600]]
        window title [PAC-MAN]
        fullscreen [false]

        mouse sensitivity [1.4]
        key bindings [
            up [Up]
            down [Down]
            left [Left]
            right [Right]
            
            Uncomment to enable WASD controls
            ;[
            W [Up]
            A [Down]
            S [Left]
            D [Right]
            ]
        ]
        
        difficulty options [
            start difficulty [Easy]
            adaptive [false]
        ]
    ]
I put a syntax-highlighted version and some more details in this gist[1].

I wonder what you guys think about such a minimal alternative.

[0] https://jevko.org

[1] https://gist.github.com/djedr/4eeac1de466512ec211ff17cfd1f5e...
djedr
·3 tahun yang lalu·discuss
> With XML, the complexity is the baseline, and it only goes up from there. With JSON, the complexity is just an option, the baseline is pretty simple.

Very well put. And we could lower the baseline substantially towards simplicity, even from JSON.

It's pretty clear that a lot of people think this way. Some even seriously try to figure out what such a baseline of simplicity would look like.

There are lots of simple indentation-based designs (similar to YAML) such as NestedText[0], Tree Notation[1], StrictYAML[2], or even @Kuyawa's Dixy[3] linked in this thread.

There seem to be less new ideas based around nested brackets, the way S-expressions are. Over the years, I have developed a few in this space, most notably Jevko[4]. If there ever will be another lowering of the simplicity baseline, I believe something like Jevko is the most sensible next step.

[0] https://nestedtext.org/en/stable/ [1] https://treenotation.org/ [2] https://hitchdev.com/strictyaml/ [3] https://news.ycombinator.com/item?id=35469643 [4] https://jevko.org/
djedr
·3 tahun yang lalu·discuss
I replied in Markdown here: https://gist.github.com/djedr/4ae1373faa7d43f359a2a245132341...
djedr
·3 tahun yang lalu·discuss
Hey, just want to say that BLC is a remarkable artifact -- to me it's an art piece in computational minimalism.

I actually got so obsessed with it last year that I worked out a variant of lambda calculus[0] in which, with some trickery, a port of the BLC interpreter could be squeezed into 194 bits.

Which would be only 2 bits more than the intriguing conjecture from your paper[0] says to be optimal:

> We conjecture that any self-interpreter for any binary representation of lambda calculus must be at least 24 bytes in size, which would make E close to optimal.

I wonder what are the assumptions behind this conjecture. Surely my trickery broke some of them.

[0] https://xtao.org/blog/last-intro.html

[1] https://tromp.github.io/cl/LC.pdf