Hacker News

New stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. A Quick Guide on Creating a Design System (andrewcoyle.com)
    —discuss
  2. Free Space Bunny Model playground, no signup (spacebunnymodel.com)
    1comments
  3. Locked out: Why young Europeans can't afford to buy homes (euronews.com)
    —discuss
  4. Washington Challenges Brussels' Authority over X (reclaimthenet.org)
    —discuss
  5. Five Million Robots Now Operate in Factories Globally (ifr.org)
    —discuss
  6. Advice to a Beginning Software Engineer (seangoedecke.com)
    —discuss
  7. SpaceX Pivots Away from Space (ft.com)
    1comments
  8. Diagnosing and Mitigating Tool-Call Repetition in MiMo-v2.6 (xiaomi.com)
    —discuss
  9. 3D necroprinting: Leveraging biotic material as the nozzle for 3D printing (science.org)
    —discuss
  10. How many strings can you create per second? (lemire.me)
    —discuss
  11. VevDB (vevdb.com)
    1comments
  12. Show HN: Vanish moves heavy computation off your laptop (vanishcompute.com)
    1comments
  13. Machine Learning Systems (mlsysbook.ai)
    —discuss
  14. Eyes on Asteroids (NASA) (nasa.gov)
    —discuss
  15. My Ansible Plugin Had a Jail Escape: CVE-2026-55074 (hofstede.it)
    —discuss
  16. Why Retail Stores are closing across America in 2026 (youtube.com)
    —discuss
  17. George Hotz’s opinion on AI coding (twitter.com/__tinygrad__)
    2comments
  18. Save Your Time with These Agentic RAG Patterns (medium.com/zikozero011)
    1comments
  19. Thieves steal Nvidia-labeled trailers – yields 20 tons of sand (tomshardware.com)
    —discuss
  20. AI Has Cracked the Most Diabolical Problems in Math. Why Can't It Solve Chess? (wsj.com)
    2comments
  21. Show HN: ShotCandy – Turn any screenshot into a beautiful share-ready image (github.com/btahir)
    —discuss
  22. Latency reduction for consumer facing AI applications
    —discuss
  23. Show HN: InkVec Studio – In-browser, SOTA, WASM based (rust) vectorizer (hf.space)
    —discuss
  24. Fundamentals still worth learning when AI writes the code (flaviocopes.com)
    —discuss
  25. A thesis isn't enough for a PhD (lemire.me)
    —discuss
  26. How fast can you fix a UTF-16 string in C#? (lemire.me)
    —discuss
  27. NAND-16: a computer built from 277,248 NAND gates (somethingbig.ai)
    —discuss
  28. T3rnel Browser – DevTools you can talk to, and a browser your AI can drive (t3ratech.github.io)
    —discuss
  29. Neo – Hugh Howey (hughhowey.com)
    1comments
  30. Show HN: Jev-Like Model Learns to Cook (rlafuente.com)
    —discuss

A Programmable Programming Language (2018)

5 pointsby 52m agocacm.acm.org
1 comments
52m agoHN ↗

In the ideal world, software developers would analyze each problem in the language of its domain and then articulate solutions in matching terms. They could thus easily communicate with domain experts and separate problem-specific ideas from the details of general-purpose languages and specific program design decisions.

In the real world, however, programmers use a mainstream programming language someone else picked for them. To address this conflict, they resort to—and on occasion build their own—domain-specific languages embedded in the chosen language (embedded domain-specific languages, or eDSLs). For example, JavaScript programmers employ jQuery for interacting with the Document Object Model and React for dealing with events and concurrency. As developers solve their problems in appropriate eDSLs, they compose these solutions into one system; that is, they effectively write multilingual software in a common host language.

Sadly, multilingual eDSL programming is done today on an ad hoc basis and is rather cumbersome. To create and deploy a language, programmers usually must step outside the chosen language to set up configuration files and run compilation tools and link-in the resulting object-code files. Worse, the host languages fail to support the proper and sound integration of components in different eDSLs. Moreover, most available integrated development environments (IDEs) do not even understand eDSLs or perceive the presence of code written in eDSLs.

The goal of the Racket project is to explore this emerging idea of language-oriented programming, or LOP, at two different levels. At the practical level, the goal is to build a programming language that enables language-oriented software design. This language must facilitate easy creation of eDSLs, immediate development of components in these newly created languages, and integration of components in distinct eDSLs; Racket is available at http://racket-lang.org/