Jump to content

  • Log In with Google      Sign In   
  • Create Account

The Bag of Holding

Rewrite ALL the things!

Posted by ApochPiQ, 23 October 2014 · 171 views
OK so I'm not really rewriting everything ... just... a lot of it.

The current runtime infrastructure for Epoch is precarious at best, and desperately needs some improvements. There are a number of things I want to do that all happen to coincide nicely with a desire to rewrite the runtime system:
Destroy the EpochLibrary DLL forever. This is an ancient c...

Slimming down the Epoch runtime and improving program start times

Posted by ApochPiQ, 18 October 2014 · 222 views
Right now a big limitation of the Epoch program execution model is the fact that .EXEs generated by the compiler are not in fact native binaries. They are compact bytecode wrapped in a thin shim that churns said bytecode through an LLVM wrapper layer each time the program is launched. This means that every single time you start an Epoch program, it is bas...

Epoch Mailing List

Posted by ApochPiQ, 13 October 2014 · 228 views
I've spun up a mailing list for the Epoch project, mostly because I'm tired of having conversations about it span half a dozen websites and PMs and blah blah.

Here's the link: clicky . Or you can email epoch-language@googlegroups.com to accomplish the same thing.

It should be open to anyone to come and talk about the language or just ask questions. I'll...

Three toads and the spit of a badger

Posted by ApochPiQ, 13 October 2014 · 207 views
So Epoch has a couple of warts that I'm looking at smoothing out. One of them has to do with overloads that do type decomposition of algebraic sum types:

//// How things look today//type Optional<type T> : T | nothingTest : integer x{ print(cast(string, x))}Test : nothing{ print("Nothing")}entrypoint :{ Optional<integer> exists =...

Watching syntax evolve

Posted by ApochPiQ, 08 October 2014 · 312 views
I'm still thinking a lot about the question of task syntax in Epoch. The more I contemplate the matter, the less I like the idea of having tasks be overloaded as the "only" way to do namespacing. I also don't like the idea of static methods/data very much.

I still really like keeping tasks as the single mechanism for packaging functionality with data. I...

Epoch Release 15 is now available

Posted by ApochPiQ, 06 October 2014 · 261 views
Release notes .

I didn't get a ton of votes, but all the votes I got were for doing a release sooner rather than later. So here you go, with all the warts and incomplete stuff.

This is mostly a milestone preview for those (few) of you who are really watching the project; think of it as a sneak peek more than a stable development platform. Even still, y...

Plodding ever onward

Posted by ApochPiQ, 05 October 2014 · 248 views
I've begun the mammoth task of refitting the Epoch compiler to believe in namespaces.

Up until now, all names have been global, and all named entities have existed as peers in the global space. (The exception of course being local variables and function parameters/return slots.)

So far, I've moved algebraic sum types and scope metadata to be tracked in...

Spaces for all the things, and everything in its space

Posted by ApochPiQ, 28 September 2014 · 196 views
So Epoch has managed to self-host (as of an embarrassingly long time ago) and the Era IDE is slowly turning into something actually worth using. Over the past few days I got a rudimentary symbol lookup feature done, where you can press F11 to process a project and F12 with the text caret over a symbol to jump immediately to the definition of the symbol. T...

Playing with colors!

Posted by ApochPiQ, 22 September 2014 · 187 views
Been playing around with a dark theme for Era:

Syntax highlighting still needs some love, but it's getting there.

Note that the IDE now highlights structure type names and function names. This is currently activated by pressing F12, which triggers a parse of the entire project. The parse stores off relevant identifiers for use in syntax highlighting...

Argh, bitrot.

Posted by ApochPiQ, 19 September 2014 · 281 views
Turns out that leaving a project alone for six months is a great way to discover that it's full of mysterious bugs you don't remember having.

I noticed some weird behavior with Era, the Epoch IDE, earlier this evening, and started poking around looking for explanations. It turns out that in some weird combination of circumstances, the Epoch program (Era...

October 2014 »

192021222324 25

Recent Comments