Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.30.0 #747

Merged
merged 186 commits into from
Sep 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
186 commits
Select commit Hold shift + click to select a range
d7c3215
Merge branch 'master' into develop
Jason2605 Nov 1, 2023
e5ddc17
Correct memory count
Jason2605 Nov 1, 2023
6d44568
Merge pull request #691 from dictu-lang/feautre/htttp
Jason2605 Nov 2, 2023
1a99343
My translate skills are obviously seriously laking
Jason2605 Nov 2, 2023
36f2fbb
add dev null
briandowns Nov 6, 2023
a1598b0
add new line to example file
briandowns Nov 6, 2023
e0d2e82
initial impl of Process.kill
briandowns Nov 7, 2023
55b5a7f
fix macro
briandowns Nov 7, 2023
7c90c64
fix macro
briandowns Nov 7, 2023
acb1795
fix macro
briandowns Nov 7, 2023
8f6b4a1
fix macro
briandowns Nov 7, 2023
2ae3422
add pid_t macro
briandowns Nov 7, 2023
798c371
explicit sigkill value
briandowns Nov 7, 2023
49fe0c2
windows madness
briandowns Nov 7, 2023
3354065
seperate impl for windows, update docs
briandowns Nov 7, 2023
1124f18
more preprocessor segmentation
briandowns Nov 7, 2023
3693c74
Merge pull request #692 from briandowns/feature/devnull
Jason2605 Nov 8, 2023
66cee3e
add kill tests for process module
briandowns Nov 9, 2023
d9101f3
add kill.du to tests
briandowns Nov 9, 2023
873fa99
Merge pull request #696 from briandowns/feature/processkill
Jason2605 Nov 11, 2023
a94e340
use appropriate macro
briandowns Nov 11, 2023
c62b3b7
trigger ci
briandowns Nov 11, 2023
f76d33d
Merge pull request #698 from briandowns/use_AS_CSTRING_macro
Jason2605 Nov 12, 2023
2d24ef7
add options request
briandowns Nov 20, 2023
485a106
update examples
briandowns Nov 20, 2023
b411132
Merge pull request #702 from briandowns/feature/http_options
Jason2605 Nov 22, 2023
5034226
removed c module setup, left used code
briandowns Nov 22, 2023
9ce90a2
Merge pull request #703 from briandowns/remove_c_module
Jason2605 Nov 26, 2023
6687a21
Fix an issue with internal table type
Jason2605 Dec 1, 2023
14196fd
Correct use of capacity
Jason2605 Dec 1, 2023
4747121
Merge pull request #707 from dictu-lang/feature/table
Jason2605 Dec 1, 2023
8a9bf68
resolve typo and use single macro
briandowns Dec 3, 2023
746dc68
Merge pull request #710 from briandowns/fix_error_typo
Jason2605 Dec 3, 2023
b8a50d9
Fix issue where string was getting popped before created
Jason2605 Dec 3, 2023
1cc1613
Merge pull request #711 from dictu-lang/feature/subscript
Jason2605 Dec 3, 2023
b893dc4
initial support for dictu path and relocate history
briandowns Dec 8, 2023
9d8ae53
account for windows
briandowns Dec 8, 2023
76bc192
windows api include
briandowns Dec 8, 2023
66c51f2
attempting to get sneaky
briandowns Dec 8, 2023
1fab112
handle mkdir error
briandowns Dec 10, 2023
c481eb1
Merge pull request #713 from briandowns/move_history_file
Jason2605 Dec 11, 2023
3df79e3
add ability for dictu to load user modules
briandowns Dec 16, 2023
602c0d1
account for history existing
briandowns Dec 17, 2023
28880ad
simplify
briandowns Dec 17, 2023
5271756
Merge pull request #716 from briandowns/fi_file_exists_error
briandowns Dec 17, 2023
a163c30
update to use relevative path
briandowns Dec 18, 2023
5fc1949
update path to win api
briandowns Dec 18, 2023
47f5212
pr comment remediation
briandowns Dec 18, 2023
ecebc54
retrigger ci
briandowns Dec 18, 2023
ca82161
Merge pull request #715 from briandowns/user_provided_modules
Jason2605 Dec 19, 2023
87a5d13
add rename, tests, and docs
briandowns Dec 19, 2023
d453c67
Update system.md
Jason2605 Dec 20, 2023
2d6f9c2
Update system.c
Jason2605 Dec 20, 2023
7fde33f
Merge pull request #717 from briandowns/feature/add_rename_function
Jason2605 Dec 20, 2023
e404d03
Dont free path after first execution
Jason2605 Dec 21, 2023
0cec9fd
Merge pull request #719 from dictu-lang/feature/history
Jason2605 Dec 22, 2023
7606e56
add lastIndexOf string method
briandowns Jan 1, 2024
e1ae3bc
make vars const
briandowns Jan 1, 2024
9564999
pr remediations
briandowns Jan 2, 2024
7344f18
update tests
briandowns Jan 2, 2024
eb526ed
update function name
briandowns Jan 2, 2024
256ca6f
fix docs mix up
briandowns Jan 2, 2024
dd93796
Update src/vm/datatypes/strings.c
Jason2605 Jan 2, 2024
023940e
Merge pull request #723 from briandowns/feature/lastIndexOf
Jason2605 Jan 2, 2024
db3e232
add isUpper string method
briandowns Jan 7, 2024
c08c4a9
add toLower string method
briandowns Jan 7, 2024
0b96d02
add newline chars
briandowns Jan 7, 2024
2d75174
added wordCount method
briandowns Jan 8, 2024
56bfce0
refactor implementations
briandowns Jan 9, 2024
89ced84
Merge pull request #724 from briandowns/featuer/string_functions
Jason2605 Jan 12, 2024
eeef98c
fix: correctly return tombstone when theres no free element
liz3 Jan 16, 2024
db8b8c6
feat: set.values()
liz3 Jan 16, 2024
c702e52
fix: update error string
liz3 Jan 16, 2024
a1dc492
fix: add file to imports
liz3 Jan 17, 2024
649f0f7
Update values.du
Jason2605 Jan 17, 2024
325f342
Merge pull request #729 from liz3/liz3/set-values
Jason2605 Jan 17, 2024
547d2df
refactor: change pr to new approach
liz3 Jan 19, 2024
a548039
Merge pull request #728 from liz3/fix-dict
Jason2605 Jan 19, 2024
dc0f78a
feat: add list.sortFunc
liz3 Jan 20, 2024
85e6da0
ffi: wip
liz3 Jan 20, 2024
fe76078
feat: add suffix property
liz3 Jan 21, 2024
aa7b9ce
add collapseSpaces method to string type
briandowns Jan 14, 2024
2e2b6aa
add wrap string method
briandowns Jan 14, 2024
e3b29bd
newlines
briandowns Jan 14, 2024
b08a365
update code style
briandowns Jan 14, 2024
809b187
add new line
briandowns Jan 14, 2024
76d28e9
redo implementations
briandowns Jan 21, 2024
5181778
update docs
briandowns Jan 21, 2024
818f19c
add addtional test
briandowns Jan 22, 2024
c01149d
update docs
briandowns Jan 22, 2024
47fa9a9
Reuse length variable and only resize if we need to
Jason2605 Jan 22, 2024
7f997cc
Correct memory tracking
Jason2605 Jan 22, 2024
8ba7fb5
Merge pull request #725 from briandowns/feature/more_string_methods
Jason2605 Jan 22, 2024
0d3327d
chore: update docs regarding sortFunc
liz3 Jan 22, 2024
53af135
Merge pull request #730 from liz3/liz3/list-callback-sort
Jason2605 Jan 22, 2024
ffc4bb8
Wip: buffer api
liz3 Jan 23, 2024
beab8d8
fix: i cant code
liz3 Jan 23, 2024
af32075
refactor: rename
liz3 Jan 23, 2024
8748948
refactor: less copy pasta
liz3 Jan 23, 2024
7f9a908
more fixing
liz3 Jan 23, 2024
2b03fc8
feat: basic docs for buffer module
liz3 Jan 23, 2024
fd43d1f
feat: buffer max and readString
liz3 Jan 23, 2024
7cfd14d
refactor: order of modules
liz3 Jan 23, 2024
bfaa6a8
fix: typos
liz3 Jan 24, 2024
ce167fd
feat: add big endian functions and docs
liz3 Jan 24, 2024
fa04753
uodate function names
liz3 Jan 24, 2024
aa79e71
refactor: fix messages to adjust for big endian functions
liz3 Jan 24, 2024
9d66d98
fix: thiis was reversed
liz3 Jan 24, 2024
205f995
add pretty print to object mod
briandowns Jan 24, 2024
b38fef9
add docs, fix test typo
briandowns Jan 24, 2024
ad20588
remove unneeded file
briandowns Jan 24, 2024
a335745
extend sleep longer
briandowns Jan 25, 2024
9fa0567
feat: add clang format, buffer.values() and Tests
liz3 Jan 25, 2024
ed9eb32
fix: do this correctly
liz3 Jan 25, 2024
9d38216
fixes and add signed 8bit read/write
liz3 Jan 25, 2024
d0afa60
refactor: remove unneeded includes
liz3 Jan 25, 2024
25c7f1d
Merge pull request #733 from briandowns/remove_bad_file
Jason2605 Jan 28, 2024
49a037f
chore: typos
liz3 Jan 28, 2024
59c39ba
fix: reimplement max check for int64_t read
liz3 Jan 29, 2024
ac680bc
resolve pr comments
briandowns Jan 29, 2024
4805c2c
fix: more typos
liz3 Jan 29, 2024
c800c81
fix: use existing memory routines
liz3 Jan 29, 2024
87df7a6
refactor: remove grayFunc from buffer
liz3 Jan 29, 2024
7c15a8a
update prettyPrint implementation
briandowns Jan 29, 2024
1ba4c06
Skip kill test for now
Jason2605 Jan 30, 2024
b43c159
Merge remote-tracking branch 'origin/develop' into liz3/buffer-api
Jason2605 Jan 30, 2024
aef7bc6
Merge pull request #731 from liz3/liz3/buffer-api
Jason2605 Jan 30, 2024
b99930a
Update documentation for prettyPrint
Jason2605 Jan 30, 2024
83cb39f
Merge branch 'develop' into feature/pretty_print
Jason2605 Jan 30, 2024
af6a577
Merge pull request #732 from briandowns/feature/pretty_print
Jason2605 Jan 30, 2024
7fe7c39
add dict.toObj(Object) method
briandowns Jan 31, 2024
6b9de28
remove unnecessary import
briandowns Jan 31, 2024
21944af
Merge pull request #734 from briandowns/dict_to_class
Jason2605 Jan 31, 2024
a6fe6ce
fix docs
liz3 Jan 31, 2024
590fa5a
more dict doc fixes
liz3 Jan 31, 2024
8f6894b
Merge pull request #735 from liz3/liz3/fix-docs
Jason2605 Jan 31, 2024
959db9f
Merge remote-tracking branch 'origin/develop' into liz3/ffi
liz3 Feb 3, 2024
cfeb497
refactor: use function ptrs instead of linking
liz3 Feb 3, 2024
232955b
feat: add wip ffi example.
liz3 Feb 3, 2024
fa9d498
fix: oops
liz3 Feb 3, 2024
ee1b82f
feat: natively define functions rather then to use a distinct invoke …
liz3 Feb 4, 2024
70a802a
refactor: only define mod functions within the module
liz3 Feb 5, 2024
7c1ff5e
fix: windows dll export
liz3 Feb 5, 2024
20d622b
feat: support properties in abstract
liz3 Feb 5, 2024
5378fee
chore: add ffi-example build to gitignore
liz3 Feb 6, 2024
6e934b1
feat: windows support
liz3 Feb 6, 2024
36443d8
style: formatting
liz3 Feb 6, 2024
65bd1a3
Make Err result a falsey value and add docs
Jason2605 Feb 7, 2024
329689f
feat: docs and test for macos
liz3 Feb 10, 2024
4247fa0
chore: add linux binary
liz3 Feb 10, 2024
9b8b4b3
feat: windows shared object
liz3 Feb 10, 2024
7d47431
fix: pretty sure this needs to be x86_64
liz3 Feb 10, 2024
403ef70
style: correctly indent file
liz3 Feb 10, 2024
a142107
fix: add suffix to docs
liz3 Feb 12, 2024
c767959
style: fix indentation
liz3 Feb 16, 2024
c916d22
fix: remove unused macro
liz3 Feb 16, 2024
7a6551e
style: add missing new lines
liz3 Feb 16, 2024
9bc2a46
Ignore the libs directory for checkTests
Jason2605 Feb 20, 2024
a2179e1
Merge pull request #738 from liz3/liz3/ffi
Jason2605 Feb 20, 2024
a39b86c
fix: ffi followup: fixes the docs and moves the header into "include"
liz3 Feb 20, 2024
c768a93
fix: update header
liz3 Feb 20, 2024
221aabc
fix: update binary
liz3 Feb 20, 2024
d59434d
fix: update binary
liz3 Feb 20, 2024
e43580d
Merge pull request #739 from liz3/liz3/ffi-followup
Jason2605 Feb 25, 2024
647a8d3
fix: add reallocate and memory macros to ffi
liz3 Aug 28, 2024
2a77283
fix: bump macos dylib for FFI tests
liz3 Sep 7, 2024
896dca7
did the workers change to arm?
liz3 Sep 7, 2024
cf77dc3
Merge pull request #743 from liz3/develop
Jason2605 Sep 8, 2024
6aa907a
allow negative index for insert
briandowns Sep 9, 2024
ecebf26
allow negative index for pop
briandowns Sep 9, 2024
7cc6cb8
add another test
briandowns Sep 9, 2024
65373af
feat: add System.arch constant
liz3 Sep 11, 2024
bad6467
add docs
liz3 Sep 11, 2024
40448c2
fix formatting
liz3 Sep 11, 2024
540536d
Merge remote-tracking branch 'origin/develop' into liz3/system-arch-c…
liz3 Sep 11, 2024
e488717
fix: docs typo
liz3 Sep 11, 2024
4c2869a
Merge pull request #746 from liz3/liz3/system-arch-constant
Jason2605 Sep 12, 2024
2dc0ffe
Merge branch 'develop' into issue/740
Jason2605 Sep 12, 2024
9fdd7b6
Update src/vm/datatypes/lists/lists.c
Jason2605 Sep 12, 2024
a0ba56b
Bump mac os
Jason2605 Sep 12, 2024
6b94dec
Handle intel / ARM on mac for tests
Jason2605 Sep 12, 2024
2578d17
Import System
Jason2605 Sep 12, 2024
6427ab1
Merge pull request #745 from briandowns/issue/740
Jason2605 Sep 12, 2024
7f5255a
Merge branch 'develop' into feature/result_err
Jason2605 Sep 12, 2024
ba93143
Merge pull request #736 from dictu-lang/feature/result_err
Jason2605 Sep 12, 2024
029706a
Bump version
Jason2605 Sep 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
IndentWidth: 4
AccessModifierOffset: -4
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macOS-latest, macOS-11]
os: [macOS-latest, macOS-13, macOS-12]

steps:
- uses: actions/checkout@v3
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,6 @@ test1.du
.vscode
/.env
/vcpkg_installed
/Release
/Release
examples/ffi-example/build
build_x64/
6 changes: 1 addition & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,7 @@
*What is Dictu?*

Dictu is a high-level dynamically typed, multi-paradigm, interpreted programming language. Dictu has a very familiar
C-style syntax along with taking inspiration from the family of languages surrounding it, such as Python and JavaScript.

*What does Dictu mean?*

Dictu means `simplistic` in Latin.
C-style syntax along with taking inspiration from the family of languages surrounding it, such as Python and JavaScript.

### Dictu documentation
Documentation for Dictu can be found [here](https://dictu-lang.com/)
Expand Down
2 changes: 1 addition & 1 deletion docs/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: >-
color_scheme: "dictu" # Custom theme
logo: "/assets/images/dictu-logo/dictu-wordmark.svg"

version: "0.29.0"
version: "0.30.0"
github_username: dictu-lang
search_enabled: true

Expand Down
24 changes: 20 additions & 4 deletions docs/docs/collections/dictionaries.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,14 @@ Updating a value within a dictionary uses the same syntax, except you supply a v

```cs
var myDict = {"key": 1, "key1": true};
var myDict["key"] = false; // {"key": false, "key1": true}
myDict["key"] = false; // {"key": false, "key1": true}
```

Adding a value to a dictionary is the same as updating a value, however if the key does not exist it is created.

```cs
var myDict = {"key": 1, "key1": true};
var myDict["key2"] = nil; // {"key": false, "key1": true, "key3": nil}
myDict["key2"] = nil; // {"key": 1, "key1": true, "key2": nil}
```

### dict.get(String, value: default -> Optional) -> Dict
Expand Down Expand Up @@ -146,7 +146,7 @@ myDict.forEach(def (key, value) => {
});
```

### dict.merge(Dict)
### dict.merge(Dict) -> Dict

To merge two dicts together we use `.merge`. This operation will take a shallow copy of the dict the `.merge` method
was called on and add any items from the dictionary passed into the method. If there are keys that exist in both dictionaries
Expand All @@ -159,4 +159,20 @@ const dictTwo = {"key3": 4,"key1":0};
const mergedDict = dictOne.merge(dictTwo);

mergedDict; //{"key2": 3, "key": 1, "key3": 4, "key1": 0}
```
```

### dict.toObj(Dict, Object) -> Object

Returns an object created from the given dict and class ref. Dictionary fields that aren't strings are converted to strings and set on the object. To retrieve those fields, use the `.getAttribute(String)` method.

```cs
class A {}

const dict = {"key": 1, "key1": 2, "key2": 3};
const obj = dict.toObj(A());

obj; // <A instance>
obj.key // 1
obj.key1 // 2
obj.key2 // 3
```
15 changes: 15 additions & 0 deletions docs/docs/collections/lists.md
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,21 @@ list1.sort();
print(list1); // [-1, 1, 2, 3, 4, 5, 10]
```

#### list.sortFunc(Func)

Sorts a list with a Custom Callback, The callback function passed to `.sortFunc` takes two elements of the list `a` and `b`.
The return value should be a number whose sign indicates the relative order of the two elements: negative if `a` is less than `b`, positive if `a` is greater than `b`, and zero if they are equal.

```cs
var list1 = [[1, "Dictu"], [-1, "SomeValue"], [5, "!"], [4, "Awesome"], [2, "is"]];

print(list1); // [[1, "Dictu"], [-1, "SomeValue"], [5, "!"], [4, "Awesome"], [2, "is"]];
list1.sortFunc(def(a,b) => a[0] - b[0]);

print(list1); // [[-1, "SomeValue"], [1, "Dictu"], [2, "is"], [4, "Awesome"], [5, "!"]]

```

```cs
var list1 = ["zebra", "cat", "dino", "pig"];

Expand Down
9 changes: 9 additions & 0 deletions docs/docs/collections/sets.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,15 @@ var mySet = set();
mySet.add("Dictu!");
```

### set.values() -> List

Returns a list of all of the values in the set.

```cs
var mySet = set("foo", "bar", 123);
const values = mySet.values(); // ["foo", "bar", 123]
```

### set.contains(value) -> Boolean

To check if a set contains a value use `.contains()`
Expand Down
Loading
Loading