Let's kill off half the builtins in C3 0.8.0

C3 0.8.0 버전에서는 기존의 여러 내장 함수들($sizeof, $alignof 등)을 제거하고, 이들을 대체하는 $reflect 빌트인을 도입해 컴파일 타임 리플렉션을 통합했다. 타입 프로퍼티 접근 방식도 int.sizeof에서 int::size 형태로 변경하여 명확성과 일관성을 높였다. 또한, 매크로의 가변 인자 처리 관련 여러 빌트인($vaexpr, $vacount 등)을 하나의 $vaarg로 통합해 간소화했다. 이러한 변화는 언어 표면을 줄이고 확장성을 높이며, 기존 기능을 유지하면서도 더 유연한 매크로 및 리플렉션 사용을 가능하게 한다.

https://c3-lang.org/blog/lets-kill-off-half-the-builtins-in-080/

#programminglanguage #compiletimereflection #macros #languagedesign #c3

Let's kill off half the builtins in 0.8.0

C3 is the ergonomic, safe evolution of C. Familiar syntax, full ABI compatibility, optionals, slices, contracts and zero-cost abstractions.

C3 Programming Language

I love how C# designers are trying to speedrun the reinvention of unions. 😅

#csharp #LanguageDesign

I treat := as a proxy for "the language creator is at least slightly annoying".

I have been happy with the hit rate so far.

#LanguageDesign

People need to stop taking language design advice from language creators whose only accomplishment is that their language got popular.

#LanguageDesign #compilers

Exploring how Datafun innovates declarative programming: This pure functional language extends Datalog, enabling concise expression of fixed-point computations over semilattices. Recent POPL 2020 research highlights its efficient, incremental evaluation using seminaïve techniques. Significant potential for simplifying complex, data-centric tasks while maintaining rigor. Could this influence future tools? Thoughts welcome. #FunctionalProgramming #Declarative #LanguageDesign
Exploring how the D programming language tackles C++ interoperability reveals pragmatic design choices. By supporting extern(C++) declarations, namespaces, class bindings, and template mappings—while transparently acknowledging limitations in memory management and exception handling—D offers a balanced path for cross-language integration. This approach provides valuable insights for language designers prioritizing realistic compatibility over theoretical... #Interoperability #LanguageDesign

@CGM I see good in this: new and useful powers for #Python.

I see bad in this: a thing we knew about for a long time, present elsewhere, why so long coming?

I see neutral in this: things that can be provided by libraries instead of directly in the language should absolutely start in a library. If they earn a spot in the language itself, great.

I see sad in this: these words make it sound like #TCL is ahead and Python is behind overall. That doesn’t match my opinion or personal experience. Absolutely agree on this particular feature. And also I have stated many times "there is no best language", just choices more or less cost-effective for the problem at hand.

For the problems I’ve faced, with the tools I’ve had available, Python has been a more cost-effective choice than TCL the majority of the time. From your words, I took that you prefer TCL. Nothing wrong with that!

#LanguageDesign #TailCallOptimization

After thought (thought I didn’t plan to put into it), I don’t think "NULL coalescing" and "NULL chaining" needs to be built in to the #ProgrammingLanguage, and here’s why:

* If you’re getting just one thing, the getter can take an optional default result value. #Python works like this in `getattr`, `.get`, and things of that nature. Having an operator for this is fine, but it seems obvious you don’t **need** the language to do it for you.
* If you’re walking down a long uncertain chain, I have two arguments:
* Knowing the path that leads down into the object to the specific thing you want kinda sounds like an #Encapsulation violation. Why do you know so much about the internals of this object. If this deep property is important, maybe it’s part of the interface of the top-level thing. Maybe this is just bad design.
* Diving deeply involves lots of possibilities: possible defaults, actual methods of finding the named thing (allow inheritance? Is it an attribute? Is it an element of an array? Etc), did you want to just stop or raise an exception?Does saying what you want really come out to a simple, clean, understandable, one-line, expression?

Maybe I’m biased because I don’t have these operators in my day-to-day language; and also can’t remember hitting this situation. And I can certainly see such operators could be helpful. I’m not a language designer. But from my actual experience, in this case, the juice just isn’t worth the squeeze.

#NullCoalescing #NullChaining #LanguageDesign

Một học sinh trung học đã tạo ra ngôn ngữ lập trình thử nghiệm nhỏ tên Miracl! Hiện tại mới là phiên bản 0.1.0, có thể phân tích và chạy các biểu thức cơ bản. Mọi góp ý đều được hoan nghênh! 😊

#programming #languagedesign #sideproject #Miracl #lậptrình #ngônngữlậptrình #dựán

https://www.reddit.com/r/SideProject/comments/1ovldke/i_created_a_tiny_experimental_programming/

Something I've been noodling with us fitness geeks.

FitLang: A human-readable markup language for defining workout programs and training sessions.

https://fitlanguage.org/

#Fitness #Lifting #LanguageDesign
FitLang - Fitness Program and Tracking Markup Manguage

FitLang is a human-readable markup language for defining workout programs and training sessions.