Paul Bone

Results 129 issues of Paul Bone

Figure a way to pass compiler options through the build tool that make sense to users.

type: enhancement
skill: mercury
meta: triaged
status: new
component: build

A list of strings is used to find filenames for each module. If we process this list once and build a map it'll speed up each module lookup.

skill: mercury
component: compiler
meta: triaged
status: accepted
type: optimisation
component: build

`pragma Name[(Option[=Value][,...])]` Any option/value are accepted provided that: * it does not contain , except within brackets. * All brackets match. `() [] {}` The parser need not recognise `=`...

type: enhancement
skill: mercury
meta: no-domain-knowledge
component: docs
component: compiler
meta: triaged
status: accepted

eg: uint32_t, pid_t, offset_t, uintptr_t, size_t for a C backend. all defined in some c_types module.

type: enhancement
component: types
skill: C++
skill: mercury
component: pz
component: compiler
component: runtime
meta: triaged
status: accepted

Once bytecode is linked into libraries we need a way to manage those libraries, both locally (user directory and system wide) and as some kind of repository. My notes so...

type: enhancement
meta: meta
meta: triaged
status: blocked

* Use `const` and `restrict` to annotate pointers and allow more C-level optimisations. * Registers can be typed as `uintptr_t` then easily cast to const/non-const.

skill: C++
component: runtime
meta: triaged
status: accepted
type: optimisation

There's better ways to represent this with less memory.

skill: C++
component: runtime
meta: triaged
status: accepted
type: optimisation

OO languages allow the syntax: object.method() To invoke a method call, and this is based around field/property access (`.`). Functional languages, and Plasma so far don't have this. But it's...

type: enhancement
skill: mercury
component: compiler
meta: triaged
status: new

The code to name-apart variables within expressions traverses the expression multiple times: I haven't worked out if it's definitly quadratic, if it is it's a technicality but it's still something...

skill: mercury
component: compiler
meta: triaged
type: maintenance
status: blocked

Add support for reallocing memory in the GC.

skill: C++
skill: gc
meta: triaged
status: accepted
type: optimisation
component: gc