Skip to content

Commit 3c81fce

Browse files
committed
Add new release 1.38.0
1 parent 295ffcd commit 3c81fce

File tree

133 files changed

+54527
-18374
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+54527
-18374
lines changed

janet/janet.c

+18,794-18,369
Large diffs are not rendered by default.

janet/janet.h

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2024 Calvin Rose
2+
* Copyright (c) 2025 Calvin Rose
33
*
44
* Permission is hereby granted, free of charge, to any person obtaining a copy
55
* of this software and associated documentation files (the "Software"), to
@@ -26,10 +26,10 @@
2626
#define JANETCONF_H
2727

2828
#define JANET_VERSION_MAJOR 1
29-
#define JANET_VERSION_MINOR 37
30-
#define JANET_VERSION_PATCH 1
29+
#define JANET_VERSION_MINOR 38
30+
#define JANET_VERSION_PATCH 0
3131
#define JANET_VERSION_EXTRA ""
32-
#define JANET_VERSION "1.37.1"
32+
#define JANET_VERSION "1.38.0"
3333

3434
/* #define JANET_BUILD "local" */
3535

@@ -1331,6 +1331,7 @@ typedef struct {
13311331
/* new state */
13321332
jmp_buf buf;
13331333
Janet payload;
1334+
int coerce_error;
13341335
} JanetTryState;
13351336

13361337
/***** END SECTION TYPES *****/
@@ -2251,6 +2252,7 @@ typedef enum {
22512252
RULE_UNREF, /* [rule, tag] */
22522253
RULE_CAPTURE_NUM, /* [rule, tag] */
22532254
RULE_SUB, /* [rule, rule] */
2255+
RULE_TIL, /* [rule, rule] */
22542256
RULE_SPLIT, /* [rule, rule] */
22552257
RULE_NTH, /* [nth, rule, tag] */
22562258
RULE_ONLY_TAGS, /* [rule] */

janet/shell.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2024 Calvin Rose
2+
* Copyright (c) 2025 Calvin Rose
33
*
44
* Permission is hereby granted, free of charge, to any person obtaining a copy
55
* of this software and associated documentation files (the "Software"), to

static/1.38.0/api/array.html

+189
Large diffs are not rendered by default.

static/1.38.0/api/buffer.html

+200
Large diffs are not rendered by default.

static/1.38.0/api/bundle.html

+181
Large diffs are not rendered by default.

static/1.38.0/api/debug.html

+190
Large diffs are not rendered by default.

static/1.38.0/api/ev.html

+245
Large diffs are not rendered by default.

static/1.38.0/api/ffi.html

+196
Large diffs are not rendered by default.

static/1.38.0/api/fiber.html

+199
Large diffs are not rendered by default.

static/1.38.0/api/file.html

+198
Large diffs are not rendered by default.

static/1.38.0/api/index.html

+2,832
Large diffs are not rendered by default.

static/1.38.0/api/int.html

+165
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
2+
<!DOCTYPE html>
3+
<html>
4+
<head>
5+
<meta charset="UTF-8" />
6+
<meta name="viewport" content="width=device-width" />
7+
<title>Integer Types Module</title>
8+
<meta name="description" content="Janet is a functional and imperative programming language. It runs on Windows, Linux, macOS, FreeBSD and *nix.">
9+
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen" charset="utf-8">
10+
<link rel="stylesheet" href="../css/docpage.css" type="text/css" media="screen" charset="utf-8">
11+
<link rel="shortcut icon" href="../assets/favicon.ico">
12+
13+
<!-- Open Graph -->
14+
<meta property="og:description" content="Janet is a functional and imperative programming language. It runs on Windows, Linux, macOS, FreeBSD and *nix." />
15+
<meta property="og:title" content="Integer Types Module" />
16+
<meta property="og:type" content="website" />
17+
</head>
18+
<body>
19+
20+
<div id="toc-toggle" class="open">
21+
<div class="bar topbar"></div>
22+
<div class="bar"></div>
23+
<div class="bar botbar"></div>
24+
</div>
25+
<iframe class="search-bar" src="https://duckduckgo.com/search.html?site=janet-lang.org&prefill=Search janet-lang.org" frameborder="0"></iframe>
26+
<script charset="utf-8">
27+
function toggleToc() {
28+
var toggler = document.getElementById('toc-toggle');
29+
var wrapper = document.querySelector('.toc');
30+
wrapper.classList.toggle('toc-hidden');
31+
toggler.classList.toggle('open');
32+
if (window.localStorage) {
33+
window.localStorage.setItem('show-toc', toggler.classList.contains('open'));
34+
}
35+
}
36+
function addTocToggle() {
37+
var el = document.getElementById('toc-toggle');
38+
if (!window.localStorage || window.localStorage.getItem('show-toc') === 'true') {
39+
toggleToc()
40+
}
41+
el.addEventListener('click', toggleToc);
42+
}
43+
window.addEventListener('DOMContentLoaded', addTocToggle);
44+
</script>
45+
46+
47+
48+
<div class="twocol">
49+
<div class="toc show-toc">
50+
<ul>
51+
<li><span><a href="../index.html">Home</a></span></li><li class="caret"><span><a href="../docs/index.html">Documentation</a></span><ul><li><span><a href="../docs/syntax.html">Syntax and the Parser</a></span></li><li><span><a href="../docs/specials.html">Special Forms</a></span></li><li><span><a href="../docs/numbers.html">Numbers and Arithmetic</a></span></li><li><span><a href="../docs/comparison.html">Comparison Operators</a></span></li><li><span><a href="../docs/bindings.html">Bindings (def and var)</a></span></li><li><span><a href="../docs/flow.html">Flow</a></span></li><li><span><a href="../docs/functions.html">Functions</a></span></li><li><span><a href="../docs/strings.html">Strings, Keywords, and Symbols</a></span></li><li><span><a href="../docs/loop.html">Looping</a></span></li><li><span><a href="../docs/macros.html">Macros</a></span></li><li class="caret"><span><a href="../docs/data_structures/index.html">Data Structures</a></span><ul><li><span><a href="../docs/data_structures/arrays.html">Arrays</a></span></li><li><span><a href="../docs/data_structures/buffers.html">Buffers</a></span></li><li><span><a href="../docs/data_structures/tables.html">Tables</a></span></li><li><span><a href="../docs/data_structures/structs.html">Structs</a></span></li><li><span><a href="../docs/data_structures/tuples.html">Tuples</a></span></li></ul></li><li><span><a href="../docs/destructuring.html">Destructuring</a></span></li><li class="caret"><span><a href="../docs/fibers/index.html">Fibers</a></span><ul><li><span><a href="../docs/fibers/dynamic_bindings.html">Dynamic Bindings</a></span></li><li><span><a href="../docs/fibers/error_handling.html">Errors</a></span></li></ul></li><li><span><a href="../docs/modules.html">Modules</a></span></li><li><span><a href="../docs/object_oriented.html">Object-Oriented Programming</a></span></li><li><span><a href="../docs/peg.html">Parsing Expression Grammars</a></span></li><li><span><a href="../docs/prototypes.html">Prototypes</a></span></li><li><span><a href="../docs/abstract_machine.html">The Janet Abstract Machine</a></span></li><li><span><a href="../docs/event_loop.html">The Event Loop</a></span></li><li><span><a href="../docs/threads.html">Multithreading</a></span></li><li><span><a href="../docs/networking.html">Networking</a></span></li><li class="caret"><span><a href="../docs/process_management/index.html">Process Management</a></span><ul><li><span><a href="../docs/process_management/execute.html">Executing</a></span></li><li><span><a href="../docs/process_management/spawn.html">Spawning</a></span></li></ul></li><li><span><a href="../docs/documentation.html">Documentation</a></span></li><li><span><a href="../docs/jpm.html">jpm</a></span></li><li><span><a href="../docs/linting.html">Linting</a></span></li><li><span><a href="../docs/ffi.html">Foreign Function Interface</a></span></li></ul></li><li class="caret"><span><a href="index.html">API</a></span><ul><li><span><a href="array.html">array</a></span></li><li><span><a href="buffer.html">buffer</a></span></li><li><span><a href="bundle.html">bundle</a></span></li><li><span><a href="debug.html">debug</a></span></li><li><span><a href="ev.html">ev</a></span></li><li><span><a href="ffi.html">ffi</a></span></li><li><span><a href="fiber.html">fiber</a></span></li><li><span><a href="file.html">file</a></span></li><li><span class="selected"><a href="int.html">int</a></span></li><li class="caret"><span><a href="jpm/index.html">jpm</a></span><ul><li><span><a href="jpm/rules.html">rules</a></span></li><li><span><a href="jpm/cc.html">cc</a></span></li><li><span><a href="jpm/cgen.html">cgen</a></span></li><li><span><a href="jpm/cli.html">cli</a></span></li><li><span><a href="jpm/commands.html">commands</a></span></li><li><span><a href="jpm/config.html">config</a></span></li><li><span><a href="jpm/make-config.html">make-config</a></span></li><li><span><a href="jpm/dagbuild.html">dagbuild</a></span></li><li><span><a href="jpm/pm.html">pm</a></span></li><li><span><a href="jpm/scaffold.html">scaffold</a></span></li><li><span><a href="jpm/shutil.html">shutil</a></span></li></ul></li><li><span><a href="math.html">math</a></span></li><li><span><a href="module.html">module</a></span></li><li><span><a href="net.html">net</a></span></li><li><span><a href="os.html">os</a></span></li><li><span><a href="peg.html">peg</a></span></li><li><span><a href="parser.html">parser</a></span></li><li class="caret"><span><a href="spork/index.html">spork</a></span><ul><li><span><a href="spork/argparse.html">argparse</a></span></li><li><span><a href="spork/base64.html">base64</a></span></li><li><span><a href="spork/cc.html">cc</a></span></li><li><span><a href="spork/cjanet.html">cjanet</a></span></li><li><span><a href="spork/crc.html">crc</a></span></li><li><span><a href="spork/channel.html">channel</a></span></li><li><span><a href="spork/cron.html">cron</a></span></li><li><span><a href="spork/data.html">data</a></span></li><li><span><a href="spork/ev-utils.html">ev-utils</a></span></li><li><span><a href="spork/fmt.html">fmt</a></span></li><li><span><a href="spork/generators.html">generators</a></span></li><li><span><a href="spork/getline.html">getline</a></span></li><li><span><a href="spork/htmlgen.html">htmlgen</a></span></li><li><span><a href="spork/http.html">http</a></span></li><li><span><a href="spork/httpf.html">httpf</a></span></li><li><span><a href="spork/infix.html">infix</a></span></li><li><span><a href="spork/json.html">json</a></span></li><li><span><a href="spork/mdz.html">mdz</a></span></li><li><span><a href="spork/math.html">math</a></span></li><li><span><a href="spork/misc.html">misc</a></span></li><li><span><a href="spork/netrepl.html">netrepl</a></span></li><li><span><a href="spork/pgp.html">pgp</a></span></li><li><span><a href="spork/build-rules.html">build-rules</a></span></li><li><span><a href="spork/path.html">path</a></span></li><li><span><a href="spork/randgen.html">randgen</a></span></li><li><span><a href="spork/rawterm.html">rawterm</a></span></li><li><span><a href="spork/regex.html">regex</a></span></li><li><span><a href="spork/rpc.html">rpc</a></span></li><li><span><a href="spork/schema.html">schema</a></span></li><li><span><a href="spork/sh.html">sh</a></span></li><li><span><a href="spork/msg.html">msg</a></span></li><li><span><a href="spork/stream.html">stream</a></span></li><li><span><a href="spork/tasker.html">tasker</a></span></li><li><span><a href="spork/temple.html">temple</a></span></li><li><span><a href="spork/test.html">test</a></span></li><li><span><a href="spork/tarray.html">tarray</a></span></li><li><span><a href="spork/utf8.html">utf8</a></span></li><li><span><a href="spork/zip.html">zip</a></span></li></ul></li><li><span><a href="string.html">string</a></span></li><li><span><a href="table.html">table</a></span></li><li><span><a href="misc.html">misc</a></span></li><li><span><a href="tuple.html">tuple</a></span></li></ul></li><li class="caret"><span><a href="../capi/index.html">C API</a></span><ul><li><span><a href="../capi/wrapping.html">Wrapping Types</a></span></li><li><span><a href="../capi/embedding.html">Embedding</a></span></li><li><span><a href="../capi/configuration.html">Configuration</a></span></li><li><span><a href="../capi/array.html">Array C API</a></span></li><li><span><a href="../capi/buffer.html">Buffer C API</a></span></li><li><span><a href="../capi/table.html">Table C API</a></span></li><li><span><a href="../capi/fiber.html">Fiber C API</a></span></li><li><span><a href="../capi/memory-model.html">Memory Model</a></span></li><li><span><a href="../capi/writing-c-functions.html">Writing C Functions</a></span></li></ul></li>
52+
</ul>
53+
</div>
54+
<div class="content-wrapper main-content">
55+
<h4 class="subtitle">Janet 1.38.0-73334f3 Documentation<br>(Other Versions:
56+
57+
<a href="../../1.37.1/api/int.html">1.37.1</a>
58+
59+
<a href="../../1.36.0/api/int.html">1.36.0</a>
60+
61+
<a href="../../1.35.0/api/int.html">1.35.0</a>
62+
63+
<a href="../../1.34.0/api/int.html">1.34.0</a>
64+
65+
<a href="../../1.31.0/api/int.html">1.31.0</a>
66+
67+
<a href="../../1.29.1/api/int.html">1.29.1</a>
68+
69+
<a href="../../1.28.0/api/int.html">1.28.0</a>
70+
71+
<a href="../../1.27.0/api/int.html">1.27.0</a>
72+
73+
<a href="../../1.26.0/api/int.html">1.26.0</a>
74+
75+
<a href="../../1.25.1/api/int.html">1.25.1</a>
76+
77+
<a href="../../1.24.0/api/int.html">1.24.0</a>
78+
79+
<a href="../../1.23.0/api/int.html">1.23.0</a>
80+
81+
<a href="../../1.22.0/api/int.html">1.22.0</a>
82+
83+
<a href="../../1.21.0/api/int.html">1.21.0</a>
84+
85+
<a href="../../1.20.0/api/int.html">1.20.0</a>
86+
87+
<a href="../../1.19.0/api/int.html">1.19.0</a>
88+
89+
<a href="../../1.18.1/api/int.html">1.18.1</a>
90+
91+
<a href="../../1.17.1/api/int.html">1.17.1</a>
92+
93+
<a href="../../1.16.1/api/int.html">1.16.1</a>
94+
95+
<a href="../../1.15.0/api/int.html">1.15.0</a>
96+
97+
<a href="../../1.13.1/api/int.html">1.13.1</a>
98+
99+
<a href="../../1.12.2/api/int.html">1.12.2</a>
100+
101+
<a href="../../1.11.1/api/int.html">1.11.1</a>
102+
103+
<a href="../../1.10.1/api/int.html">1.10.1</a>
104+
105+
<a href="../../1.9.1/api/int.html">1.9.1</a>
106+
107+
<a href="../../1.8.1/api/int.html">1.8.1</a>
108+
109+
<a href="../../1.7.0/api/int.html">1.7.0</a>
110+
111+
<a href="../../1.6.0/api/int.html">1.6.0</a>
112+
113+
<a href="../../1.5.1/api/int.html">1.5.1</a>
114+
115+
<a href="../../1.5.0/api/int.html">1.5.0</a>
116+
117+
<a href="../../1.4.0/api/int.html">1.4.0</a>
118+
119+
<a href="../../1.3.1/api/int.html">1.3.1</a>
120+
)</h4>
121+
<h1 class="subtitle">Integer Types Module</h1>
122+
<div class="prevnext-bar">
123+
<span class="prev"><a href="file.html"><span class="prevnext-text">File Module</span></a></span>
124+
125+
<span class="next"><a href="jpm/index.html"><span class="prevnext-text">JPM</span></a></span>
126+
</div>
127+
128+
129+
<h2 id="Index-8">Index
130+
</h2>
131+
<p><a href="#int/s64">int/s64</a> <a href="#int/to-bytes">int/to-bytes</a> <a href="#int/to-number">int/to-number</a> <a href="#int/u64">int/u64</a> </p><hr><div class="binding"><span id="int/s64" class="binding-sym">int/s64</span> <span class="binding-type">cfunction</span> <span class="binding-type"><a href="https://github.com/janet-lang/janet/blob/73334f3/src/core/inttypes.c#L194">source</a></span> <pre class="binding-text">(int/s64 value)
132+
133+
Create a boxed signed 64 bit integer from a string value or a number.</pre><a href="https://janetdocs.com/int/s64">Community Examples</a></div><hr><div class="binding"><span id="int/to-bytes" class="binding-sym">int/to-bytes</span> <span class="binding-type">cfunction</span> <span class="binding-type"><a href="https://github.com/janet-lang/janet/blob/73334f3/src/core/inttypes.c#L245">source</a></span> <pre class="binding-text">(int/to-bytes value &amp;opt endianness buffer)
134+
135+
Write the bytes of an `int/s64` or `int/u64` into a buffer.
136+
The `buffer` parameter specifies an existing buffer to write to, if unset a new buffer will be created.
137+
Returns the modified buffer.
138+
The `endianness` parameter indicates the byte order:
139+
- `nil` (unset): system byte order
140+
- `:le`: little-endian, least significant byte first
141+
- `:be`: big-endian, most significant byte first
142+
</pre><a href="https://janetdocs.com/int/to-bytes">Community Examples</a></div><hr><div class="binding"><span id="int/to-number" class="binding-sym">int/to-number</span> <span class="binding-type">cfunction</span> <span class="binding-type"><a href="https://github.com/janet-lang/janet/blob/73334f3/src/core/inttypes.c#L208">source</a></span> <pre class="binding-text">(int/to-number value)
143+
144+
Convert an int/u64 or int/s64 to a number. Fails if the number is out of range for an int64.</pre><a href="https://janetdocs.com/int/to-number">Community Examples</a></div><hr><div class="binding"><span id="int/u64" class="binding-sym">int/u64</span> <span class="binding-type">cfunction</span> <span class="binding-type"><a href="https://github.com/janet-lang/janet/blob/73334f3/src/core/inttypes.c#L201">source</a></span> <pre class="binding-text">(int/u64 value)
145+
146+
Create a boxed unsigned 64 bit integer from a string value or a number.</pre><a href="https://janetdocs.com/int/u64">Community Examples</a></div>
147+
<div class="prevnext-bar">
148+
<span class="prev"><a href="file.html"><span class="prevnext-text">File Module</span></a></span>
149+
<span class="next"><a href="jpm/index.html"><span class="prevnext-text">JPM</span></a></span>
150+
</div>
151+
</div>
152+
</div>
153+
154+
155+
<footer>
156+
&copy; Calvin Rose &amp; contributors 2025
157+
<div class="gentag">Generated on March 19, 2025 at 02:31:18 (UTC) with Janet 1.38.0-73334f3</div>
158+
<div class="see-problem">See a problem? Source
159+
<a href="https://github.com/janet-lang/janet-lang.org">on GitHub</a></div>
160+
</footer>
161+
162+
163+
164+
</body>
165+
</html>

0 commit comments

Comments
 (0)