Why Use Pascal?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • FreePascal

    FreePascal grammar, lexer, parser and code browser

  • > Thanks for the hints. I was already concerned that I would have to analyze the source code directly myself, and so I started to build tools for this purpose (https://github.com/rochus-keller/FreePascal).

    FWIW you may want to check out the fcl-passrc package[0] which provides units for scanning and creating a syntax tree from FPC source code, including some helpers like resolving references.

    It is used by the fpdoc documentation generator and the pas2js transpiler that converts Free Pascal source code to JavaScript, both official FPC projects. fcl-passrc is itself part of Free Pascal.

    > I read somewhere that there are issues with higher optimization levels. Can you confirm that?

    AFAIK the main issue is that -O4 enables some optimizations that may break code that relies on things like having the exact same math output as non-optimized versions as it enables FASTMATH, code that relies on classes having specific field order (technically class field order is not guaranteed to remain the same) since -O4 enables reordering the fields to remove unnecessary padding and code that depends on runtime errors or exceptions being thrown from code that the compiler (in -O4) decided it has not explicit side effects and removed it.

    These are not "issues" per-se but Lazarus labels -O4 as having "aggressive optimizations, beware" which might give a false impression.

    Aside from that there might be bugs, but that is the case with any compiler.

    [0] https://wiki.freepascal.org/fcl-passrc

  • austral

    Systems language with linear types and capability-based security.

  • For the first couple of items on the list, Austral might be a language worth considering:

    https://austral-lang.org

    It's new so it obviously doesn't have the community of libraries to use, but it does have a very friendly and accessible Pascal-like syntax, while also having a state of the art linear type system.

  • 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.

    InfluxDB logo
  • Oberon

    Oberon parser, code model & browser, compiler and IDE with debugger

  • freeship-plus-in-lazarus

    FreeShip Plus in Lazarus

  • > Many people using Delphi back in the day will probably already know Lazarus

    If there is someone who interested in Lazarus, Qt and 2D/3D CAD software, here is an opensource boat (not only) design & simulation software project which was rewritten from Delphi.[0,1,2]

    [0] https://github.com/markmal/freeship-plus-in-lazarus

    [1] http://web.archive.org/web/20160128212152/http://hydronship....

    [2] https://sourceforge.net/projects/freeship

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts