Skip to content

Instantly share code, notes, and snippets.

View anutosh491's full-sized avatar
🏠
Working from home

Anutosh Bhat anutosh491

🏠
Working from home
View GitHub Profile

Hi All,

I’m Anutosh, a core developer on clang/clang-repl and part of Project Jupyter. Previously I was a member at another LLVM-based Fortran compiler, LFortran .

I had presented the above idea in the previous flang biweekly meeting and was advised to frame a RFC for the same.

Problem Statement

  1. The Fortran ecosystem still lacks a modern, interactive workflow—something equivalent to a REPL or an Interpreter that many other LLVM-based languages now support. This limits rapid prototyping, teaching, exploratory numerical work, and smooth integration with tools like Jupyter.
//===----------------- Wasm.cpp - Wasm Interpreter --------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// This file implements interpreter support for code execution in WebAssembly.
//
@anutosh491
anutosh491 / execution.diff
Created November 15, 2024 07:32
For supporting %%timeit for xeus-cpp
execution.hpp
/************************************************************************************
* Copyright (c) 2023, xeus-cpp contributors *
* Copyright (c) 2023, Johan Mabille, Loic Gouarin, Sylvain Corlay, Wolf Vollprecht *
* *
* Distributed under the terms of the BSD 3-Clause License. *
* *
* The full license is in the file LICENSE, distributed with this software. *
************************************************************************************/
So I've made enough progress and I currently have enough understanding of what's
happening to share it with you. I can't invest more time on this than what I've
already be doing, hopefully this is going to put you on track.
= Why do we have this -isystem /usr/include?
emcmake passes a toolchain file (cmake/Modules/Platform/Emscripten.cmake) to
cmake that informs it about the toolchain. In the process it sets
CMAKE_CROSSCOMPILING=ON.
@anutosh491
anutosh491 / GSoC_2023_Final_Report.md
Last active August 24, 2023 12:53
GSoC_2023_Final_Report
#include <libasr/asr.h>
#include <libasr/containers.h>
#include <libasr/exception.h>
#include <libasr/asr_utils.h>
#include <libasr/asr_verify.h>
#include <libasr/pass/replace_symbolic.h>
#include <libasr/pass/pass_utils.h>
#include <libasr/pass/intrinsic_function_registry.h>
#include <vector>
(TranslationUnit
(SymbolTable
1
{
__main__:
(Module
(SymbolTable
2
{
__main____global_statements: