three-layer VS Essentials-of-Compilation

Compare three-layer vs Essentials-of-Compilation and see what are their differences.

three-layer

:three: :cake: Architecture of the Haskell web applications (by Holmusk)

Essentials-of-Compilation

A book about compiling Racket and Python to x86-64 assembly (by IUCompilerCourse)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
three-layer Essentials-of-Compilation
4 22
301 1,205
0.0% 3.7%
0.0 6.2
about 3 years ago about 1 month ago
Haskell TeX
BSD 3-clause "New" or "Revised" License -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

three-layer

Posts with mentions or reviews of three-layer. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-13.
  • My Module Structure Does Not Feel Haskell-like
    2 projects | /r/haskell | 13 Dec 2022
    I’m working on this pet project for a time now. Initially based on the three-layer repository, it’s now modelled after the Clean Architecture. In my understanding, it’s an OOP variation of the functional “Functional Core, Imperative Shell” approach. As most examples for Clean Architecture are written in C#, my module structure also looks more like a typical C# than Haskell one to me.
  • Advanced programming exercises/apps recommendations to code
    8 projects | /r/haskell | 19 Jan 2022
    I personally use servant whenever i need networking. Altough scotty is easier/simpler, I would start with scotty. Aeson for JSON encoding/decoding. Actually! As i am writing this I would recommend a book (no its not a dry boring book, more of a tutorial) that implements a CI server from scratch. It’s vety descriptive and will show you the haskell ecosystem quite clearly: https://marcosampellegrini.com/simple-haskell-book. Seriously, it’s a damn good book and that’s how i learned haskell! Back to the libraries/ecosystem, if you want to learn how to use an app monad and mtl, these who come to mind: https://github.com/Holmusk/three-layer and https://www.parsonsmatt.org/2018/03/22/three_layer_haskell_cake.html. Under the github repo, check out the App folder to get a notion of how an app monad can be used. Personally I like mtl over monad transformers such as readerT. Best of luck!
  • Looking for opinionated webapp stack
    2 projects | /r/Clojure | 27 Oct 2021
    I usually make web apps in haskell + react, when i started out learning haskell I found it invaluable to find a opinionated stack to learn about the ecosystem and to see "how to get things done". When i was learning haskell I really appreciated an example like: https://github.com/Holmusk/three-layer, essentially a "best practice" web app. Anyone in the clojure(script) community that can recommend some templates/examples to get to know the ecosystem? Since im comfortable with react im assuming clojurescript with re-frame/reagent makes sense for the frontend? So far i've only seen ring/jetty for the backend. To be clear, im not necessarily looking for the "simplest" frameworks but rather something that is highly reliable in production. The backend will expose simple JSON crud with some endpoints being quite computationally heavy (concurrency will be important).
  • Baking metaphors in the imperative/declarative programming debate
    1 project | dev.to | 17 Sep 2021
    In Haskell, Matt Parsons popularised the Three Layer Haskell Cake (2018). Holmusk (well, Kowainik) made this picture to go along:

Essentials-of-Compilation

Posts with mentions or reviews of Essentials-of-Compilation. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-31.
  • Request for comments on my toy lisp implementation.
    2 projects | /r/lisp | 31 Jul 2023
    if you like compilers you should this book out https://github.com/IUCompilerCourse/Essentials-of-Compilation.
  • You and me Anon, you and me
    2 projects | /r/ProgrammerHumor | 8 Jun 2023
    Essentials of compilation by Dr. Siek. There’s a GitHub repo. Just navigate to the releases and you will find a pdf https://github.com/IUCompilerCourse/Essentials-of-Compilation/releases/tag/python-MIT-press. This book is really good and it’s practical. There’s a lot of code and it guides you along the way. So it’s a great book to self study. To supplement this you can buy Engineering a Compiler by cooper. This is more comprehensive but there’s no code in this book, only pseudo code. Start with essentials of compilation my friend. It will teach you everything you need.
  • The dragon compiler book (2nd edition) is a great book
    3 projects | news.ycombinator.com | 1 Jun 2023
    You can try this book if you want something that came out this year https://github.com/IUCompilerCourse/Essentials-of-Compilatio.... Go to the releases to either get the racket version or python version. But I mean cmu uses the dragon book second edition for a graduate level compiler optimization class.
  • Why Learn Compilers
    3 projects | news.ycombinator.com | 29 May 2023
    This paper is my favorite introduction to compilers, it's short and hands-on: http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf

    There is a book-length expansion of this paper that goes into more detail: https://github.com/IUCompilerCourse/Essentials-of-Compilatio...

  • Can we create a thread for some of the best materials on CS available online?
    13 projects | news.ycombinator.com | 26 May 2023
    Introduction to Computing"

    https://dcic-world.org/

    # Programming Language Theory:

    "Programming Languages: Application and Interpretation"

    https://www.plai.org/

    # Compilation:

    "Essentials of Compilation: An Incremental Approach in Python"

    https://github.com/IUCompilerCourse/Essentials-of-Compilatio...

    # Database Systems:

    "CMU: Intro to Database Systems"

    https://15445.courses.cs.cmu.edu/

    "CMU: Advanced Database Systems"

    https://15721.courses.cs.cmu.edu/

    # Calculus I/II & Real Analysis

    "A Course in Calculus and Real Analysis"

    https://link.springer.com/book/10.1007/978-3-030-01400-1

    "A Course in Multivariable Calculus and Analysis"

    https://link.springer.com/book/10.1007/978-1-4419-1621-1

    # Linear Algebra & ML:

    * A Series of books by prof. Joe Suzuki without using any external library for the implementations *

    "Statistical Learning with Math and Python"

    https://link.springer.com/book/10.1007/978-981-15-7877-9

    "Sparse Estimation with Math and Python"

    https://link.springer.com/book/10.1007/978-981-16-1438-5

    "Kernel Methods for Machine Learning with Math and Python"

    https://link.springer.com/book/10.1007/978-981-19-0401-1

    # Discrete Mathematics:

    "CMU 21-228 Discrete Mathematics (prof. Poh-Shen Loh"

    https://www.math.cmu.edu/~ploh/2021-228.shtml

    # Cryptography:

    "Serious Cryptography: A Practical Introduction to Modern Encryption"

    https://nostarch.com/seriouscrypto

    # Problem Solving:

    "Math 235: Mathematical Problem Solving"

    https://www.cip.ifi.lmu.de/~grinberg/t/20f/

  • A Normal Form transformation of syntax tree
    1 project | /r/ProgrammingLanguages | 13 May 2023
    This compiler book explains monadic normal form which it’s anf but not 100 percent because of the difference in how let expressions are represented. https://github.com/IUCompilerCourse/Essentials-of-Compilation
  • As a self taught developer how should I go about getting a job?
    1 project | /r/cscareerquestions | 29 Apr 2023
    I learned to write compilers by reading "Essentials of Compilation." You can find a free pdf in the book's repo https://github.com/IUCompilerCourse/Essentials-of-Compilation/releases/tag/python-MIT-press. The book is published my MIT Press although right now the racket version is out. the python version is coming out soon. the link that I just shared is for the python version. This is a great book . I recommend it
  • Hey guys, have any of you tried creating your own language using Python? I'm interested in giving it a shot and was wondering if anyone has any tips or resources to recommend. Thanks in advance!
    5 projects | /r/ProgrammingLanguages | 22 Apr 2023
    One of the best (free/open source) books for learning how to write a compiler is Essentials of Compilation. It comes in two flavors: Racket and Python. I'm less familiar with the Python version, but it might be what you're looking for.
  • Best book on writing an optimizing compiler (inlining, types, abstract interpretation)?
    8 projects | /r/ProgrammingLanguages | 17 Apr 2023
    Not sure about specifics, but maybe https://github.com/IUCompilerCourse/Essentials-of-Compilation is worth a look?
  • Why you should take a compiler course
    3 projects | /r/programming | 23 Mar 2023
    There are pdfs in the releases section: Python - https://github.com/IUCompilerCourse/Essentials-of-Compilation/releases/download/python-MIT-press/book.pdf

What are some alternatives?

When comparing three-layer and Essentials-of-Compilation you can also consider the following projects:

cake-slayer - 🍰🔪 Architecture of Haskell backend applications

chip8-book - An introduction to Chip-8 emulation using Rust

servant-py - Servant client generators for the Python language

chip8

v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io

urbit-api - talk to your urbit from haskell

Essentials-of-Compilatio

servant-swagger-tags - Swagger Tags for Servant

linear - Low-dimensional linear algebra primitives for Haskell.

servant-benchmark - Generate benchmark files from Servant APIs

ray-tracing - It's taking me longer than one weekend