<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Thanks for the reply.<br>
</p>
<br>
<div class="moz-cite-prefix">On 09/05/2017 05:35 PM, Ronie Salgado
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAH_rT_qgWQgzOpUMNnFPBiGfWcMhmdZcK7bW5Z8k9b4ZgRd=yA@mail.gmail.com">
<div dir="ltr">Hello Jimmie,
<div><br>
</div>
<div>On ESUG I only presented it for the innovation award. There
is no scientific paper on Lowtalk itself yet, because most of
the work on this front end is recently. I am probably
submitting.</div>
<div><br>
</div>
<div>There is still the possibility on changing the syntax and
some of mechanism that are used in Lowtalk, Currently I am
showing what is possible to do.</div>
<div><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span
style="font-size:12.800000190734863px">What do you believe
the best mailing list to list ask questions at some point in
the future?</span></blockquote>
<div> </div>
<div>This is a good question. Currently I do not know. This is
an early work, and there is still a lot more to do. We now
have to discuss about how to proceed. I have to discuss
properly with Eliot about how to keep proceeding. I am reusing
some of his techniques for implementing some parts such as the
stack to context mapping, and immediates objects.</div>
</div>
</blockquote>
<br>
Maybe it is unique enough that it would need its own mailing list at
some point. Unless it became potentially a part of Pharo and thus
suitable for pharo-dev.<br>
<br>
<blockquote type="cite"
cite="mid:CAH_rT_qgWQgzOpUMNnFPBiGfWcMhmdZcK7bW5Z8k9b4ZgRd=yA@mail.gmail.com">
<div dir="ltr">
<div>Lowtalk is currently Pharo only, and it is completely
standalone from the OpenSmalltalk VM. However, I am going to
make a backend for Lowtalk that uses Lowcode to be able to use
it inside the current image environment. Both use cases are
interesting:</div>
<div>- standalone executables for embedding and soft realtime
(videogames).</div>
</div>
</blockquote>
<br>
Would this also be a good way to do mobile, iOS and Android apps?<br>
<br>
<blockquote type="cite"
cite="mid:CAH_rT_qgWQgzOpUMNnFPBiGfWcMhmdZcK7bW5Z8k9b4ZgRd=yA@mail.gmail.com">
<div dir="ltr">
<div>- keeping the current VM and reusing the in-image
environment allows to use the full power of the Pharo/Squeak
environment. In this case, Lowtalk can be used for getting a
performance boost in numerical intensive software loops (e.g:
matrix multiplication, typically an O(n^3) algorithm), without
having to resort to the FFI for calling externally compiled C
code.</div>
</div>
</blockquote>
<br>
I am definitely interested in this. I am interested in arrays of
numbers and doing calculations on those numbers. I was thinking that
I would be needing to code this in C and call from UFFI. I read your
message and I thought that it meant I could code in Lowtalk and then
call the new library via UFFI.<br>
<br>
So, what I understand here is that I can code in Lowtalk for the
Lowcode backend and not require UFFI? At least at some point in the
future. That sounds awesome.<br>
<br>
<blockquote type="cite"
cite="mid:CAH_rT_qgWQgzOpUMNnFPBiGfWcMhmdZcK7bW5Z8k9b4ZgRd=yA@mail.gmail.com">
<div dir="ltr">
<div>I want to use Lowtalk in Woden 2 exactly for the second use
case. Currently in Woden 2 I am using the language described
in the Lowcode paper. Because the type system introduces
dependencies on the compilation order, it does not behave well
with Monticello which I had to patch in Woden 2. With Lowtalk
I am solving that problem by using standard text files, and
multiple semantic analysis passes over the AST to define
circular types lazily. for example:</div>
<div><br>
</div>
<div>Structure named: #LinkedListNode slots: {</div>
<div> #next => (LinkedListNode pointer).</div>
<div> #value => (Void pointer)</div>
<div>}.</div>
</div>
</blockquote>
<br>
Ok. I was confused in my brief look at GitHub as to whether we were
programming in the image on with a text editor.<br>
It would be nice if at some point it could be done from the image.
Even if it is a with a new editor (possible from the new moldable
work) understanding Lowtalk and tools to do compilation.<br>
<br>
Possibilities are interesting.<br>
<br>
Thanks again. I look forward to seeing what happens.<br>
<br>
Jimmie<br>
<br>
<blockquote type="cite"
cite="mid:CAH_rT_qgWQgzOpUMNnFPBiGfWcMhmdZcK7bW5Z8k9b4ZgRd=yA@mail.gmail.com">
<div dir="ltr">
<div>Best regards,</div>
<div>Ronie</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">2017-09-05 17:02 GMT+02:00 Jimmie <span
dir="ltr"><<a href="mailto:jlhouchin@gmail.com"
target="_blank" moz-do-not-send="true">jlhouchin@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Hello Ronie,<br>
<br>
I think this looks very interesting. I just downloaded your
paper to read. I look forward to seeing the video of your
ESUG demonstration.<br>
<br>
What do you believe the best mailing list to list ask
questions at some point in the future?<br>
<br>
Thanks again for your work on this interesting project.<span
class="HOEnZb"><font color="#888888"><br>
<br>
Jimmie</font></span>
<div class="HOEnZb">
<div class="h5"><br>
<br>
<br>
<br>
On 08/30/2017 11:05 AM, Ronie Salgado wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi All,<br>
<br>
I am finally glad to announce an initial version of my
secret experiment, Lowtalk: <a
href="https://github.com/ronsaldo/lowtalk"
rel="noreferrer" target="_blank"
moz-do-not-send="true">https://github.com/ronsaldo/lo<wbr>wtalk</a><br>
<br>
Lowtalk is a new Smalltalk dialect that generates
relocatable binary object code, that can be linked
with any C program or used to generate a standalone
executable with the C linker. I am designing Lowtalk
as a language for video game developing, where
performance and multi-threading support is important.
The Lowtalk compiler is completely written in Pharo.<br>
<br>
The main features of Lowtalk are the following:<br>
- The compiler is actually a meta circular evaluator,
whose features are used for bootstraping the Lowtalk
kernel.<br>
- The Lowtalk object model, including the layout of
the objects is defined in the language itself.<br>
- Direct interface with C. There is an almost 1:1
mapping between the Lowtalk native types and the C
types. There is a syntax extension for calling C
functions.<br>
-Support for real multi-threading.<br>
- The current object model uses automatic reference
counting, which is slow, but makes supporting real
multi-threading easier.<br>
- Immediates are based on the Spur object model.<br>
- Partial support for generating debugging information
in the DWARF standard. It is possible to place
breakpoints and get correct stack traces with gdb.<br>
<br>
Lowtalk is on the line of my work with Lowcode, and I
am planning on making a Lowtalk backend that uses
Lowcode. The Lowtalk type system is almost the same as
the one that I described at the paper: Lowcode:
Extending Pharo with C Types to Improve Performance<br>
<br>
I will make a video later, and a proper demonstration
at ESUG.<br>
<br>
Best regards,<br>
Ronie<br>
</blockquote>
<br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</body>
</html>