Andrew Kelley
34a4d7a201
update cat example code
2017-01-24 02:06:56 -05:00
Andrew Kelley
4b3f18de3c
printf var args proof of concept
...
See #167
Need to troubleshoot when we send 2 slices to printf. It goes
into an infinite loop.
This commit introduces 4 builtin functions:
* `@isInteger`
* `@isFloat`
* `@canImplictCast`
* `@typeName`
2017-01-24 02:02:48 -05:00
Andrew Kelley
32d8686da8
various fixes
...
* comptime expression is a block expression as it should be
* fix var args when number of args passed is 0
* implement const value equality for structs
* fix indent when rendering container decl AST
* IR: prevent duplicate generation of code when it is partially
compile-time evaluated
* implement compile time struct field pointer evaluation
* fix compile time evaluation of slicing
2017-01-23 23:30:20 -05:00
Andrew Kelley
e621ad014e
pass cannot assign to constant test
2017-01-05 18:50:36 -05:00
Andrew Kelley
cfaced3f73
rename errName builtin to errorName
2016-09-05 17:03:11 -04:00
Andrew Kelley
f18e34c2c6
restore shared library functionality
2016-09-01 11:05:36 -07:00
Andrew Kelley
320e26590a
fix std io input to work for non seekable fds
2016-08-31 20:23:47 -07:00
Andrew Kelley
289bfa890b
fix c hello world example
2016-08-30 20:48:30 -07:00
Andrew Kelley
ed50bd1b65
progress toward stack trace printing
2016-08-17 20:11:04 -07:00
Andrew Kelley
37d167f6e0
std: conform to style guidelines
2016-08-16 22:42:50 -07:00
Andrew Kelley
06c4b35eb1
std: improve rand implementation and API
2016-07-26 23:51:58 -07:00
Andrew Kelley
78d4fb20c4
inline parameters
...
This replaces the current generic syntax for functions and replaces
it with the concept of inline parameters.
This paves the way for the "all structs anonymous" proposal.
Closes #151 .
2016-07-25 22:55:15 -07:00
Andrew Kelley
6a7f3c8df7
std: make parsing an unsigned number generic
2016-05-13 11:11:55 -07:00
Andrew Kelley
4961910e7f
cat example: fix not flushing stderr
2016-04-24 11:23:46 -07:00
Andrew Kelley
f4c7e1bf49
rearrange standard library a bit
2016-04-18 16:42:56 -07:00
Andrew Kelley
1688ccb3dd
update README
2016-04-14 11:34:46 -07:00
Andrew Kelley
fdf6a18461
fix cat example by flushing stdout at end
2016-04-09 14:40:09 -07:00
Andrew Kelley
5dbc21b511
update cat example, refactor std
...
partial implementation of @err_name
2016-04-08 16:21:30 -07:00
Andrew Kelley
f1d338194e
rewrite how importing works
...
* Introduce the concept of packages. Closes #3
* Add support for error notes.
* Introduce `@import` and `@c_import` builtin functions and
remove the `import` and `c_import` top level declarations.
* Introduce the `use` top level declaration.
* Add `--check-unused` parameter to perform semantic
analysis and codegen on all top level declarations, not
just exported ones and ones referenced by exported ones.
* Delete the root export node and add `--library` argument.
2016-03-01 03:13:40 -07:00
Andrew Kelley
d8f6388b63
if statements can be const expr evaluated
...
also introduce error for unnecessary if statement
but if the condition depends on a compile variable, then
the if statement is OK
2016-02-09 18:53:28 -07:00
Andrew Kelley
ea3bd58563
add link to tetris example
2016-02-07 22:40:58 -07:00
Andrew Kelley
4c8f26e9f6
std: remove auto flushing of stderr. use printf
2016-02-06 19:48:42 -07:00
Andrew Kelley
ec33e5a638
simple unconditional defer support
...
See #110
2016-02-06 01:00:29 -07:00
Andrew Kelley
bb4a532785
move os_get_random_bytes to os.zig
2016-02-04 01:00:54 -07:00
Andrew Kelley
97c61313da
c_import of stdio.h works for some functions
...
See #88
2016-01-27 23:23:02 -07:00
Andrew Kelley
e809baa866
remove bogus example code
2016-01-27 12:35:06 -07:00
Andrew Kelley
5afe473a86
different extern syntax and simplify parsing top level decls
2016-01-26 13:08:21 -07:00
Andrew Kelley
4e43973413
variable initializations are now mandatory
...
use `undefined` if you want uninitialized memory
2016-01-25 23:56:46 -07:00
Andrew Kelley
a37bb4a4da
add the C integer types
2016-01-25 23:21:13 -07:00
Andrew Kelley
1d68150242
compiler enforces checking for error
...
See #23
2016-01-25 20:27:57 -07:00
Andrew Kelley
50854226a6
syntax: back to -> for return type, no more =>
2016-01-25 17:08:18 -07:00
Andrew Kelley
deb3586884
implement %% prefix operator
...
See #23
also make undefined constants use llvm undef value
2016-01-25 15:45:05 -07:00
Andrew Kelley
6db6609df8
implement %% operator
...
See #23
2016-01-25 13:53:40 -07:00
Andrew Kelley
bcb18338cd
update std lib to use error type and global variables
2016-01-24 22:53:00 -07:00
Andrew Kelley
f5cc7f65a3
fix parameter access of sret functions
2016-01-24 19:27:12 -07:00
Andrew Kelley
5c18826240
introduce the error keyword and type
...
See #23
2016-01-24 01:34:57 -07:00
Andrew Kelley
37aae53009
various small cleanups
2016-01-23 03:06:29 -07:00
Andrew Kelley
706f72f1b4
fix hang when returning from while loop
...
also fixes duplicate error message for function missing
return type.
also makes guess number game use %void for main return type.
closes #58
2016-01-23 02:46:24 -07:00
Andrew Kelley
c0ea9290c4
main returns %void
2016-01-23 02:14:01 -07:00
Andrew Kelley
5e212db29c
parsing error value decls and error value literals
...
and return with '?' or '%' prefix
2016-01-20 18:18:50 -07:00
Andrew Kelley
ad9759bc8e
basic support for switch expression
2016-01-20 02:12:24 -07:00
Andrew Kelley
ae2151a751
use signed integer for sizes of things
2016-01-18 21:13:14 -07:00
Andrew Kelley
92dccde2fd
revise plan for cat example
2016-01-18 19:32:27 -07:00
Andrew Kelley
826c7f06a3
fix cat example
2016-01-16 03:31:43 -07:00
Andrew Kelley
9e74b7e754
proposed cat example implementation
2016-01-16 03:10:15 -07:00
Andrew Kelley
5f7685336f
better main symbol prototype
...
closes #64
2016-01-16 00:07:34 -07:00
Andrew Kelley
dc162c7f83
rename "use" to "import"
2016-01-15 18:45:52 -07:00
Andrew Kelley
5f9ecb8566
instead of 'as' to cast, call type as function
2016-01-14 02:52:33 -07:00
Andrew Kelley
b28b7f63d1
all types are now expressions
...
See #22
2016-01-13 18:15:51 -07:00
Andrew Kelley
75d5786603
cleanup guess number example
2016-01-10 01:32:15 -07:00