profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/PaulBone/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Paul Bone PaulBone @mozilla Melbourne, Australia http://paul.bone.id.au Mozilla engineer, @PlasmaLang author. Interested in programming language implementation (compilers and runtimes) and parallelism.

PlasmaLang/plasma 145

Plasma Programming Language

proglangdesign/proglangdesign.github.io 67

A website for the #proglangdesign community on freenode

PaulBone/ast2wasm 9

AST to WebAssembly

PaulBone/mfcgi 6

Fast CGI binding for Mercury

PaulBone/protobuf-mercury 5

Google protocol buffers for Mercury

PaulBone/mclibs 3

Open Source Mercury libraries by Mission Critical IT

PaulBone/pbone_thesis 2

My Ph.D. Thesis

PaulBone/arc 1

How to draw an arc

PaulBone/mercury 1

The Mercury logic programming system.

PaulBone/moz-utils 1

Utilities for working at Mozilla

issue openedPlasmaLang/plasma

Let foregin code refer to existing C symbols

created time in 8 minutes

issue openedPlasmaLang/plasma

FFI support in C code

Probably do this via macros. but something so that developers won't need so much boilerplate.

created time in 8 minutes

push eventPaulBone/plasma

Paul Bone

commit sha 727e82120f35c820a87e18f95217ffca375ddc48

[compiler/core] Literal single character strings may be code points A string literal whose length is 1 may be interpreted as either a string or a code point.

view details

Paul Bone

commit sha 6a85df7d48e1e72312ea2b6ce770d326672d66c1

[compiler/pz] Code generation for literal codepoints Also don't generate constant strings for literal codepoints.

view details

Paul Bone

commit sha 15421415062a4dd935b15122e7a419f4e26bd97c

[compiler,rt] Add two codepoint builtins Add and implement * int_to_codepoint (an inline PZ builtin) * codepoint_to_string (a runtime builtin)

view details

Paul Bone

commit sha 4e90ff619be46d6ebb9dae57e3d5470aa2462886

[test] Start adding an example for the string types

view details

Paul Bone

commit sha c92d7b4b2945839a9ab34b40443118fb812fdc3f

[rt] Remove a misplaced comment

view details

Paul Bone

commit sha 3389d731d3357107c5788560f296a5641443546d

[rt] Rename char/uint32_t to CodePoint32 in the runtime

view details

Paul Bone

commit sha 4585842c57290ad81f8f462200f5f796e34015e7

[docs] Move some utility code into new modules

view details

Paul Bone

commit sha f36a891368c83165fbd1a998317185409df6be8d

[compiler] Rename Char to CodePoint in the language

view details

Paul Bone

commit sha 2a1507d72379e8832f5219c7d2a029245a187262

[compiler] Setup builtin type names in a loop

view details

Paul Bone

commit sha 7f56de8697153bc661f9544273a3df65bb423187

[compiler] Rename char_class to codepoint_category

view details

Paul Bone

commit sha eea810b642418df19fd21d0aba80e663d79bdffb

[compiler] Rename the CharClass type to CodepointCategory

view details

Paul Bone

commit sha 828c819ca3414eac048d31a88b3110d4eb7e1139

[tests] Add the types example as a test Everything we can compile in the examples/ directory is now part of the test suite

view details

Paul Bone

commit sha 3265647e7f25de42d21f192634d70ccdf744bfbe

[merge] Add a codepoint data type Start adding a codepoint data type. This is incomplete work for #368 * str: [compiler] Rename the CharClass type to CodepointCategory [compiler] Rename char_class to codepoint_category [compiler] Setup builtin type names in a loop [compiler] Rename Char to CodePoint in the language [docs] Move some utility code into new modules [rt] Rename char/uint32_t to CodePoint32 in the runtime [rt] Remove a misplaced comment [test] Start adding an example for the string types [compiler,rt] Add two codepoint builtins [compiler/pz] Code generation for literal codepoints [compiler/core] Literal single character strings may be code points

view details

push time in 14 hours

issue openedPlasmaLang/plasma

Oranise tests by what they test

Organise tests into directories based on what component they test, rather than how the test is implemented (eg valid/invalid).

created time in 14 hours

push eventPlasmaLang/vim

Paul Bone

commit sha fa0dcf83c496b34db22e255a2cfec3bd3ee97812

Highlight "CodePoint" as a built-in type.

view details

push time in 15 hours

push eventPlasmaLang/plasma

Paul Bone

commit sha 727e82120f35c820a87e18f95217ffca375ddc48

[compiler/core] Literal single character strings may be code points A string literal whose length is 1 may be interpreted as either a string or a code point.

view details

Paul Bone

commit sha 6a85df7d48e1e72312ea2b6ce770d326672d66c1

[compiler/pz] Code generation for literal codepoints Also don't generate constant strings for literal codepoints.

view details

Paul Bone

commit sha 15421415062a4dd935b15122e7a419f4e26bd97c

[compiler,rt] Add two codepoint builtins Add and implement * int_to_codepoint (an inline PZ builtin) * codepoint_to_string (a runtime builtin)

view details

Paul Bone

commit sha 4e90ff619be46d6ebb9dae57e3d5470aa2462886

[test] Start adding an example for the string types

view details

Paul Bone

commit sha c92d7b4b2945839a9ab34b40443118fb812fdc3f

[rt] Remove a misplaced comment

view details

Paul Bone

commit sha 3389d731d3357107c5788560f296a5641443546d

[rt] Rename char/uint32_t to CodePoint32 in the runtime

view details

Paul Bone

commit sha 4585842c57290ad81f8f462200f5f796e34015e7

[docs] Move some utility code into new modules

view details

Paul Bone

commit sha f36a891368c83165fbd1a998317185409df6be8d

[compiler] Rename Char to CodePoint in the language

view details

Paul Bone

commit sha 2a1507d72379e8832f5219c7d2a029245a187262

[compiler] Setup builtin type names in a loop

view details

Paul Bone

commit sha 7f56de8697153bc661f9544273a3df65bb423187

[compiler] Rename char_class to codepoint_category

view details

Paul Bone

commit sha eea810b642418df19fd21d0aba80e663d79bdffb

[compiler] Rename the CharClass type to CodepointCategory

view details

Paul Bone

commit sha 3265647e7f25de42d21f192634d70ccdf744bfbe

[merge] Add a codepoint data type Start adding a codepoint data type. This is incomplete work for #368 * str: [compiler] Rename the CharClass type to CodepointCategory [compiler] Rename char_class to codepoint_category [compiler] Setup builtin type names in a loop [compiler] Rename Char to CodePoint in the language [docs] Move some utility code into new modules [rt] Rename char/uint32_t to CodePoint32 in the runtime [rt] Remove a misplaced comment [test] Start adding an example for the string types [compiler,rt] Add two codepoint builtins [compiler/pz] Code generation for literal codepoints [compiler/core] Literal single character strings may be code points

view details

push time in 15 hours

push eventPlasmaLang/plasma

Paul Bone

commit sha 828c819ca3414eac048d31a88b3110d4eb7e1139

[tests] Add the types example as a test Everything we can compile in the examples/ directory is now part of the test suite

view details

push time in 15 hours

issue openedPlasmaLang/plasma

Add IO error type (ok, error, eof)

readline should use some kind of IO result to help it find EOF.

created time in 2 days

push eventPlasmaLang/plasma

Paul Bone

commit sha 7f56de8697153bc661f9544273a3df65bb423187

[compiler] Rename char_class to codepoint_category

view details

Paul Bone

commit sha eea810b642418df19fd21d0aba80e663d79bdffb

[compiler] Rename the CharClass type to CodepointCategory

view details

push time in 2 days

push eventPlasmaLang/plasma

Paul Bone

commit sha 2a1507d72379e8832f5219c7d2a029245a187262

[compiler] Setup builtin type names in a loop

view details

push time in 4 days

push eventPlasmaLang/plasma

Paul Bone

commit sha c92d7b4b2945839a9ab34b40443118fb812fdc3f

[rt] Remove a misplaced comment

view details

Paul Bone

commit sha 3389d731d3357107c5788560f296a5641443546d

[rt] Rename char/uint32_t to CodePoint32 in the runtime

view details

Paul Bone

commit sha 4585842c57290ad81f8f462200f5f796e34015e7

[docs] Move some utility code into new modules

view details

Paul Bone

commit sha f36a891368c83165fbd1a998317185409df6be8d

[compiler] Rename Char to CodePoint in the language

view details

push time in 5 days

create barnchPlasmaLang/plasma

branch : str

created branch time in 7 days

issue commentPlasmaLang/plasma

Recongise that `die()` doesn't fall-through

The best way to do this is to attach a "does not return" flag to some functions, possibly witha pragma, then it can be used later for exception throwing code.

PaulBone

comment created time in 12 days

push eventPaulBone/plasma

Paul Bone

commit sha 9ed97d99010bb3adcef072804475f9c7159890c3

[pz] Fix some code formatting

view details

Paul Bone

commit sha 535325cb001732e0a7e593b2265ca385d44391d8

[pz] Add a comment

view details

Paul Bone

commit sha 8c2582aa2b0a0b6d7b88bc9aa1abdde9d2bb7cba

[rt] Fix and add comments in string implementation

view details

Paul Bone

commit sha 4d9273b65a750d3bf7fbfaf5b2fdeb6b330547ac

[pz] Support non null-terminated strings That is, PZ files may have a null byte at the end of their strings (included in the length) or not.

view details

Paul Bone

commit sha 2497d54580472b102082f9008646757b2d86732b

[tests] Remove null terminating bytes from PZT tests

view details

Paul Bone

commit sha b9009882dd613eb014d3cc3ad29121d10ec59868

[pz] Don't encode a null byte in strings

view details

Paul Bone

commit sha 658c267e3ff158df0953ba20ba28fe4bb48ffaa7

[rt] Make FlatString consistent about null termiantion FlatString was written to handle non-null terminated strings, except for its constructor. This patch fixes that and now FlatString expects strings of an exact length.

view details

Paul Bone

commit sha 9d6f2d7acdf90406d399754a112df5919cfae194

[rt] Remove code to support null-termination in PZ strings

view details

Paul Bone

commit sha dcb3135e2575cc158d48ffc11028cf69bf83214f

[rt] Don't bother appending an empty string

view details

Paul Bone

commit sha 0a8141167d07dec62bd477f9f39b3e530756b198

[rt] Add an assertion for unreachable code

view details

Paul Bone

commit sha bb1745d688e2434196c0a56d5400372d3fb64de2

[rt] Move definition out-of-line as we have done with the others Later when we profile the implementation we can re-inline the definitions that speed things up.

view details

Paul Bone

commit sha ebda6346aa523287b2252f42f2bfe1a59e125032

[merge] PZ format no-longer uses null terminated strings Fixes #376 * str: [rt] Move definition out-of-line as we have done with the others [rt] Add an assertion for unreachable code [rt] Don't bother appending an empty string [rt] Remove code to support null-termination in PZ strings [rt] Make FlatString consistent about null termiantion [pz] Don't encode a null byte in strings [tests] Remove null terminating bytes from PZT tests [pz] Support non null-terminated strings [rt] Fix and add comments in string implementation [pz] Add a comment [pz] Fix some code formatting

view details

push time in 13 days

delete branch PlasmaLang/plasma

delete branch : str

delete time in 13 days

push eventPlasmaLang/plasma

Paul Bone

commit sha 9ed97d99010bb3adcef072804475f9c7159890c3

[pz] Fix some code formatting

view details

Paul Bone

commit sha 535325cb001732e0a7e593b2265ca385d44391d8

[pz] Add a comment

view details

Paul Bone

commit sha 8c2582aa2b0a0b6d7b88bc9aa1abdde9d2bb7cba

[rt] Fix and add comments in string implementation

view details

Paul Bone

commit sha 4d9273b65a750d3bf7fbfaf5b2fdeb6b330547ac

[pz] Support non null-terminated strings That is, PZ files may have a null byte at the end of their strings (included in the length) or not.

view details

Paul Bone

commit sha 2497d54580472b102082f9008646757b2d86732b

[tests] Remove null terminating bytes from PZT tests

view details

Paul Bone

commit sha b9009882dd613eb014d3cc3ad29121d10ec59868

[pz] Don't encode a null byte in strings

view details

Paul Bone

commit sha 658c267e3ff158df0953ba20ba28fe4bb48ffaa7

[rt] Make FlatString consistent about null termiantion FlatString was written to handle non-null terminated strings, except for its constructor. This patch fixes that and now FlatString expects strings of an exact length.

view details

Paul Bone

commit sha 9d6f2d7acdf90406d399754a112df5919cfae194

[rt] Remove code to support null-termination in PZ strings

view details

Paul Bone

commit sha dcb3135e2575cc158d48ffc11028cf69bf83214f

[rt] Don't bother appending an empty string

view details

Paul Bone

commit sha 0a8141167d07dec62bd477f9f39b3e530756b198

[rt] Add an assertion for unreachable code

view details

Paul Bone

commit sha bb1745d688e2434196c0a56d5400372d3fb64de2

[rt] Move definition out-of-line as we have done with the others Later when we profile the implementation we can re-inline the definitions that speed things up.

view details

Paul Bone

commit sha ebda6346aa523287b2252f42f2bfe1a59e125032

[merge] PZ format no-longer uses null terminated strings Fixes #376 * str: [rt] Move definition out-of-line as we have done with the others [rt] Add an assertion for unreachable code [rt] Don't bother appending an empty string [rt] Remove code to support null-termination in PZ strings [rt] Make FlatString consistent about null termiantion [pz] Don't encode a null byte in strings [tests] Remove null terminating bytes from PZT tests [pz] Support non null-terminated strings [rt] Fix and add comments in string implementation [pz] Add a comment [pz] Fix some code formatting

view details

push time in 13 days

issue closedPlasmaLang/plasma

PZ format null terminates strings

The null termination byte isn't necessary and confuses the length in the PZ format. We can remove it.

closed time in 13 days

PaulBone

push eventPlasmaLang/plasma

Paul Bone

commit sha 658c267e3ff158df0953ba20ba28fe4bb48ffaa7

[rt] Make FlatString consistent about null termiantion FlatString was written to handle non-null terminated strings, except for its constructor. This patch fixes that and now FlatString expects strings of an exact length.

view details

Paul Bone

commit sha 9d6f2d7acdf90406d399754a112df5919cfae194

[rt] Remove code to support null-termination in PZ strings

view details

Paul Bone

commit sha dcb3135e2575cc158d48ffc11028cf69bf83214f

[rt] Don't bother appending an empty string

view details

Paul Bone

commit sha 0a8141167d07dec62bd477f9f39b3e530756b198

[rt] Add an assertion for unreachable code

view details

Paul Bone

commit sha bb1745d688e2434196c0a56d5400372d3fb64de2

[rt] Move definition out-of-line as we have done with the others Later when we profile the implementation we can re-inline the definitions that speed things up.

view details

push time in 13 days

create barnchPlasmaLang/plasma

branch : str

created branch time in 14 days

push eventPlasmaLang/plasma-website

Paul Bone

commit sha e0a497ee6ef509e71d718f432f2afd51c85d49c1

Include another logo suggestion Include another logo suggestion and rename the `old` images directory to `alternative`.

view details

push time in 14 days

issue openedPlasmaLang/plasma

PZ reading code assumes data can't be null

PZ reading code assumes that data can't be null and uses this to validate that data is given in the correct order. And does not support cyclics (see also #371).

created time in 16 days

delete branch PlasmaLang/plasma

delete branch : read

delete time in 19 days

push eventPaulBone/plasma

Paul Bone

commit sha c17c764981553f4f4d069fdd9d0dd734a1f29a18

[rt,pz] Refactor encoding out of value reading/writing Refactor the PZ reading/writing code to seperate the reading and writing of the encoding from the reading/writing of the value.

view details

Paul Bone

commit sha c778bb1cff432235509b024586a4e952c2e456e9

[pz] Store array and string encoding once We stored the encoding of the elements per element, but that's not necessary when they're all going to have the same encoding. Fixes #377

view details

Paul Bone

commit sha 8264f53bade314bcc9ecdc5be9fedc1a8f77d1e7

[pz] Document strings in the PZ format

view details

Paul Bone

commit sha d2d09e6043bd5bd8fe0577e36bbe9d550f754063

[merge] Arrays and strings now use less room in PZ format * read: [pz] Document strings in the PZ format [pz] Store array and string encoding once [rt,pz] Refactor encoding out of value reading/writing

view details

push time in 19 days

push eventPlasmaLang/plasma

Paul Bone

commit sha c17c764981553f4f4d069fdd9d0dd734a1f29a18

[rt,pz] Refactor encoding out of value reading/writing Refactor the PZ reading/writing code to seperate the reading and writing of the encoding from the reading/writing of the value.

view details

Paul Bone

commit sha c778bb1cff432235509b024586a4e952c2e456e9

[pz] Store array and string encoding once We stored the encoding of the elements per element, but that's not necessary when they're all going to have the same encoding. Fixes #377

view details

Paul Bone

commit sha 8264f53bade314bcc9ecdc5be9fedc1a8f77d1e7

[pz] Document strings in the PZ format

view details

Paul Bone

commit sha d2d09e6043bd5bd8fe0577e36bbe9d550f754063

[merge] Arrays and strings now use less room in PZ format * read: [pz] Document strings in the PZ format [pz] Store array and string encoding once [rt,pz] Refactor encoding out of value reading/writing

view details

push time in 19 days

issue closedPlasmaLang/plasma

Arrays/strings in PZ format have a tag for each element

It's not necessary to tag the encoding for each element. We'd save a lot of space if we didn't do that.

closed time in 19 days

PaulBone

PR opened proglangdesign/proglangdesign.github.io

Add tags for Plasma and Mercury

These patches add tags for the Plasma and Mercury languages.

BTW. should Mercury have the JVM tag. JVM is one of it's mulitple backends but it's not a JVM language the way Clojure is, the integration isn't that strong.

I've made the branch from the point on master where these tags existed, I figured that'd be easiest to eventually re-enable the feature from.

+19 -0

0 comment

2 changed files

pr created time in 19 days

create barnchPaulBone/proglangdesign.github.io

branch : plasma_tags

created branch time in 19 days

push eventPaulBone/proglangdesign.github.io

Paul Bone

commit sha 85181e8a8390c35afa79fd3ba79ce51ac6974a94

Refer to Plasma's logo externally By referring to Plasma's logo as an external resource, we can avoid any potentially confusing licensing.

view details

Troels Henriksen

commit sha b5da62d15758963060cec9c71d904b5ed1e20d8d

Merge pull request #92 from PaulBone/plasmalogo Refer to Plasma's logo externally

view details

Avery Nortonsmith

commit sha b6a4a8ee89e94e162a97b891862455535bdcb88b

added Pointless language

view details

theangryepicbanana

commit sha 7d8007df4a16e611c76be5552eea9f0bd63350f1

Add info about the Star programming language

view details

Troels Henriksen

commit sha f907b6d8eab451a29f175976c13f546e7b3f9585

Merge pull request #94 from ALANVF/patch-1 Add info about the Star programming language

view details

Seeker

commit sha c94f98ac9ebdebdeaecaf864299db139b54522e1

Renamed rcc to Saltwater

view details

Seeker

commit sha da7a446ff9dce2bb9e0f5bf477fd87176c235d6d

Fix Horse64 github

view details

Ellie

commit sha f9c4d0fa54b593605e23bee362f8ab869ecbb7a9

Update Horse64 text to be less potentially negtive on Python Updating Horse64's text since my previous summary could have been read as a slight stab on Python, which doesn't feel like a useful thing to do in retrospect. I think this new text makes it more obvious it's a different spin on a Python-alike while hopefully no longer possibly suggesting Python as somehow comparatively worse.

view details

Troels Henriksen

commit sha 5b9cd7b5d7c58950cbbcacdc209b7e57aba4e08a

Merge pull request #97 from ell1e/patch-1 Update Horse64 text to be less potentially negative on Python

view details

notYuriy

commit sha 9ceceff108a1cbff6b872868c5e1be301dd9f105

Forthscript entry

view details

Troels Henriksen

commit sha bc9f2c2ad11116dcb4672aa2a5d67b3efe4592b8

Merge pull request #98 from ForthScriptLang/master Add info about ForthScript programming language

view details

Jérémie Astor

commit sha 2393138ae45c69aae0ed9b97897dcd1a1f3a51e2

Add fennecdjay/Gwion

view details

Troels Henriksen

commit sha bc013f9f38a7671bc277db0b61ffd39e9a3d2428

Merge pull request #99 from fennecdjay/master Add fennecdjay/Gwion

view details

Alin Ali Hassan

commit sha f7bf7728407086c4ef349eba9b8af959a936d9eb

Updated Lesma

view details

Troels Henriksen

commit sha 30afb9ee7c3e15bb840342ad78f8d69d6a167e7f

Merge pull request #100 from Lesma-lang/master Updated Lesma info

view details

Andrey Penechko

commit sha d8942a3081277b64a7edc9897c839d79a7c16b4f

Add Vox

view details

Troels Henriksen

commit sha 3f5953cb7ea57e19c12d1291de54825bb9e7f9d8

Merge pull request #101 from MrSmith33/patch-1 Add Vox

view details

jenra

commit sha d8914ca8315ee3fbd35798e0d2afff91ecf81e5c

Added Curly

view details

Troels Henriksen

commit sha bfa0f5f619f61f7d6a23bfe7e43a02c5b6cac49c

Merge pull request #102 from jenra-uwu/master Added Curly

view details

Jérémie Astor

commit sha 69cff176d552661ba4cd92190ac7b164ba3cae54

Add gwionbot reference

view details

push time in 19 days