HN user

BruceM

3,597 karma

Working on Open Dylan (http://opendylan.org/) among other things.

Posts66
Comments194
View on HN
arxiv.org 7y ago

DeepSDF: Learning Continuous Signed Distance Functions for Shape Representation

BruceM
2pts0
github.com 10y ago

IBM / Eclipse open sources OMR, language runtime technology

BruceM
5pts0
github.com 10y ago

Cothority: Scalable collective authority prototype

BruceM
11pts0
sel4.systems 10y ago

SeL4 2.0 release notes

BruceM
26pts1
code.visualstudio.com 10y ago

Visual Studio Code is now open source

BruceM
1325pts391
queue.acm.org 11y ago

Crash Consistency: Rethinking the Fundamental Abstractions of the File System

BruceM
36pts5
waywardmonkeys.org 11y ago

Rich Command Shells

BruceM
187pts98
www.bbc.co.uk 11y ago

BBC Things: A single reference for things that matter to the BBC and audiences

BruceM
37pts9
github.com 11y ago

CppCon2014 Presentations

BruceM
55pts10
projects.propublica.org 11y ago

Losing Ground: Louisiana Is Drowning, Quickly

BruceM
5pts0
dylanfoundry.org 11y ago

An Overview of the Dylan Type System

BruceM
71pts8
www.knightfoundation.org 12y ago

19 projects win Knight News Challenge on strengthening the Internet

BruceM
2pts0
lispm.de 12y ago

Ergonomics of the Symbolics Lisp Machine

BruceM
179pts91
www.aljazeera.com 12y ago

Guinea worm: Close to eradication? [video]

BruceM
17pts14
opendylan.org 12y ago

Open Dylan's Call for Help

BruceM
92pts46
llvmweekly.org 12y ago

LLVM Weekly #3

BruceM
2pts0
opendylan.org 12y ago

Open Dylan 2013.2 Released

BruceM
11pts0
blogs.apache.org 12y ago

The ASF's Position on Oracle's TCK License

BruceM
1pts0
www.mondaynote.com 12y ago

The not-so-quaint charm of the email newsletter

BruceM
1pts0
dylanfoundry.org 12y ago

Thoughts on a New Dylan Ecosystem

BruceM
74pts16
www.rollingstone.com 12y ago

The A-Team Killings

BruceM
2pts0
groups.google.com 12y ago

Snabb Switch and Terastream

BruceM
1pts0
www.businessinsider.com 12y ago

Tom Clancy has died

BruceM
214pts85
www.aljazeera.com 12y ago

Building Blood

BruceM
2pts0
www.gwu.edu 12y ago

National Security Archive: The Secret History of the U-2

BruceM
1pts0
opendylan.org 12y ago

Bringing back OpenDylan's DUIM/Gtk

BruceM
4pts0
www.niemanlab.org 12y ago

How to turn everyone in your newsroom into a graphics editor

BruceM
3pts0
opendylan.org 13y ago

Open Dylan 2013.1 released

BruceM
87pts26
www.aljazeera.com 13y ago

Pakistan's bin Laden Dossier

BruceM
1pts0
opendylan.org 13y ago

Dylan Hack-a-thon: July 13-14, 2013

BruceM
30pts3

https://link.springer.com/article/10.1007/s41024-016-0010-9 is a pretty nice discussion of concrete carbonation as well.

It is also worth pointing out that the GP's comment was showing the chemistry for a lime-based concrete. OPC (Ordinary Portland Cement) based concrete is substantially different in terms of the chemistry and the amount of energy involved in the manufacturing process (due to the increased amount of energy involved in producing the clinker).

Yes... but another advantage here of lime over Portland cement is that the cooking of the limestone doesn’t require as much heat as the cooking of Portland cement. It won’t be carbon neutral, but it is a big improvement.

It is too bad more isn't done with lime mortars and plasters. Hydrated lime (CaO + H20 => Ca(OH)2) reacts with CO2 to form CaCO3 + H20. And it is fun to work with ...

I wrote that on the Atom forums ... that's the editor in Open Dylan, which used to be Harlequin Dylan (and was Functional Developer after Harlequin folded and before being open sourced).

I had parts of Deuce up and running as a terminal-based editor at some point. Well, I didn't do input which is clearly a very important thing ... but I'd made good progress on the output side of things. :)

Open Dylan 11 years ago

We would welcome help from fresh eyes on improving that sort of material on the website.

Open Dylan 11 years ago

Also, I need to get back to using your LittleLogs! I sort of traveled a few times too many last year and in the process, fell out of the habit. I will set a reminder to start it again once I'm back home on the other side of the world.

Open Dylan 11 years ago

Maybe? (I'm going to leave where I am shortly on a 6+ hour drive. I'm on holiday in the US for another several days.)

I was talking with someone else last night that has worked on and with Dylan for the last 20 years or so over dinner.

He commented "I'm sometimes afraid to use Dylan as I don't know if someone will be supporting the compiler." I replied that "I'm afraid to support the compiler sometimes as maybe no one will use it."

That said, I've put some years of effort into it and have been actively maintaining the compiler for a while now. Now I'm building up libraries that I need for my green field project and working on some language changes to support that.

I'm now working on a 2-5 year time frame.

That said, if we got another like-minded hacker out of any attention, I'd fall over from joy. We have so many things that we need help with, especially things like type system work, but also plenty of easier things.

Open Dylan 11 years ago

I do a lot of the work on and with Open Dylan.

So, why?

Rather than point to any particular language feature or design aspect of the language (which are what originally drew me to Dylan), the thing that keeps me there now is that it is a green field.

If one has newer or different ideas about how things could be done or structured, this can't really be introduced coherently and consistently across a language ecosystem that is already big. I think Node did well at the start in part due to being able to build everything new with non-blocking I/O in mind. That's unlike the use of Twisted in Python which had a number of caveats when working the standard library (and now there are a number of other non-blocking I/O libraries).

The other side is that I do it because I enjoy it and we're building something good.

We do have some good language features (like multiple dispatch as someone else has mentioned), we have some pretty good documentation, our upcoming LLVM compiler back-end is generating good code, we have a good debugging story.

People start languages all the time. I find it best to just pretend that Dylan isn't an old language, but something new that is being created on the grave of Open Dylan. We're working on changes to the type system, the compiler, the libraries, and soon, I'll be starting in on some stuff that takes advantage of our green field status. We just didn't go and start a new language from scratch, but decided to build upon the massive amount of work and design that went into Old-Dylan.

In Open Dylan (http://opendylan.org/), we have a library of our own written in Dylan that lets us write out LLVM IR in binary files. We have to update it as LLVM changes, but that typically isn't all that bad.

We have some macros and a bunch of functions then that make emitting LLVM IR simpler. For example, the "ins--iterate" and "ins--if" / "ins--else" macros in this code handle phi nodes and so on:

https://github.com/dylan-lang/opendylan/blob/05271f6fec9da05...

This library is currently in the process of being updated from LLVM 3.5 to current HEAD as debug info has changed significantly upstream. After that, we will be landing some documentation for it as well.

If you're interested in learning or hearing more about this, we're typically around on #dylan on freenode IRC.

Dylan (http://opendylan.org/) does that via generic functions / multiple dispatch. The object system in Dylan is derived from CLOS from Common Lisp.

Dylan allows sealing of generic functions to limit extensibility where needed and can use that information (along with other information) to optimize, generate warnings, etc.

    define class <weapon> (<object>) end;
    define class <sword> (<weapon>) end;
    define class <wand> (<weapon>) end;

    define class <person> (<object>) end;
    define class <wizard> (<person>) end;
    define class <warrior> (<person>) end;

    define method wield (who :: <wizard>, what :: <wand>) => ()
      ...
    end;

    define method wield (who :: <warrior>, what :: <sword>) => ()
      ...
    end;

Dylan changed a lot after the early Newton days. The language changed a lot, but so did the execution environment. That evolution continues today as we're now working on moving to an LLVM-based compiler back-end over at http://opendylan.org/ (or chat with us in #dylan on Freenode).

I was looking at Strongtalk the other day for the first time in some years.

Unfortunately, it isn't clear at all where to best obtain the sources.

Since Google Code is going read-only soon, it would be nice to have a canonical location outside of there.

In 2010, there was a post on the mailing list:

https://groups.google.com/forum/#!topic/strongtalk-general/S...

But that GitHub repo has been idle since 2010:

https://github.com/talksmall/Strongtalk

It seems other people have also tried exporting from Google Code to GitHub as well:

https://github.com/szKarlen/strongtalk https://github.com/rvedam/strongtalk https://github.com/rmacnak/strongtalk https://github.com/Michaelangel007/strongtalk https://github.com/DmitryVSkiba/strongtalk https://github.com/emanuelpeg/strongtalk https://github.com/liutanyu/strongtalk

At that point, I got distracted and moved on to something else of interest at the time.

We talk sometimes about having an additional reader to support another syntax ... but so far, it isn't something where someone's actually volunteered to step up and help. It'd be interesting to play with some ideas from David Moon's PLOT as well ...