Skip to main content

CSharpRepl Brings REPL Superpowers To C#

 REPL, once an inherent property of the interpreted languages, has now found its way into compiled languages too. Tools like CSharpRepl for C# and Jshell for Java make it happen.

A REPL is an interactive programming environment that takes single user inputs, executes them, and returns the result to the user; input (Read), execute the input (Evaluate), return the result to the user (Print), wait for the next input (Loop).

So what's the deal with REPL? It's all about the immediate feedback loop you get; you can enter program elements one at a time, immediately see the result, and make adjustments as needed. You can evaluate anything;variables, code blocks, functions, even define full-fledged classes and use them in the REPL console, always getting instant feedback, or even use C#/Java as a scripting language for testing purposes and running short lived utility scripts.


https://www.i-programmer.info/news/89-net/15883-csharprepl-brings-repl-superpowers-to-c.html

Comments

Popular posts from this blog

Fable - Write Front-end apps for the Web in F#

 How would it sound to be able to write front-end apps for the Web in  functional style and with type safety? Enter Fable, a F# to Javascript compiler with both those in mind. Fable transpiles F# to ES2015 JavaScript so code written in F# can run anywhere JavaScript runs - the browser, Node.js, Electron,React Native or generally V8. Yes of course with Typescript you can have type safety when transpiling to Javascript and since Fable does the same for F#, in terms of performance they should be equivalent. The difference is in the language itself. Although F# is a multi-paradigm language, it's big advantage is its concise syntax which renders it much easier to read and comprehend, and its default properties of immutability, rich types which let you easily represent your data or your domain and powerful pattern matching abilities for defining complex behaviors. full article on i-programmer.info: https://www.i-programmer.info/news/87-web-development/14969-fable-write-front-end-apps-for

pg_ivm - Materialised Views On Steroids

 pg_ivm is an extension module for PostgreSQL 14 that provides an Incremental View Maintenance (IVM) feature.That means that materialized views are updated immediately after a base table is modified. pg_ivm gives answer to the age old problem of when to refresh the materialized view. As a refresher or reminder, a materialized view versus a normal view is that the former keeps a copy of the data referenced to speed up querying since you actually query that copy, while the latter performs a live query every time. That might be great, but not ideal as you have to decide when to refresh that copy in order to avoid querying stale data.Until now in Postgres this could be done when running the command REFRESH MATERIALIZED VIEW. But again, when is the right time to run it, given the performance aspect of the time it takes for the operation to complete? full article on i-programmer: https://www.i-programmer.info/news/84-database/15470-pgivm-postgres-materialised-views-on-steroids.html

Making GraalVM Based Executables Easy with Liberica Native Image Kit

  Liberica Native Image Kit is a utility for making native images for the JVM, letting you compile applications to executables using the GraalVM native-image compiler. As a refresher on what a native image is Native image is the executable binary file that contains your application, all its dependencies, and runtime components, allowing you to run your JVM based program on any supported configuration without the need for installing runtime or any setup. Native image is the easiest way to distribute your program and start it up faster. Native images have several advantages over JVM interpreted applications:  Almost instant startup time Optimized resource consumption and smaller static footprint Does not require JVM for execution  But why go for GraalVM over packaging your app with say Launch4J or javapackager?  full article on i-programmer: https://www.i-programmer.info/news/80-java/15284-making-graalvm-based-executables-easy.html