Calvin Rose
e6306ea188
Add script for removing <CR> on windows.
...
This caused bad stuff to be generated on windows, specifically
the amalg file. We cause totally strip <CR> from files on windows
using this script.
2019-09-12 23:18:52 -05:00
Calvin Rose
0fce440455
See if we can use a different build of NSIS.
2019-08-07 22:19:49 -04:00
Calvin Rose
44e752d737
Add shorthand function literals to janet.
...
These are similar to the function literals from Clojure
(also Fennel), and should make short functions for maps, filters, etc.
easier to write.
2019-08-04 12:25:52 -05:00
Calvin Rose
8bbe518696
Executables linking to natives working on linux.
...
This involves a bunch of machinery in cook.janet
and even a little bit in the janet C API.
2019-07-28 13:27:20 -05:00
Calvin Rose
ec32d11b76
Update installer and make things build on windows.
...
We can now build windows executables with jpm.
2019-07-28 01:05:15 -04:00
Calvin Rose
7e97687c9e
Update windows installation and automation.
2019-07-27 21:44:44 -04:00
Calvin Rose
da5a64131f
Progress towards making windows work again.
2019-07-27 16:16:28 -04:00
Calvin Rose
b0b1024f8a
Try to fix some tests for CI.
2019-07-27 11:05:53 -05:00
Calvin Rose
dfe00fee94
Building standalone binaries on linux working.
...
Mostly changes to cook and jpm. Also some
code for file associations in the windows installer, and
adding the :linux value from os/which (instead of just :posix).
2019-07-26 22:43:54 -05:00
Barakat
95dbad6ec1
Remove amalg.janet dependency on os/date
...
When compiling Janet with `JANET_REDUCED_OS`, `os/date` will not be available which breaks the tool amalg.janet. One can check file modification time on the filesystem instead.
2019-07-09 13:49:37 +03:00
Calvin Rose
e8e4d637ef
Fix jpm.bat on a normal install
...
The path to jpm.janet will likely have spaces.
2019-07-08 19:54:14 -04:00
Krystian Rosiński
6099d2a45d
Fix typo in jpm.bat
2019-07-05 19:49:55 +02:00
Calvin Rose
1ceaceada4
Fix doc generation.
2019-06-19 09:48:33 -04:00
Calvin Rose
b082c8123e
Update tm_language_gen.
2019-06-05 11:07:08 -04:00
Calvin Rose
3d76d988c3
More work on installation and moving files around.
...
Move all installed libraries into auxlib.
Move all installed executable scripts into auxbin.
2019-06-01 10:38:28 -04:00
Calvin Rose
c8c6419013
Update installer again.
2019-05-29 19:48:31 -04:00
Calvin Rose
e8516c29e0
Update installer and jpm to work better on windows.
2019-05-29 19:01:12 -04:00
Calvin Rose
178d175bcf
Update options for jpm and path stuff.
2019-05-29 11:04:38 -04:00
Calvin Rose
6c897b1a37
Add default for bindir.
2019-05-28 22:41:47 -04:00
Calvin Rose
db55277b58
Work on windows installer.
...
We will probably shift to NSIS as the default
installation method for windows. Shipping around a
single binary just doesn't cut it if we want to be able
to reliably use tools like `jpm` to build things.
2019-05-28 20:45:39 -04:00
Calvin Rose
f12f896020
Change test-install
2019-05-28 12:59:21 -04:00
Calvin Rose
09ab391d13
Add import-rules to cook.
...
First steps to recursive rules. Just needs normalized paths
relative to the directory of the imported file.
2019-05-28 09:49:10 -04:00
Calvin Rose
7569930b0c
More work on cook and jpm.
2019-05-28 08:48:35 -04:00
Calvin Rose
e7189438dd
More work on jpm
...
Switch to rea dependency graph for a rake-like tool.
This model is more powerful for writing build scripts.
2019-05-27 22:14:24 -04:00
Calvin Rose
1696de233c
Add jpm tool, based on cook.
...
Modify cook as well.
2019-05-27 16:50:57 -04:00
Calvin Rose
f35b5765d6
Set module/*headerpath* during bootstrap
...
Cook also uses module/*headerpath* for finding headers
rather than using module/*syspath*.
2019-05-15 10:49:16 -04:00
Calvin Rose
52ab9fb475
Update cook tool and headers.
2019-05-09 17:37:46 -04:00
Calvin Rose
5a28d8d1fa
fix cook error.
2019-05-04 18:55:36 -04:00
Calvin Rose
ea25766374
fix cook.
2019-05-04 17:59:48 -04:00
Calvin Rose
03e3ecb0a1
Update cook tool.
2019-05-02 13:10:14 -04:00
Calvin Rose
2d7df6b78e
Many changes for adding dynamic (fiber-level) scope.
...
- Allow passing a table to fibers, which make fiber level scope easier.
- Add fiber/getenv, fiber/setenv, dyn, and setdyn
- Remove meta, *env*, and *doc-width*
- Some functions changed dignatures, and no longer take an env
2019-04-16 15:41:45 -04:00
Calvin Rose
4ded5e10a2
Update cook tool to export shell function.
2019-04-12 13:48:45 -04:00
Calvin Rose
59c69e6896
Update cook cleaning up directory.
2019-04-05 20:01:03 -04:00
Calvin Rose
cd6c009c03
Reformat and use new os/stat capabilities.
2019-04-01 11:21:45 -04:00
Calvin Rose
b15cf193a0
Update os/stat
...
os/stat can now take a keyword as the second argument
to avoid creating a table if one only wants on value
from stat.
2019-04-01 11:11:15 -04:00
Calvin Rose
429dc70374
Update cook tool to use os/stat for file age.
2019-03-31 21:35:44 -04:00
Calvin Rose
2c9195b507
More updates to meson
...
Redo amalg script so we can more easily run
it from Meson.
2019-03-23 13:50:50 -04:00
Calvin Rose
bad040665f
Renamed bigint -> inttypes / int
...
A lot of refactoring larger integer types. Fix a number
of casting errors, but mostly rename things. Also try to
limit use of template-like macros as they bloat the binary
if not used in moderation. We were able to reduce the size of
typed array code as well by using a single view types.
2019-03-18 18:36:53 -07:00
Calvin Rose
ad5b0a371e
Optional param in bars.janet
2019-03-12 11:35:27 -04:00
Calvin Rose
ba4dd9b5bb
Fix splice -> unquote splice
2019-03-12 11:16:27 -04:00
Calvin Rose
98e68a5cb4
Update special form lists to include break.
2019-03-11 00:58:26 -04:00
Calvin Rose
951aa0d8cd
Add typed array code to amalg.
2019-03-08 10:02:09 -05:00
Calvin Rose
6158ec0ce5
Add -undefined dynamic_lookup on mac.
2019-03-03 15:18:17 -05:00
Calvin Rose
4713219317
Update whitespace and some doc strings.
2019-02-25 23:48:04 -05:00
Calvin Rose
602e30a421
Add "\v" string esca[e sequence.
2019-02-24 14:46:16 -05:00
Calvin Rose
cb002e7b84
Update generating tools to produce stylish code.
...
Really small whitespace changes in generated code.
2019-02-19 21:28:22 -05:00
Calvin Rose
9d4effc02e
Add make format to format code.
...
A consistent style should help with contributors and
readability. We use astyle as the formatter as can make a pretty
good approximation of the current style and my preferred style.
Astyle can be found at http://astyle.sourceforge.net/astyle.html
2019-02-19 20:51:34 -05:00
Dan Skorupski
ef5f80ad38
Fix indentation, converting some tabs to spaces.
2019-02-19 17:54:13 -06:00
Calvin Rose
dbcbb4466d
We don't need to add module/\*headerpath\*.
...
We can just dump janet.h into the lib folder as well.
2019-02-18 22:25:40 -05:00
Calvin Rose
7927078b49
Include header path when building modules.
2019-02-18 20:27:00 -05:00
Calvin Rose
6d5ff43de7
Make amalg build cleaner.
...
Don't pull in a global header <janet/janet.h> unless we need to.
2019-02-16 23:33:24 -05:00
Calvin Rose
efab484fff
Remove some more extra text in core api doc.
2019-02-16 18:39:44 -05:00
Calvin Rose
4ba7fbb8bb
Remove extra 'at' in generated doc.
2019-02-16 18:38:34 -05:00
Calvin Rose
53cc7ebd29
Fix gendoc.
2019-02-16 18:37:15 -05:00
Calvin Rose
fe27df528c
Boot core library from image rather than source
...
This should speed up start time and reduce malloc/free
usage to about 15% of what is what previously for startup.
The current cost is slightly larger binary as the representaion
of the image is currently less compact than source code.
2019-02-08 00:44:30 -05:00
Calvin Rose
367c9da856
Fix some typos and update style.
...
Add bars.janet tool for templating arbitrary
strings, especially HTML.
2019-01-31 22:38:59 -05:00
J.-F. Cap
b138ee6e8e
Added :lflags option to cook/make-native
2019-01-31 13:30:37 +01:00
Fyodor Shchukin
a7551e9b4e
Cooking on windows
2019-01-30 17:31:53 +03:00
Calvin Rose
ee5fa54134
Generated files go to the same location on win32.
2019-01-26 17:33:30 -05:00
Calvin Rose
5bf9e4fc89
Make amalg tool windows friendly
...
Convert / to \ in file paths for windows.
2019-01-26 17:17:56 -05:00
Calvin Rose
7350bf5dd9
Add anchors in generated docs
...
This allows us to link to specific functions.
2019-01-26 10:12:33 -05:00
Calvin Rose
00301ad26b
Add build number to amalg build.
2019-01-24 00:26:57 -05:00
Calvin Rose
611543c48b
Add source amalgamation
...
The amalgamated source concatenates all sources
to a file janet.c which can be used for
embedding janet, much in the same way as sqlite
or mongoose.
2019-01-24 00:15:58 -05:00
Calvin Rose
0025f6ac87
Export html-escape from highlight tool.
2019-01-20 13:31:26 -05:00
Calvin Rose
737b2449f0
Update highlight and the mainclient.
2019-01-20 10:05:51 -05:00
Calvin Rose
f7a0133eb1
Update highlight.janet (allow ! in symbols).
2019-01-20 08:53:34 -05:00
Calvin Rose
4a6fcb5e23
Address issue #21
...
Add some github highlighting to janet files (clojure is pretty close)
2019-01-19 12:11:54 -05:00
Calvin Rose
26818a5e5c
Fix doc generation.
2019-01-18 12:26:04 -05:00
Calvin Rose
b4934ceddc
Make parser errors a bit better for files with no closing
...
delimiters.
2019-01-17 23:43:46 -05:00
Calvin Rose
c4114fbcdb
Add quote special to peg syntax to make captures terser.
2019-01-17 19:28:42 -05:00
Calvin Rose
95f2bbe0a0
Add highlight.janet tool which can highlight
...
janet source code and output html or terminal escaped code.
Also made re entrant calls into the vm provide better
error messages.
2019-01-17 18:12:26 -05:00
Calvin Rose
115ed9cbb9
Move pretty printing to separate file pp.c
...
Simplify string.c and remove janet_puts.
2019-01-09 11:47:29 -05:00
Calvin Rose
ff3f7487a4
Add splice special form to grammar.
2019-01-08 20:05:36 -05:00
Calvin Rose
5b1a3b8208
Make grammar tool completely generate grammar from scratch.
...
Remove grammar from source tree.
2019-01-08 19:59:54 -05:00
Calvin Rose
eae4e0dede
Add functionality that allows the set macro to
...
take a tuple as an l-value. Remove the old
multi-sym report in anticipation of a different
mechanism.
2019-01-06 19:33:27 -05:00
Calvin Rose
6f3bc3d577
Update copyright date, fix types, remove trailing whitespace.
2019-01-06 03:23:03 -05:00
Calvin Rose
5865692401
Surround embedded documentation with a macro so it
...
can be disabled in a future build.
2019-01-06 01:49:56 -05:00
Calvin Rose
28331ad6ab
Update buffer/push-integer to buffer/push-word.
2018-12-29 13:07:18 -05:00
Calvin Rose
424073bbb8
Update cook tool to not rebuild files unless it needs to.
2018-12-27 14:13:10 -05:00
Calvin Rose
5a3190d471
Update cook tool to allow embedding sources.
2018-12-26 22:40:19 -05:00
Calvin Rose
e7a8958c63
Move grammar helper to tools directory.
2018-12-25 17:38:54 -05:00
Calvin Rose
017ee2b0d1
Move gendoc.janet script.
2018-12-25 17:37:52 -05:00
Calvin Rose
6c8da9fe5c
Install cook tool when installing janet.
2018-12-25 15:39:24 -05:00
Calvin Rose
17283241ab
Fix bug in compiler with if form under certain conditions.
...
Begin bundled 'cook' tool for managing janet projects.
2018-12-25 15:32:42 -05:00
Calvin Rose
21d4b8fe1f
Move tools out of src (src should be
...
only code that goes into final binary).
2018-12-09 17:49:00 -05:00