Skip to content

Tags: polvalente/zigler

Tags

0.11.1-pre-4

Toggle 0.11.1-pre-4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
0.11.1 (E-xyza#450)

* gets basic downolading working

* basic support for zig.get

* safety checks on setting up zig toolchain

* Improves UX around the custom tar command

* completes minisign verification of tar.gz download

* fix: replace_lazy doesn't exist in earlier versions of elixir

* adds in basic scaffold for link_lib testing

* repairs the link_lib issue

* pre-1 release

* installation info

* verup

* migrates to zig get system

* fixes const pointer issue

* adds more changes to 0.11.1-pre-3

* adds zig_get dependency

* update mix lock

* update installer code

* reup zig_get dependency

* sane defaults

* fixes default zig version finder

* new urls for zig downloads

* purge dbg

* disable leak check on easy_c

0.10.3

Toggle 0.10.3's commit message
version up

0.10.2

Toggle 0.10.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
updates for 0.10.2 (E-xyza#416)

* version updates to fix catch parsing

* updates to 0.10.2 with bugfixes

0.10.1

Toggle 0.10.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
0.10.0 (E-xyza#405)

* bump version and write first semantic analysis test

* basic test on semantic analysis

* add sema test files

* tests against semantic analysis basics

* major deletions and temporary movement of old code

* repacking and managing sigil_z

* moves sema into integration, adds sigil_z tests

* uses zig json to communicate types

* integers up to u64 can be correctly marshalled

* gets tuples and maps working

* gets tuples and maps working

* wrap/unwrap out of ints and make ints correct

* integer range testingn

* adds checking on large integers

* enum conversions working well

* enum type and conversion code

* nan and inf support for floating points

* adds code files for change

* bool support on the way to struct support

* begin process of rebuilding zig parser

* begins process of using pegasus-parsed zig

* adds support for understanding basic tests

* first commit

* integration of zig_parser

* clears out all errors

* basic in/out functionality implemented

* first array tests working

* gets basic arrays working

* successful get of mutable array

* array error identification test

* tests error messages on array marshalling

* initial attempt at support for mutable structs

* basic nullable tests

* completes basic slice tests, disables broken datastructure tests

* clean up old tests, impl fastlane for array makes

* completed fastlanes for slices

* adds support for mutable struct

* basic manypointer input completed

* manypointer compile error and sentinel support

* repairs struct datastructure

* completes out manypointer tests

* tests against comptime int and comptime float

* cpointers work for single structs

* support for inputs of various pointers

* completes happy path for cpointer; still need to handle errors

* completes error testing on c pointers

* refactors make to take a make option

* bringing 'get' up to speed with internal error marshalling

* get reform for all basic types

* cleanup for all basic types with name resolution

* slices working

* fixes struct error reporting

* completes get checking routines

* updates to new error format

* adds support for void returns

* easy_c enablement

* enables aliasing

* refactors type serialization

* slice output as binary now supported

* fixes array form errors

* adds tests on error atom and error pair

* 0.10.0 dev erlang (E-xyza#346)

* memory leak testing, but no provisions for cleanup

* leak checks on function ingress

* makes it so that recompilation purges modules, ensuring that the new code propagates

* converts over to pushing results to get_result tag

* compilation working, now need to implement cleanup methods

* begins creating parse transform code

* extracts zig compiler instructions out of the parse transform info

* generalizes building skeletons for ast

* basic rebuilded erlang

* put eex into the list of applications

* adds eex into required libs

* adds eex capability

* Path.to_string -> to_string

* instrument sema

* updates refactoring, with inspection

* adds in fetching of zig executable

* make sure logger is started

* investigate sema error

* better command reporting

* better src dir handling

* rename src_dir to code_dir

* look at ast

* fix stray do

* redo some parse transform bits

* ensures jason lib

* updates jason and creates ability to load jason lib

* instrument compiler results

* more instrumentation

* fixes library resolution

* fixes transitive dependency issue

* make sure the parser is fed a binary

* allows customization of ebin_dir

* changes to use proper overlay strategy

* use priv_dir for erlang

* better treatment of priv dir

* proper parse transform ordering

* debug

* makes zig code work correctly now

* typo

* correct sort_by semantics

* ast watching

* do this segment correctly

* add->append

* passes function code over to zigler

* create the init entrypoint

* basically puts rendered erlang in there correctly

* correct representation of erlang code

* introspection

* cleans up rendering

* 0.10.0 dev erlang (E-xyza#347)

* memory leak testing, but no provisions for cleanup

* leak checks on function ingress

* makes it so that recompilation purges modules, ensuring that the new code propagates

* converts over to pushing results to get_result tag

* compilation working, now need to implement cleanup methods

* begins creating parse transform code

* extracts zig compiler instructions out of the parse transform info

* generalizes building skeletons for ast

* basic rebuilded erlang

* put eex into the list of applications

* adds eex into required libs

* adds eex capability

* Path.to_string -> to_string

* instrument sema

* updates refactoring, with inspection

* adds in fetching of zig executable

* make sure logger is started

* investigate sema error

* better command reporting

* better src dir handling

* rename src_dir to code_dir

* look at ast

* fix stray do

* redo some parse transform bits

* ensures jason lib

* updates jason and creates ability to load jason lib

* instrument compiler results

* more instrumentation

* fixes library resolution

* fixes transitive dependency issue

* make sure the parser is fed a binary

* allows customization of ebin_dir

* changes to use proper overlay strategy

* use priv_dir for erlang

* better treatment of priv dir

* proper parse transform ordering

* debug

* makes zig code work correctly now

* typo

* correct sort_by semantics

* ast watching

* do this segment correctly

* add->append

* passes function code over to zigler

* create the init entrypoint

* basically puts rendered erlang in there correctly

* correct representation of erlang code

* introspection

* cleans up rendering

* adds quote_erl facility for easier erlang quoting

* gets erlang rendering to be much less brain-meltingly hard

* nicely realized erlang support and test suite

* adds erlang section to the readme

* 0.10.0 dev erlang (E-xyza#354)

* bool support on the way to struct support

* begin process of rebuilding zig parser

* begins process of using pegasus-parsed zig

* adds support for understanding basic tests

* first commit

* integration of zig_parser

* clears out all errors

* basic in/out functionality implemented

* first array tests working

* gets basic arrays working

* successful get of mutable array

* array error identification test

* tests error messages on array marshalling

* initial attempt at support for mutable structs

* basic nullable tests

* completes basic slice tests, disables broken datastructure tests

* clean up old tests, impl fastlane for array makes

* completed fastlanes for slices

* adds support for mutable struct

* basic manypointer input completed

* manypointer compile error and sentinel support

* repairs struct datastructure

* completes out manypointer tests

* tests against comptime int and comptime float

* cpointers work for single structs

* support for inputs of various pointers

* completes happy path for cpointer; still need to handle errors

* completes error testing on c pointers

* refactors make to take a make option

* bringing 'get' up to speed with internal error marshalling

* get reform for all basic types

* cleanup for all basic types with name resolution

* slices working

* fixes struct error reporting

* completes get checking routines

* updates to new error format

* adds support for void returns

* easy_c enablement

* enables aliasing

* refactors type serialization

* slice output as binary now supported

* fixes array form errors

* adds tests on error atom and error pair

* memory leak testing, but no provisions for cleanup

* leak checks on function ingress

* makes it so that recompilation purges modules, ensuring that the new code propagates

* converts over to pushing results to get_result tag

* compilation working, now need to implement cleanup methods

* begins creating parse transform code

* extracts zig compiler instructions out of the parse transform info

* generalizes building skeletons for ast

* basic rebuilded erlang

* put eex into the list of applications

* adds eex into required libs

* adds eex capability

* Path.to_string -> to_string

* instrument sema

* updates refactoring, with inspection

* adds in fetching of zig executable

* make sure logger is started

* investigate sema error

* better command reporting

* better src dir handling

* rename src_dir to code_dir

* look at ast

* fix stray do

* redo some parse transform bits

* ensures jason lib

* updates jason and creates ability to load jason lib

* instrument compiler results

* more instrumentation

* fixes library resolution

* fixes transitive dependency issue

* make sure the parser is fed a binary

* allows customization of ebin_dir

* changes to use proper overlay strategy

* use priv_dir for erlang

* better treatment of priv dir

* proper parse transform ordering

* debug

* makes zig code work correctly now

* typo

* correct sort_by semantics

* ast watching

* do this segment correctly

* add->append

* passes function code over to zigler

* create the init entrypoint

* basically puts rendered erlang in there correctly

* correct representation of erlang code

* introspection

* cleans up rendering

* 0.10.0 dev erlang (E-xyza#346)

* memory leak testing, but no provisions for cleanup

* leak checks on function ingress

* makes it so that recompilation purges modules, ensuring that the new code propagates

* converts over to pushing results to get_result tag

* compilation working, now need to implement cleanup methods

* begins creating parse transform code

* extracts zig compiler instructions out of the parse transform info

* generalizes building skeletons for ast

* basic rebuilded erlang

* put eex into the list of applications

* adds eex into required libs

* adds eex capability

* Path.to_string -> to_string

* instrument sema

* updates refactoring, with inspection

* adds in fetching of zig executable

* make sure logger is started

* investigate sema error

* better command reporting

* better src dir handling

* rename src_dir to code_dir

* look at ast

* fix stray do

* redo some parse transform bits

* ensures jason lib

* updates jason and creates ability to load jason lib

* instrument compiler results

* more instrumentation

* fixes library resolution

* fixes transitive dependency issue

* make sure the parser is fed a binary

* allows customization of ebin_dir

* changes to use proper overlay strategy

* use priv_dir for erlang

* better treatment of priv dir

* proper parse transform ordering

* debug

* makes zig code work correctly now

* typo

* correct sort_by semantics

* ast watching

* do this segment correctly

* add->append

* passes function code over to zigler

* create the init entrypoint

* basically puts rendered erlang in there correctly

* correct representation of erlang code

* introspection

* cleans up rendering

* adds quote_erl facility for easier erlang quoting

* gets erlang rendering to be much less brain-meltingly hard

* nicely realized erlang support and test suite

* adds erlang section to the readme

* cleans up leaks correctly

* housecleaning of old content

* semantic analysis of resources

* sema working for resource, but the resource table isn't constructed yet

* gets resources properly storing as references

* gets working with builtin scalars

* code now supports use of pids a terms

* enables ignoring functions

* Experimental better root (E-xyza#358)

* enables ignoring functions

* basic conformance to new resource scheme

* gets new resource scheme up and running

* gets resource releasing work

* gets the keep operation working

* gets resource/resource cleanup working as expected

* merge conflict on alias test

* further merge conflict resolution

* mostly working

* this concludes references being a done thing

* code compiles again with raw, but not bug-free.

* enables ... notation

* adds egress typespec testing

* basics of typespecs

* support for packed structs

* adds cpointer support

* basics for typespecs done

* gets basic parameter stuff working

* refactors return typespec testing

* works for functions with return assistance

* gets to the stage where we're compiling

* fixes output_as -> output_type (internally)

* clears up remaining typespec issues

* gets errors working

* gets basic stacktrace swapping working

* gets erlang compilation working

* more consistent file/line resolution

* dirty io and dirty cpu modes, via basic

* refactors synchronous to basic

* (super-failing), refactored to saner options handling

* first major refactoring to correct nif/function organizational mode

* basic compilation pipelines now working

* removes segfaulting cblas code (for now)

* mostly refactored, except for error information

* error returns now working marshalling content

* completes marshalling of big integers

* gets more robust erlang support and successful refactoring

* allocator.zig: implement free for large_beam_allocator (E-xyza#381)

Remove the NoOp implementation and actually call alignedFree

* Threaded nifs (E-xyza#393)

* gets basic threading to work

* on the way to completing threaded, need to do proper cmpexchg stuff first

* touchups for talk

* updates to include beam.compare

* adds comment

* marks off the type as unusable

* nerfs zero and one item enums

* maximally correct implementation of the threads api, but still segfaults on join

* gets c_blas working again

* tests easy_c erlang and also begins syntax error

* syntax error resolution

* gets two different levels of manual yielding examples done

* switches over to using payload/call mechanism

* basic framework for running threads successfully compiles

* gets a proper yielding system with threads up and running

* with control flow now compiling correctly

* returns result without segfaulting

* segfault-free manual threading completed

* puts together all of the bits for a functional threaded system

* basic reorganization and correctifying

* threaded now works in erlang

* erroring basics up and running

* gets the basics in place

* gets most parts compiling, but segfaults

* fixes typo

* integration of working threaded model

* touchup on enum error

* Refactor sema (E-xyza#397)

* touchup on enum error

* adds in some basic updates starting yielding

* zig doc-related changes

* restores other allocators

* gets past initial analysis on basic nif generation

* intermediate attempts at refactoring the compilation cycle

* moves ignores to the correct operation order

* fix: basic erroring

* fixes gpa leak content except with proper deinitialization

* removes unneccessary assembler tests

* fixes manypointer error message

* repairs struct_not_pub errors

* fixes sema unit tests

* fixes error prong wierdness and has sane stacktraces

* restores erlang functionality

* completes testing overriding typespecs

* gets zig doc working, bumps zig parser

* Mac os (E-xyza#398)

* gets MacOS working, isolates common problems in MacOS:  threading, erroring, and two mystery failures

* resolves issue with allocator threadlocal not being initialized correctly on macOS

* resolves allocators segfault for macOS

* restores beam allocator everywhere, so there's no issues with segfaults

* fixes last stray test errors

---------

Co-authored-by: Isaac Yonemoto <[email protected]>

* reverts to putting .so libraries in priv

* makes command respect targetting options when nerves compiles from mac

* Nerves support (E-xyza#400)

* reverts to putting .so libraries in priv

* makes command respect targetting options when nerves compiles from mac

* fixes CI?

* some credo fixes

* fixes workflows and makes sure CI can download zig

* removes stray dbg call

* removes dependency

* adds direct c compilation options

* baisc zig documentation

* documentation on get/make

* full documentation of beam.zig

* docup plus document send quirk with raw nif

* reorganization of module sidebar

* basics on getting guides working

* starts collections

* builds guides 1 and 2

* begin writing allocators guides

* completes allocators documentation

* first nif options guide

* completes module options

* explanation for deps

* completes guides for c integration

* fixes binary structs

* isolates segfault issue, we should investigate more

* fixes threading segfault

* minor doc change

* fix mix doc problem

* nerves cc affordance

* fixes zig delete macos lib

* fixes collections docs

* changes macos version

* remove macos CI until x86 testing can be done better

* fix segfault, document time limit, increase to 750 us

* update versions

---------

Co-authored-by: Riccardo Binetti <[email protected]>
Co-authored-by: Isaac Yonemoto <[email protected]>

good-for-0.10-demo

Toggle good-for-0.10-demo's commit message
syntax error resolution

0.9.1

Toggle 0.9.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
0.9.1 final touches (E-xyza#313)

* removes the hacky_env no longer needed for macos

* updates the changelog

0.8.1

Toggle 0.8.1's commit message
last-minute fixes

0.7.3

Toggle 0.7.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request E-xyza#247 from ityonemo/devel

but actually add changes

0.7.2

Toggle 0.7.2's commit message
updated versions with thanks

0.7.1

Toggle 0.7.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Merge pull request E-xyza#235 from ityonemo/nerves-0.7.1

Nerves 0.7.1