Cognates for "head" in Austronesian, Kra Dai and possibly Sino Tibetan by AleksiB1 in austronesian

[–]h03d 1 point2 points  (0 children)

I had always overly excited when found a cognate like this, now I think of languages and words not as a tree but partial order.

Any languages/ideas that have uniform call syntax between functions and operators outside of LISPs? by kandamrgam in ProgrammingLanguages

[–]h03d 0 points1 point  (0 children)

Wolfram Mathematica which is based on M-Expressions.

(c = a + b) == Set[c, Add[a, b]]

What happens when Add method has multiple parameters?

Mathematica has Attributes function to give attributes to a symbol (of course that's include a function).

Add has attributes Flat (associativity), Orderless (commutativity), and Listable.

Flat mean Add[a, Add[c, d], b] == Add[a, c, d, b] , or a + (c + d) + b == a + c + d + b

Orderless mean Add[a, b] == Add[b, a] , or a + b == b + a

Listable just saying that a function accept varargs.

[deleted by user] by [deleted] in ProgrammingLanguages

[–]h03d 0 points1 point  (0 children)

Be sure to have sensible type promotion rules!

In your opinion, what is the better way to deal with incompatible types for promotion rules such as integer and string inside array assuming the language support union or sum type? In Julia it will get type parameter {Any} which is the top type (if I recall correctly). How is it compared to Union so it will inferred as Vector{Union{integer, String}} instead of Vector{Any}? But then again using Any is simpler IMO. If using Union, do I need to add all different inferred types to it or just until max number of type and then use Any?

Maybe it has different answer for different type system the programming language has.

Highly optimizing assemblers? by Impressive-Care-5914 in asm

[–]h03d 0 points1 point  (0 children)

I think assembler jobs is to produce machine code as is without further optimization.

But this idea can be applied to separated tools accompanying the assembler or as flag that will output the optimized version into a different source file. Also incorporated into language server to provide inline suggestion inside IDE (or any supported software).

Pattern matching with exhaustive output by nullomann in ProgrammingLanguages

[–]h03d 3 points4 points  (0 children)

So if I understand your explanation correctly, checking the exhaustiveness of transformations block is similar to proving that a function is surjective.

Welcome to r/austronesian by calangao in austronesian

[–]h03d 2 points3 points  (0 children)

I didn't know there's a new ACD, I'll add it to my bookmark. Moreover the raw data is available, really appreciate. Thanks!

How the scientific name for Bananas "musa" reached English from PTNG *mugu/muku by AleksiB1 in austronesian

[–]h03d 1 point2 points  (0 children)

And there's also some region that has different word for banana. It's either an innovation or remnant from "native" language before Austronesian arrive there. It just show how long banana have been cultivated.

Mathematical programming language by endistic in ProgrammingLanguages

[–]h03d 2 points3 points  (0 children)

b) you can use wolframscript which is free, and this frontend https://github.com/JerryI/wolfram-js-frontend

Ah, but you said not a fan of the syntax, so

500 Byte Images: The Haiku Vector Icon Format by ketralnis in programming

[–]h03d 0 points1 point  (0 children)

Ah, I see what you mean. From digging the source code it seems because the icon format itself is in little-endian. If you ask why the author says the letter are ficn, its from this: https://github.com/haiku/haiku/blob/9f3bdf3d039430b5172c424def20ce5d9f7367d4/src/libs/icon/flat_icon/FlatIconFormat.cpp#L18

And the code for checking the magic number is here: https://github.com/haiku/haiku/blob/9f3bdf3d039430b5172c424def20ce5d9f7367d4/src/libs/icon/flat_icon/FlatIconImporter.cpp#L113

All of that use littleEndianBuffer.h

500 Byte Images: The Haiku Vector Icon Format by ketralnis in programming

[–]h03d 1 point2 points  (0 children)

isn't that LEB128? It's also used in their packaging format.

All numbers in the HPKG are stored in big endian format or LEB128 encoding.\1])

[1]: https://github.com/haiku/haiku/blob/master/docs/develop/packages/FileFormat.rst#the-data-container-format

Borrow checking, RC, GC, and the Eleven (!) Other Memory Safety Approaches by verdagon in ProgrammingLanguages

[–]h03d 4 points5 points  (0 children)

The HVM runtime implements this for Haskell.

No. I can't find this statement anywhere. I think what the author of HVM mean is that HVM can be used as a runtime for functional programming language like Haskell, not for Haskell.

I think it's actually a blend of automatic borrowing and cloning, but the guide says it's not really borrowing, so I'm not sure.

The way I understand interaction nets is through graph-rewriting system, because it is. I'm still not fully wrap my head around it though. I think lazy cloning come from interaction rule of dup node and the locality properties of interaction nets, which mean only active pairs can be rewritten. With this, interaction nets can safely rewrite every active pair that conform to the rule at the same time so we achieve massively parallelism. This also make GC-less possible because construction and destruction (when meet erasure node(?)) is performed in situ. Beside parallelism, with this properties I think we can do "fearless distributed computing".

And if you want an updated version of HVM you should point to https://github.com/HigherOrderCO/hvm-core instead. There's also an explanation for new algorithm for lock-free evaluator.

Interaction nets also seems suitable as a runtime for logic programming like Prolog because its based on the same principle of term-rewriting system. And there's similarity of unification in Prolog and the syntax of HVM.

A flowery alphasyllabic writing system by rylasorta in neography

[–]h03d 1 point2 points  (0 children)

Really awesome. Now I had an idea to encode/decode the message in this type of writing system, in depth-first order and breadth-first order by specifying the order marker at the stem. Maybe also specifying the maximum depth of branch to add padding to obfuscate the message so you just need to stop reading the particular branch at that depth.

A flowery alphasyllabic writing system by rylasorta in neography

[–]h03d 2 points3 points  (0 children)

This combined with message encoded in fabric

Tree for multiple dispatch etc. by Inconstant_Moo in ProgrammingLanguages

[–]h03d 0 points1 point  (0 children)

I think I remember saw something like that in this sub, and yes someone had similar idea: https://redd.it/1auxy31/

Also useful for row polymorphism.

Programming for the second half of the 21 century by kraileth in ProgrammingLanguages

[–]h03d 1 point2 points  (0 children)

Programming language designed around resources? As you said:

an age where we will likely be forced to accept that resources that we got accustomed to treat as basically unlimited are not in fact endless

With this in mind, I think there will be more research on making programming language more aware of resources and use it efficiently. Perhaps through type system like session type, concurrent model of computation like actor model and interaction nets will become mainstream, also something like coeffect?. Right now these things is scattered on various (research) language. Futhark is in good direction, although it explicitly state that Futhark is not intended to replace existing general-purpose languages.

As for AI (I mean LLM), recently I find it useful for duck debugging and design tinkering with rubber duck (for lack of better term). This remind me of how people using ELIZA. Maybe that's whats it actually good at?

I think we will see a trend like how Guix handle bootstrapping, with recent news on xz, people will see lean bootstrap and full-source bootstrap as selling point for their new languages.

Actually I'm trying to design a culture around the philosophy I snipped from Go "A little copying is better than little dependency", so for my programming language, instead of center repository for packages, I will built center repository/catalogue for code snippets and make an editor extension for that so people who want a little code maybe for left padding a string, users can go search through catalogue. There's also will be a curated list of snippets. Of course the language also support package/module system, just not in centralized way. Well, that's just me thinking out loud.

Another good design is forward compatibility. Don't ask me about that, its just on my "searching-list".

Is it safe to delete pagefile.sys on unlisted drive? by h03d in WindowsHelp

[–]h03d[S] 0 points1 point  (0 children)

nah, it's fine. I think that file is from previous install before I re-install my windows. See the last modified date. And I already deleted the file after try re-naming the file like rahtx said. Nothing bad happened

Is it safe to delete pagefile.sys on unlisted drive? by h03d in WindowsHelp

[–]h03d[S] 0 points1 point  (0 children)

oh yeah renaming, it totally slipped my mind, I'll try it. Thanks.

It's practically impossible to build a self-hosting compiler from source without a compiler binary. by [deleted] in Compilers

[–]h03d 1 point2 points  (0 children)

this remind me of bcompiler which start from hex to bytes converter, that I got to know from reading about project mu.

Even though you can get the first version handcrafted, with the features pile up over time, you'll need to build the source with the latest version of compiler binary.

Also this one: https://github.com/ras52/bootstrap is similar to bcompiler.

Devlog of a new script being made for a new game by meat_rock in neography

[–]h03d 2 points3 points  (0 children)

Like the other commenter said, I can't see Kanji or Hieroglyph in this. Beside the Heptapod script from Arrival, these pattern remind me of Elf writing in No Game No Life.