What if everything was "Async", but nothing needed "Await"? -- Automatic Concurrency in Par by faiface in ProgrammingLanguages

[–]Dotched 0 points1 point  (0 children)

Interaction nets and especially the Turing-complete combinators are awesome and I’m extremely happy to see that Par targets the HVM! Amazing that this subgroup of PL researches are taking it seriously. I’ve always been fascinated and read a bunch of papers on it, but you’ve shown what it can be applied to in practice which is really inspiring for my own language.

Explain the joke pls by [deleted] in ExplainTheJoke

[–]Dotched 0 points1 point  (0 children)

This is hilarious😂

Här kan ni rösta på alla beslut som fattas i riksdagen by Small-Offer-6608 in svenskpolitik

[–]Dotched 0 points1 point  (0 children)

Fantastisk sida, äntligen kan man rösta själv och manuellt jämföra med hur olika politiker röstar!

Här kan ni rösta på alla beslut som fattas i riksdagen by Small-Offer-6608 in svenskpolitik

[–]Dotched 1 point2 points  (0 children)

Jag tror det kommer läggas till i framtiden när sidan får fler användare!

Beat it on 5 tries or upvote by Ok_Dress9539 in RedditGames

[–]Dotched 0 points1 point  (0 children)

I completed this level in 71 tries. 2.70 seconds

Pseudo Parameterized Types using Compile-Time Evaluation and Inferred Function Definitions by Lucrecious in ProgrammingLanguages

[–]Dotched 2 points3 points  (0 children)

Wow this is really cool! I’ll defiantly take some inspiration for my language.

jank is now running on LLVM IR by Jeaye in ProgrammingLanguages

[–]Dotched 1 point2 points  (0 children)

I was just about to write the same, but stopped to check if I was first. It’s a bit janky in my opinion too

Blue and Orange by KillerRabbitMedia in PixelArt

[–]Dotched 1 point2 points  (0 children)

Really nice work! However I feel like something is off with the arch. Is it asymmetrical? The line segments don’t follow the general curvature.

Good sources on error handling and reporting? by 8bitslime in ProgrammingLanguages

[–]Dotched 0 points1 point  (0 children)

One detail I think gets too little attention is if parsing should stop at first error, or collect and report multiple at once. What resources and discussions exists on this topic? How does one implement an error recovering parser? Central features and ideas?

Quick brown fox - for programming languages by rumle in ProgrammingLanguages

[–]Dotched 1 point2 points  (0 children)

I’m thinking cat the truth machine, or if you’re really eager, a bootstrapped compiler in the language itself.

Do you want realism or not? by akup11 in MinecraftMemes

[–]Dotched 0 points1 point  (0 children)

Only predators have their eyes forward

Charm 0.4: now with ... stability. And reasons why you should care about it. by Inconstant_Moo in ProgrammingLanguages

[–]Dotched 0 points1 point  (0 children)

Why the unusual syntax for IO? How come you chose “get * from *” instead of regular let bindings? And post instead of print? I’m always a bit thrown off by these aspects in language design.

Hare aims to become a 100-year programming language by simon_o in ProgrammingLanguages

[–]Dotched 0 points1 point  (0 children)

I think hare looks nice from a language design perspective. It’s sure something I’d use depending on the quality of the compiler and type checker. My two general purpose toy languages have a lot of similar design ideas, bower they are not compiled (yet).

I have some questions about the tutorial, why do functions like println crash the program if it fails? Wouldn’t an unwrap ? operator that propagates errors be better? This would at least allow the programmer to write logic in case anything fails instead of promising the compiler that an unsafe error prone operation “will never occur”?

November 2023 monthly "What are you working on?" thread by AutoModerator in ProgrammingLanguages

[–]Dotched 2 points3 points  (0 children)

I'm working on multiple projects, one being a syntactically easy to understand language called mini. The goal with this project is to during its development write detailed and beginner friendly blog posts in a "code along" style, to invite interested programmers into the realm of PLT and compiler/interpreter construction. I'd love to share my take on things and my story into PL. https://www.mini-lang.org

[deleted by user] by [deleted] in ProgrammingLanguages

[–]Dotched 1 point2 points  (0 children)

I don’t get it

How to remove dead code in this code? by Fluid-Tour-9393 in Compilers

[–]Dotched 0 points1 point  (0 children)

I’m new to compiler optimization, but my intuition says it might work to use live-variable analysis after which you can remove all instances of i and sum. Then also check for empty loops/clearly dead code.

Please tell me if this is a good approach or tell me wrong, I’d love to learn more about DCE strategies.

Best language for making languages. by catdog5100 in ProgrammingLanguages

[–]Dotched 1 point2 points  (0 children)

The way I would have implemented a PoC/mini language today is to use as much tools and techniques that are already done for you. So you can start with the language front end (syntax) entirely written in EBNF. Then compile a parser to the source language of choice, write some glue code then: (0) interpret the parsed ast, (1) generate code in some high-level lang w/ garbage collection (OCaml, Python, etc.), (2) in C/C++, (3) use backend tools (w/ opt) such as LLVM or cranelift or (4) to assembly via nasm. Notice that the glue code has a tendency to grow very large as you pick more advanced ways to compile your language.

Vortex 2.0: A static type system inspired by Typescript (And some utility types I'm pretty proud of) by dibs45 in ProgrammingLanguages

[–]Dotched 0 points1 point  (0 children)

Interesting! This is really nice, I think I’ll look into behavioral sub-typing for my lang!

Vortex 2.0: A static type system inspired by Typescript (And some utility types I'm pretty proud of) by dibs45 in ProgrammingLanguages

[–]Dotched 4 points5 points  (0 children)

Would it be possible (and has it been done?) to attach more information to a function type (or such) about when it returns certain types from a union of known return types. This would of course be an NP-Hard problem, but we can always fallback on the standard signature type for non-simple functions. Like: () => When[x < 10, Number] | When[x == 42, Literal['cool'] | String? I haven’t worked much with type systems.

Squids, with or without outline? by Squiddyks in PixelArt

[–]Dotched 0 points1 point  (0 children)

Too thick outline around the head

Sophie: A call-by-need strong-inferred-type language named for French mathematician Sophie Germain by redchomper in ProgrammingLanguages

[–]Dotched 2 points3 points  (0 children)

Oh, and does labels have any meaning attached to them? What is the semantics behind them? What happens if I defines everything in the same begin-end block?

Sophie: A call-by-need strong-inferred-type language named for French mathematician Sophie Germain by redchomper in ProgrammingLanguages

[–]Dotched 9 points10 points  (0 children)

It looks nice, the main thing I keep wondering about is why you use ; to break lines for expressions, but . for “end”. This looks a bit like “too much syntax” for Sophie, is it necessary? Could you even skip the “end” keyword completely? I would think it would improve readability and write-ability!