Programming language & compiler implementation and design club

8 views
Skip to first unread message

Kai Baker

unread,
Jan 7, 2017, 1:11:36 PM1/7/17
to collexion
Hey folks!

Programming languages and compilers have been a passion of mine since I was 14. I love designing programming languages and I'm currently designing my own lexical analyzer for a clang front end. I'm curious if anyone here would be interested in either a biweekly or once a month meeting to discuss programming language & compiler design and implementation?

The topics of interest to me tend to be very fringe and non-conventional. I love functional programming languages and metaprogramming.  I'm also interested in systems programming and assembly level programming. Compiler optimization and reverse engineering are other topics I would love to discuss.

I like redesigning the wheel from scratch in order to improve my understanding of the concepts. So that means I don't use tools like bison, antlr or flex. An ultimate goal of mine is to re-invent some of the clang optimization and JIT programming magic, if only for academic purposes.

Anyone who is interested in these ideas and goals let me know and I'll organize something. I would like to use the UK campus for these meet ups.

--

Dave

unread,
Jan 7, 2017, 2:26:47 PM1/7/17
to coll...@googlegroups.com
On Sat, 1/7/17, Kai Baker <eigen...@gmail.com> wrote:

> Subject: Programming language & compiler implementation and design club
> To: "collexion" <coll...@googlegroups.com>
> Date: Saturday, January 7, 2017, 1:11 PM
>
> Hey folks!
>
> Programming languages and compilers have been a passion of
> mine since I was 14. I love designing programming languages
> and I'm currently designing my own lexical analyzer for
> a clang front end. I'm curious if anyone here would be
> interested in either a biweekly or once a month meeting to
> discuss programming language & compiler design and
> implementation?

Sounds interesting. I spent 10 years as a developer of a follow-on to
the IBM PL/S compiler:

https://en.wikipedia.org/wiki/IBM_PL/S

The derivatives I worked on were PL/AS and PL/X. Unfortunately, that
was over 20 years ago when I got out of that task, and, even more unfortunately,
most of the details are still classified, and I can't divulge them. I can speak in
generalities (which is about all I remember anyway).

> The topics of interest to me tend to be very
> fringe and non-conventional. I love functional programming
> languages and metaprogramming.  I'm also interested in
> systems programming and assembly level programming. Compiler
> optimization and reverse engineering are other topics I
> would love to discuss.

My specialty in the compiler was the dictionary phase, although I
seem to have picked up responsibility for the scan phase, as well
as the formatter phase. I could sometimes hold my own in the semantics
phase, although I was lost in the weeds in the optimizer phase. I even
dabbled in the code generation and data generation phases.

I also have an interest in other types of programming, although I simply haven't
had the time to do much with them. I've had the idea of a graphical programming
language floating around in my head for about 30 years now, but no time to work on
it (Yeah, sort of similar to logo, but entirely different.).

Ah, yes, systems programming. That's where PL/S really shined. It was designed
for writing operating systems in. One of the features was the ability to drop into
inline assembler code. It also supported features such as multiple address spaces,
and other low-level concepts.

Compiler optimization is a very useful field, although it tends to be somewhat specific
to the processor that the compiler is going to generate code for. Some of it can be
genericized, such as pulling common expressions out of statements, and optimizing
those to registers, or temporary variables, but other aspects, such as peephole
optimization and code reordering, tend to be VERY processor specific.

Reverse engineering can also be interesting. I've worked with a couple of
dis-assemblers, although most tend to produce VERY clunky code. There have
been theories of reverse-compilers, but most of those get bogged down in the
optimization.

If you really want to go to the bleeding edge, consider a (theoretical) microprogrammable
machine, with a customizable instruction set, which a compiler could generate the
microprogramming instructions for, and then use these customized instructions in
the program it generates. No, it would not be trivial. And, it would be the ultimate
of the bleeding edge, at least for now. But, given the new soft-processors that can
be built from FPGA chips, one could design custom processors which could then
be either re-microprogrammed, or dynamically reconfigured on the fly. I don't know
of anyone who has done that, yet, but it certainly ought to be an area of research.

https://en.wikipedia.org/wiki/Soft_microprocessor

> I like redesigning the wheel from scratch in
> order to improve my understanding of the concepts. So that
> means I don't use tools like bison, antlr or flex. An
> ultimate goal of mine is to re-invent some of the clang
> optimization and JIT programming magic, if only for academic purposes.

The compiler I worked on was written in its own language. How's that for
a catch-22 situation? It made for a good way of testing modifications to it.

> Anyone who is interested in these ideas and goals
> let me know and I'll organize something. I would like to
> use the UK campus for these meet ups.

Oh, I'd like to, but that part about the UK campus might be a deal breaker.
I don't do well in high traffic situations, due to a visual impairment, so I try
to stay away from UK. I also don't drive at night.

Dave

Kai Baker

unread,
Jan 7, 2017, 2:42:36 PM1/7/17
to coll...@googlegroups.com
Wow, that's a lot of stuff! I definitely would like to have you in this group. I'm willing to accommodate an alternate location to meet. Do you have any suggestions?

--

You received this message because you are subscribed to the Google Groups "Collexion" group.

To unsubscribe from this group and stop receiving emails from it, send an email to collexion+...@googlegroups.com.

To post to this group, send email to coll...@googlegroups.com.

Visit this group at https://groups.google.com/group/collexion.

For more options, visit https://groups.google.com/d/optout.

Mike Wilson

unread,
Jan 7, 2017, 6:37:48 PM1/7/17
to coll...@googlegroups.com
Hi.  I'm interested.  I have a long-time interest in Scheme and have written a couple toy compilers.

Mike

--
You received this message because you are subscribed to the Google Groups "Collexion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to collexion+unsubscribe@googlegroups.com.

Kai Baker

unread,
Jan 7, 2017, 6:41:02 PM1/7/17
to coll...@googlegroups.com
That's great! I was watching a presentation on YouTube about Julia, presented by one of the developers. He said they use scheme for a lexical analyzer. Also, I recently order a copy of On Lisp. 

On Sat, Jan 7, 2017 at 6:37 PM Mike Wilson <cmike...@gmail.com> wrote:
Hi.  I'm interested.  I have a long-time interest in Scheme and have written a couple toy compilers.

Mike

On Sat, Jan 7, 2017 at 1:11 PM, Kai Baker <eigen...@gmail.com> wrote:
Hey folks!

Programming languages and compilers have been a passion of mine since I was 14. I love designing programming languages and I'm currently designing my own lexical analyzer for a clang front end. I'm curious if anyone here would be interested in either a biweekly or once a month meeting to discuss programming language & compiler design and implementation?

The topics of interest to me tend to be very fringe and non-conventional. I love functional programming languages and metaprogramming.  I'm also interested in systems programming and assembly level programming. Compiler optimization and reverse engineering are other topics I would love to discuss.

I like redesigning the wheel from scratch in order to improve my understanding of the concepts. So that means I don't use tools like bison, antlr or flex. An ultimate goal of mine is to re-invent some of the clang optimization and JIT programming magic, if only for academic purposes.

Anyone who is interested in these ideas and goals let me know and I'll organize something. I would like to use the UK campus for these meet ups.

--










--


You received this message because you are subscribed to the Google Groups "Collexion" group.


To unsubscribe from this group and stop receiving emails from it, send an email to collexion+...@googlegroups.com.



To post to this group, send email to coll...@googlegroups.com.


Visit this group at https://groups.google.com/group/collexion.


For more options, visit https://groups.google.com/d/optout.


--


You received this message because you are subscribed to the Google Groups "Collexion" group.


To unsubscribe from this group and stop receiving emails from it, send an email to collexion+...@googlegroups.com.

Todd Willey

unread,
Jan 8, 2017, 12:38:00 AM1/8/17
to Collexion
I like where this is going.

Did you all see the python -> go transpiler called Grumpy?
https://opensource.googleblog.com/2017/01/grumpy-go-running-python.html

Ben Askren

unread,
Jan 8, 2017, 8:36:39 AM1/8/17
to coll...@googlegroups.com
Way, cool. Todd.

Kai Baker

unread,
Jan 9, 2017, 1:51:41 PM1/9/17
to collexion
So far I have two people interested in this. Since Dave doesn't want to meet at the University, perhaps we can meet at the public library. Is there anyone else interested?

Kai

Way, cool. Todd.

>>>>
>>>>
>>>> To post to this group, send email to coll...@googlegroups.com.
>>>>
>>>>
>>>> Visit this group at https://groups.google.com/group/collexion.
>>>>
>>>>
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>>
>>>
>>> You received this message because you are subscribed to the Google Groups
>>> "Collexion" group.
>>>
>>>
>>> To unsubscribe from this group and stop receiving emails from it, send an

>>>
>>>
>>> To post to this group, send email to coll...@googlegroups.com.
>>>
>>>
>>> Visit this group at https://groups.google.com/group/collexion.
>>>
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Collexion" group.
>> To unsubscribe from this group and stop receiving emails from it, send an

>> To post to this group, send email to coll...@googlegroups.com.
>> Visit this group at https://groups.google.com/group/collexion.
>> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups "Collexion" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to collexion+unsubscribe@googlegroups.com.

> To post to this group, send email to coll...@googlegroups.com.
> Visit this group at https://groups.google.com/group/collexion.
> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Collexion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to collexion+unsubscribe@googlegroups.com.

To post to this group, send email to coll...@googlegroups.com.
Visit this group at https://groups.google.com/group/collexion.
For more options, visit https://groups.google.com/d/optout.



--

Kai Baker

unread,
Jan 9, 2017, 1:57:55 PM1/9/17
to collexion
I find transcompilers to be incredibly fascinating. That's pretty awesome, thanks for sharing!!

Kai


>>>
>>>
>>> To post to this group, send email to coll...@googlegroups.com.
>>>
>>>
>>> Visit this group at https://groups.google.com/group/collexion.
>>>
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>
>>
>>
>>
>>
>>
>>
>>
>> --
>>
>>
>> You received this message because you are subscribed to the Google Groups
>> "Collexion" group.
>>
>>
>> To unsubscribe from this group and stop receiving emails from it, send an

>>
>>
>> To post to this group, send email to coll...@googlegroups.com.
>>
>>
>> Visit this group at https://groups.google.com/group/collexion.
>>
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Collexion" group.
> To unsubscribe from this group and stop receiving emails from it, send an

> To post to this group, send email to coll...@googlegroups.com.
> Visit this group at https://groups.google.com/group/collexion.
> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Collexion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to collexion+unsubscribe@googlegroups.com.

To post to this group, send email to coll...@googlegroups.com.
Visit this group at https://groups.google.com/group/collexion.
For more options, visit https://groups.google.com/d/optout.



--

Aaron Arnett

unread,
Jan 10, 2017, 6:45:06 AM1/10/17
to coll...@googlegroups.com
Consider me interested.

- Aaron

Ben Askren

unread,
Jan 10, 2017, 7:20:17 AM1/10/17
to Les Collexion
Likewise.

To unsubscribe from this group and stop receiving emails from it, send an email to collexion+...@googlegroups.com.

Kai Baker

unread,
May 18, 2017, 11:28:53 AM5/18/17
to collexion
Hey guys,

I haven't forgotten about this. My life has been hectic with school,
work, kids, getting sick, kids getting sick, and more.

I scouted out a place to meet and Southland Perk looks like a good
spot. They said they can leave a space available if we schedule ahead
of time. I was thinking we can meet once a month on a Saturday at
10am. Due to my hectic schedule, that is one of my best times to meet.

An item I would like to share on the first meeting is a copy of the
BLISS specification and BNF grammar W. A. Wulf himself personally
mailed to me. BLISS is designed for PDP computers running specific
word sizes (ie, 36 bit). Modifying it just a little, I would like to
update it for the modern Linux system. Let me all know what you think.

Regards,
Kai

Mike Wilson

unread,
May 18, 2017, 9:40:53 PM5/18/17
to coll...@googlegroups.com
Occasional Saturday mornings?  I can probably do that.

Mike

Kai Baker

unread,
May 24, 2017, 8:12:21 PM5/24/17
to collexion
Cool, I will go ahead and begin scheduling a time then. How does the first Saturday of June sound? I'll need to dig up the document on BLISS that I have. It would be very fun to have another low level programming language like C to choose from. All that is needed is developing a front end in Ocaml and attaching it to LLVM, which can be done no problem. There's even a how-to on that.

--
Reply all
Reply to author
Forward
0 new messages