ãããã¤ã©ãï¼æ¨æ¶ï¼ãé»åã®æµ·ã«æ¼ãã¯ããªã泡沫ï¼ããããï¼ãã¯ãããã¾ã§ãã ã¿ãªãããæ¸ç±ãRubyã§ã¤ããRubyãããåç¥ã§ããï¼Rubyã使ã£ã¦Rubyã®ãµãã»ãããMinRubyãã®ã¤ã³ã¿ããªã¿ãä½ããã¨ã§è¨èªå¦çç³»ä½æã®ã¨ãã»ã³ã¹ãå¦ã¼ãï¼ã¨ããæ¬ã§ãã Rubyã§ã¤ããRuby https://www.lambdanote.com/products/ruby-ruby ä»åã¯ããã®æ¬ã®MinRubyãé¡æã«ãç°¡æãªMinRubyã³ã³ãã¤ã©ãRubyã§ä½æãã¦ã¿ããã¨æãã¾ãã ï¼ãã®è¨äºã¯ ESM Advent Calendar 2023 ã®4æ¥ç®ã®è¨äºã«ãªãã¾ãï¼ Gitãªãã¸ã㪠ä»åä½æããã³ã³ãã¤ã©ã®ã½ã¼ã¹ã¯ãã¡ãã®gitãªãã¸ããªã«ç½®ãã¦ã¾ãã https://github.com/thata/minrubyc-m1 è¨èªä»æ§ã¨ã¿ã¼ã²ããç°å¢ è¨èªä»æ§ MinRu
ã¯ããã« build own xã£ã¦ãªã«ï¼ã¨ããæ¹ãããã£ãããã¨æãã¾ãã ä¸è¨ãã¼ã¸ã«ãããããªèªä½ï½ã¿ãããªãã¤ã®ãã¨ãæãã¦ãã¾ãã èªä½OSã¨ãDBã¨ãã¨ã«ããæ§ã ãªç¨®é¡ããããã§ãããåããã£ã¦ã¿ã¦è¯ãã£ããªãã¨æãããã®ã ãç´¹ä»ãã¾ãã(ä¸é¨ãã£ã¦ãªããã©è¯ããããªã®ãç´¹ä»ãã¾ãã) é£æ度ãæ5ãæé«ã¨ãã¦æ¸ãã¦ããã¾ãã è¨èªã¯æ¥æ¬èª or è±èªã§ãã ã³ã³ãã¤ã© writing interpreter in go å½¢æ :æ¬ è¨èª: æ¥æ¬èªãè±èª ã³ã³ãã¤ã©ç³»ãªãä¸çªåãã«ãããããªã®ã¯ééããªãããã æ¥æ¬èªçã§ã¯ãGoè¨èªã§ã¤ããã¤ã³ã¿ããªã¿ãã¨ããé¡ã§åºçããã¦ãã¾ãã å¤é¨ã«ä¾åããã©ã¤ãã©ãªãä¸å使ããªãã®ãç¹å¾´ã§ã¹ã¯ã©ããã§æ¸ãã¾ãã èªãå£èª¿ãå¹³æã§ãããããããã³ã³ãã¤ã©ï¼ã¤ã³ã¿ã¼ããªã¿ï¼ã¨ããæ¹ã«ãããããã Monkeyã¨ããè¨èªãå®è£ ããã®ã§ãããæ¢
In modern times, everyone knows that writing assembly is a fool's errand: compilers are the result of literal engineer-centuries of work, and they know the processor much better than you do. And yet â one hears rumors. Written in ancient tomes, muttered in quiet watering holes, scrawled on the walls of bygone temples, hinted at by mysterious texts; the rumors paint a specific picture: Compilers ar
ã¯ããã« çããã¯ããã°ã©ãã³ã°è¨èªãä½ã£ããã¨ãããã§ããããï¼ ãããã大æµã®æ¹ã¯ããªããã¨ããã®ãæ£ç´ãªã¨ãããªã®ã§ã¯ãªããã¨æãã¾ããèæ¯ã«ã¯ããããããããã°ã©ãã³ã°è¨èªãä½ãã£ã¦é£ããããã¨ããå å ¥è¦³ãããã®ã§ã¯ã¨çè ã¯è¸ãã§ãã¾ãã ããã°ã©ãã³ã°è¨èªã¨ã¯ãã³ã³ãã¥ã¼ã¿ã¼ã«æ示ãä¸ããããã®ç¹å¥ãªè¨èªã§ããç§ãã¡ãæ¥å¸¸ã§ä½¿ãè¨èªã¨åãããã«ãããã°ã©ãã³ã°è¨èªã«ãææ³ãã«ã¼ã«ãããã¾ããããã¦ããã®è¨èªãç解ãå®è¡ããã®ããå¦çç³»ãã¨å¼ã°ããããã°ã©ã ã§ãã ããããå®ã¯ããã°ã©ãã³ã°è¨èªã®å¦çç³»ï¼ã¤ã³ã¿ããªã¿ï¼ãä½ããã¨ã¯é常ã«ç°¡åãªãã¨ã§ããå°ããªOSãä½ããã¨ã«æ¯ã¹ã¦ããã¡ããã¨åãWebãµã¼ãã¹ãä½ããã¨ã«æ¯ã¹ã¦ãæ¬å½ã«ç°¡åã§ãã ã¨ããããã§ããã®è¨äºã§ã¯ãããã°ã©ãã³ã°è¨èªããä½ãããã®å°å ¥ã¨ãã¦ãæ°å¼è¨èªãã®ã¤ã³ã¿ããªã¿ãä½ã£ã¦ã¿ã¾ããæ°å¼è¨èªã¨ã¯ãæ°å¦ã®å¼ãæ±
A few months ago, I set myself the challenge of writing a C compiler in 500 lines of Python1, after writing my SDF donut post. How hard could it be? The answer was, pretty hard, even when dropping quite a few features. But it was also pretty interesting, and the result is surprisingly functional and not too hard to understand! There's too much code for me to comprehensively cover in a single blog
The prototypical compilers textbook is: 600 pages on parsing theory. Three pages of type-checking a first-order type system like C. Zero pages on storing and checking the correctness of declarations (the âsymbol tableâ). Zero pages on the compilation model, and efficiently implementing separate compilation. 450 pages on optimization and code generation. The standard academic literature is most use
Over the course of my Spring 2020 semester at Harvey Mudd College, I developed a self-hosting compiler entirely from scratch. This article walks through many interesting parts of the project. Itâs laid out so you can just read from beginning to end, but if youâre more interested in a particular topic, feel free to jump there. Or, take a look at the project on GitHub. Table of contents What the pro
Forth is perhaps the tiniest possible useful interactive programming language. It is tiny along a number of dimensions: The amount of code required to implement it The size of the code that is generated The amount of memory used The number of features it considers necessary for useful work It is a language that makes complexity painful, but which reveals that a surprising amount can be accomplishe
Introduction I often work with clients who have large âdata lakesâ or big star schema style enterprise databases with fact and dimension tables as far as the eye can see. Invariably said clients end up with a substantial SQL codebase composed of hundreds of independent queries with lots of overlap between them. I want to be able to treat SQL repositories like Iâd treat other codebases. That is, Iâ
26 programming languages in 25 days, Part 1: Strategy, tactics and logistics Since making a sudden leap from computer science to academic medicine about seven years ago, I havenât programmed as much. I love what I do in medicine and biology, and I love helping patients. But, I have missed programming â and programming languages. Then I came across the Advent of Code on Mastodon â a series of daily
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}