Lichen

Annotated lib/native/list.py

955:db49ed1bde3b
2021-11-09 Paul Boddie Avoid making general expressions immutable as arguments. tagged-address-values
paul@354 1
#!/usr/bin/env python
paul@354 2
paul@354 3
"""
paul@354 4
Native library functions for lists.
paul@354 5
paul@354 6
None of these are actually defined here. Instead, native implementations are
paul@354 7
substituted when each program is built. It is, however, important to declare
paul@354 8
non-core exceptions used by the native functions because they need to be
paul@354 9
identified as being needed by the program.
paul@354 10
paul@795 11
Copyright (C) 2011, 2015, 2016, 2017 Paul Boddie <paul@boddie.org.uk>
paul@354 12
paul@354 13
This program is free software; you can redistribute it and/or modify it under
paul@354 14
the terms of the GNU General Public License as published by the Free Software
paul@354 15
Foundation; either version 3 of the License, or (at your option) any later
paul@354 16
version.
paul@354 17
paul@354 18
This program is distributed in the hope that it will be useful, but WITHOUT
paul@354 19
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
paul@354 20
FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
paul@354 21
details.
paul@354 22
paul@354 23
You should have received a copy of the GNU General Public License along with
paul@354 24
this program.  If not, see <http://www.gnu.org/licenses/>.
paul@354 25
"""
paul@354 26
paul@795 27
# NOTE: Example values used to provide type information.
paul@795 28
paul@354 29
def list_init(size): pass
paul@354 30
def list_setsize(self, size): pass
paul@354 31
def list_append(self, value): pass
paul@354 32
def list_concat(self, other): pass
paul@795 33
def list_len(self): return 0
paul@795 34
def list_nonempty(self): return True or False
paul@354 35
def list_element(self, index): pass
paul@354 36
def list_setelement(self, index, value): pass
paul@354 37
paul@354 38
# vim: tabstop=4 expandtab shiftwidth=4