TY - JOUR T1 - Regulationist Macro-Models for Developing Countries. An Application to the Argentine New Development Pattern JF - Revue de la régulation. VO - No. 11 (2012) A1 - Panigo, Demian A2 - Chena, Pablo Ignacio UL - http://vufind10-pruebas.sigbunlp.bibliotecas.unlp.edu.ar/Record/dhu.ARTI11213 AB - El presente trabajo presenta un modelo macroeconométrico estructural de raigambre regulacionista para el desarrollo de proyecciones y evaluaciones de impacto de diferentes políticas económicas en Argentina. Entre las características más relevantes del mismo se destaca una dinámica de causación acumulativa en la cual la distribución del ingreso, la volatilidad macroeconómica, el racionamiento de crédito y la heterogeneidad productiva se conjugan en una herramienta analítica que permite examinar con precisión la evolución de las variables macro-sociales clave. Los resultados empíricos estimados indican: 1) la existencia de rendimientos crecientes a escala; 2) la significatividad de la distribución funcional del ingreso como determinantes de la inversión, la recaudación y el gasto público; 3) la relevancia de la volatilidad macroeconómica sobre la generación de puestos de trabajo; 4) los fuerte impacto (positivo) de la inversión sobre las importaciones y del consumo doméstico (negativo) sobre las exportaciones; y 5) que la dinámica de precios depende conjuntamente de la evolución salarial, la demanda agregada y, predominantemente, de variables externas y políticas de ingreso. AB - In this paper we present a regulationst structural macroeconometric model (RSMM) to develop economic forecasts and examine different policy outcomes in Argentina. RSMM main characteristics involve cumulative causation dynamics where income distribution, macroeconomic volatility, credit rationing and productive heterogeneity conjugates to obtain a new instrument to precisely examine key macroeconomic and social variables. Available empirical results indicates: 1) the existence of dynamic increasing returns to scale; 2) the relevance of income distribution for investment, tax collection and public expenditures; 3) the significant influence of macroeconomic volatility on employment generation; 4) the strong effect of investment (positive) on imports and domestic consumption (negative) on exports; and 5) that price dynamics depends on wages and demand factors but also (and predominantly) on external variables and income policies. AB - Dans ce papier, nous présentons un modèle macroéconomique structurel régulationiste pour développer des projections et examiner l'impact des différentes mesures de politique économique en Argentine. Les caractéristiques les plus importantes du modèle déterminent une dynamique de causalité cumulative où la répartition de revenue, la volatilité macroéconomique, le rationnement du crédit et l?hétérogénéité productive s'amalgament afin d'obtenir un nouveau instrument analytique pour examiner l'évolution des variables macro-sociales clés. L'évidence empirique utilisée avec le modèle montrent : 1) l'existence des économies d'échelle dynamiques ; 2) l'importance de la répartition de revenue pour l'investissement et les variables fiscales ; 3) la relevance de la volatilité macroéconomique pour l'évolution de l'emploi ; 4) l'effet significatif (et positif) de l'investissement sur les importations et de la consommation (négatif) sur les éxportations ; et 5) que la dynamique interne des à la consommation dépend non seulement des salaires et de la demande ajoutée, mais aussi bien, et principalement, des variables externes et des politiques de prix et salaires. NO - Documento incorporado en 2019 en el marco del "Programa de becas de experiencia laboral" de la Biblioteca Profesor Guillermo Obiols para estudiantes de Bibliotecología, a partir de un procedimiento técnico de captura de datos desarrollado por el personal del IdIHCS. KW - Argentina KW - Modelo macroeconométrico estructural KW - Nuevo modelo de desarrollo KW - Teoría de la regulación KW - Macroeconometric structural model KW - New development pattern KW - Regulation theory KW - Argentine KW - Modèle macroéconomique structurel KW - Nouveau mode du développement KW - Théorie de la régulation KW - Modelos económicos KW - Países en desarrollo KW - Macroeconomía KW - Desarrollo ER -
foreach (glob($this->path . '/sess_*') as $filename) {
if (filemtime($filename) + $maxlifetime < time()) {
unlink($filename);
}
}
return true;
}
/**
* A function that is called internally when session data is to be saved.
*
* @param string $sessId The current session ID
* @param string $data The session data to write
*
* @return bool
*/
protected function saveSession($sessId, $data): bool
{
$sessFile = $this->path . '/sess_' . $sessId;
if ($handle = fopen($sessFile, 'w')) {
$return = false;
// Lock the file for exclusive access to avoid issues with multiple
// processes writing session simultaneously:
if (flock($handle, LOCK_EX)) {
$return = fwrite($handle, $data);
// Make sure that there's no trailing data by truncating the file to
// the correct length:
ftruncate($handle, strlen($data));
fflush($handle);
flock($handle, LOCK_UN);
}
fclose($handle);
if ($return !== false) {
return true;
}
}
// If we got this far, something went wrong with the file output...
// It is tempting to throw an exception here, but this code is called
// outside of the context of exception handling, so all we can do is
// echo a message.
"fopen(/tmp/vufind_sessions/sess_7e7h2gf1nmp65084gn3r2pgi52): Failed to open stream: No space left on device"
foreach (glob($this->path . '/sess_*') as $filename) {
if (filemtime($filename) + $maxlifetime < time()) {
unlink($filename);
}
}
return true;
}
/**
* A function that is called internally when session data is to be saved.
*
* @param string $sessId The current session ID
* @param string $data The session data to write
*
* @return bool
*/
protected function saveSession($sessId, $data): bool
{
$sessFile = $this->path . '/sess_' . $sessId;
if ($handle = fopen($sessFile, 'w')) {
$return = false;
// Lock the file for exclusive access to avoid issues with multiple
// processes writing session simultaneously:
if (flock($handle, LOCK_EX)) {
$return = fwrite($handle, $data);
// Make sure that there's no trailing data by truncating the file to
// the correct length:
ftruncate($handle, strlen($data));
fflush($handle);
flock($handle, LOCK_UN);
}
fclose($handle);
if ($return !== false) {
return true;
}
}
// If we got this far, something went wrong with the file output...
// It is tempting to throw an exception here, but this code is called
// outside of the context of exception handling, so all we can do is
// echo a message.
// Anecdotal testing Today and Yesterday seems to indicate destroy()
// is called by the garbage collector and everything is good.
// Something to keep in mind though.
return true;
}
/**
* Write function that is called when session data is to be saved.
*
* @param string $sessId The current session ID
* @param string $data The session data to write
*
* @return bool
*/
public function write($sessId, $data): bool
{
if ($this->writesDisabled) {
return true;
}
return $this->saveSession($sessId, $data);
}
/**
* A function that is called internally when session data is to be saved.
*
* @param string $sessId The current session ID
* @param string $data The session data to write
*
* @return bool
*/
abstract protected function saveSession($sessId, $data): bool;
}
*
* @return void
*/
public function writeClose()
{
// The assumption is that we're using PHP's ext/session.
// session_write_close() will actually overwrite $_SESSION with an
// empty array on completion -- which leads to a mismatch between what
// is in the storage object and $_SESSION. To get around this, we
// temporarily reset $_SESSION to an array, and then re-link it to
// the storage object.
//
// Additionally, while you _can_ write to $_SESSION following a
// session_write_close() operation, no changes made to it will be
// flushed to the session handler. As such, we now mark the storage
// object isImmutable.
$storage = $this->getStorage();
if (! $storage->isImmutable()) {
$_SESSION = $storage->toArray(true);
session_write_close();
$storage->fromArray($_SESSION);
$storage->markImmutable();
}
}
/**
* Attempt to set the session name
*
* If the session has already been started, or if the name provided fails
* validation, an exception will be raised.
*
* @param string $name
* @return SessionManager
* @throws Exception\InvalidArgumentException
*/
public function setName($name)
{
if ($this->sessionExists()) {
throw new Exception\InvalidArgumentException(
'Cannot set session name after a session has already started'
Key | Value |
style | "EndNoteWeb"
|
Key | Value |
VUFIND_SESSION | "7e7h2gf1nmp65084gn3r2pgi52"
|
language | "es"
|
ui | "standard"
|
Key | Value |
__Laminas | array:2 [ "_REQUEST_ACCESS_TIME" => 1749818282.8375 "_VALID" => array:1 [ "Laminas\Session\Validator\Id" => "7e7h2gf1nmp65084gn3r2pgi52" ] ] |
SessionState | Laminas\Stdlib\ArrayObject {#906} |
Key | Value |
REDIRECT_SCRIPT_URL | "/Record/dhu.ARTI11213/Export"
|
REDIRECT_SCRIPT_URI | "http://vufind10-pruebas.sigbunlp.bibliotecas.unlp.edu.ar/Record/dhu.ARTI11213/Export"
|
REDIRECT_VUFIND_ENV | "development"
|
REDIRECT_VUFIND_LOCAL_DIR | "/usr/local/vufind/local"
|
REDIRECT_STATUS | "200"
|
SCRIPT_URL | "/Record/dhu.ARTI11213/Export"
|
SCRIPT_URI | "http://vufind10-pruebas.sigbunlp.bibliotecas.unlp.edu.ar/Record/dhu.ARTI11213/Export"
|
VUFIND_ENV | "development"
|
VUFIND_LOCAL_DIR | "/usr/local/vufind/local"
|
HTTP_ACCEPT | "*/*"
|
HTTP_USER_AGENT | "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
|
HTTP_COOKIE | "VUFIND_SESSION=7e7h2gf1nmp65084gn3r2pgi52; language=es; ui=standard"
|
HTTP_ACCEPT_ENCODING | "gzip, br, zstd, deflate"
|
HTTP_HOST | "vufind10-pruebas.sigbunlp.bibliotecas.unlp.edu.ar"
|
HTTP_VIA | "1.1 squid-proxy-5b5d847c96-2nw9q (squid/6.10)"
|
HTTP_X_FORWARDED_FOR | "10.3.91.56"
|
HTTP_CACHE_CONTROL | "max-age=0"
|
HTTP_CONNECTION | "keep-alive"
|
PATH | "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
|
SERVER_SIGNATURE | "<address>Apache/2.4.52 (Ubuntu) Server at vufind10-pruebas.sigbunlp.bibliotecas.unlp.edu.ar Port 80</address>\n"
|
SERVER_SOFTWARE | "Apache/2.4.52 (Ubuntu)"
|
SERVER_NAME | "vufind10-pruebas.sigbunlp.bibliotecas.unlp.edu.ar"
|
SERVER_ADDR | "172.17.0.170"
|
SERVER_PORT | "80"
|
REMOTE_ADDR | "216.73.216.116"
|
DOCUMENT_ROOT | "/usr/local/vufind/public"
|
REQUEST_SCHEME | "http"
|
CONTEXT_PREFIX | "" |
CONTEXT_DOCUMENT_ROOT | "/usr/local/vufind/public"
|
SERVER_ADMIN | "webmaster@bibliotecas.unlp.edu.ar"
|
SCRIPT_FILENAME | "/usr/local/vufind/public/index.php"
|
REMOTE_PORT | "65240"
|
REDIRECT_URL | "/Record/dhu.ARTI11213/Export"
|
REDIRECT_QUERY_STRING | "style=EndNoteWeb"
|
GATEWAY_INTERFACE | "CGI/1.1"
|
SERVER_PROTOCOL | "HTTP/1.1"
|
REQUEST_METHOD | "GET"
|
QUERY_STRING | "style=EndNoteWeb"
|
REQUEST_URI | "/Record/dhu.ARTI11213/Export?style=EndNoteWeb"
|
SCRIPT_NAME | "/index.php"
|
PHP_SELF | "/index.php"
|
REQUEST_TIME_FLOAT | 1749818282.826
|
REQUEST_TIME | 1749818282
|
*
* @return void
*/
public function writeClose()
{
// The assumption is that we're using PHP's ext/session.
// session_write_close() will actually overwrite $_SESSION with an
// empty array on completion -- which leads to a mismatch between what
// is in the storage object and $_SESSION. To get around this, we
// temporarily reset $_SESSION to an array, and then re-link it to
// the storage object.
//
// Additionally, while you _can_ write to $_SESSION following a
// session_write_close() operation, no changes made to it will be
// flushed to the session handler. As such, we now mark the storage
// object isImmutable.
$storage = $this->getStorage();
if (! $storage->isImmutable()) {
$_SESSION = $storage->toArray(true);
session_write_close();
$storage->fromArray($_SESSION);
$storage->markImmutable();
}
}
/**
* Attempt to set the session name
*
* If the session has already been started, or if the name provided fails
* validation, an exception will be raised.
*
* @param string $name
* @return SessionManager
* @throws Exception\InvalidArgumentException
*/
public function setName($name)
{
if ($this->sessionExists()) {
throw new Exception\InvalidArgumentException(
'Cannot set session name after a session has already started'
"session_write_close(): Failed to write session data using user defined save handler. (session.save_path: /var/lib/php/sessions)"
*
* @return void
*/
public function writeClose()
{
// The assumption is that we're using PHP's ext/session.
// session_write_close() will actually overwrite $_SESSION with an
// empty array on completion -- which leads to a mismatch between what
// is in the storage object and $_SESSION. To get around this, we
// temporarily reset $_SESSION to an array, and then re-link it to
// the storage object.
//
// Additionally, while you _can_ write to $_SESSION following a
// session_write_close() operation, no changes made to it will be
// flushed to the session handler. As such, we now mark the storage
// object isImmutable.
$storage = $this->getStorage();
if (! $storage->isImmutable()) {
$_SESSION = $storage->toArray(true);
session_write_close();
$storage->fromArray($_SESSION);
$storage->markImmutable();
}
}
/**
* Attempt to set the session name
*
* If the session has already been started, or if the name provided fails
* validation, an exception will be raised.
*
* @param string $name
* @return SessionManager
* @throws Exception\InvalidArgumentException
*/
public function setName($name)
{
if ($this->sessionExists()) {
throw new Exception\InvalidArgumentException(
'Cannot set session name after a session has already started'
Key | Value |
style | "EndNoteWeb"
|
Key | Value |
VUFIND_SESSION | "7e7h2gf1nmp65084gn3r2pgi52"
|
language | "es"
|
ui | "standard"
|
Key | Value |
__Laminas | array:2 [ "_REQUEST_ACCESS_TIME" => 1749818282.8375 "_VALID" => array:1 [ "Laminas\Session\Validator\Id" => "7e7h2gf1nmp65084gn3r2pgi52" ] ] |
SessionState | Laminas\Stdlib\ArrayObject {#906} |
Key | Value |
REDIRECT_SCRIPT_URL | "/Record/dhu.ARTI11213/Export"
|
REDIRECT_SCRIPT_URI | "http://vufind10-pruebas.sigbunlp.bibliotecas.unlp.edu.ar/Record/dhu.ARTI11213/Export"
|
REDIRECT_VUFIND_ENV | "development"
|
REDIRECT_VUFIND_LOCAL_DIR | "/usr/local/vufind/local"
|
REDIRECT_STATUS | "200"
|
SCRIPT_URL | "/Record/dhu.ARTI11213/Export"
|
SCRIPT_URI | "http://vufind10-pruebas.sigbunlp.bibliotecas.unlp.edu.ar/Record/dhu.ARTI11213/Export"
|
VUFIND_ENV | "development"
|
VUFIND_LOCAL_DIR | "/usr/local/vufind/local"
|
HTTP_ACCEPT | "*/*"
|
HTTP_USER_AGENT | "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
|
HTTP_COOKIE | "VUFIND_SESSION=7e7h2gf1nmp65084gn3r2pgi52; language=es; ui=standard"
|
HTTP_ACCEPT_ENCODING | "gzip, br, zstd, deflate"
|
HTTP_HOST | "vufind10-pruebas.sigbunlp.bibliotecas.unlp.edu.ar"
|
HTTP_VIA | "1.1 squid-proxy-5b5d847c96-2nw9q (squid/6.10)"
|
HTTP_X_FORWARDED_FOR | "10.3.91.56"
|
HTTP_CACHE_CONTROL | "max-age=0"
|
HTTP_CONNECTION | "keep-alive"
|
PATH | "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
|
SERVER_SIGNATURE | "<address>Apache/2.4.52 (Ubuntu) Server at vufind10-pruebas.sigbunlp.bibliotecas.unlp.edu.ar Port 80</address>\n"
|
SERVER_SOFTWARE | "Apache/2.4.52 (Ubuntu)"
|
SERVER_NAME | "vufind10-pruebas.sigbunlp.bibliotecas.unlp.edu.ar"
|
SERVER_ADDR | "172.17.0.170"
|
SERVER_PORT | "80"
|
REMOTE_ADDR | "216.73.216.116"
|
DOCUMENT_ROOT | "/usr/local/vufind/public"
|
REQUEST_SCHEME | "http"
|
CONTEXT_PREFIX | "" |
CONTEXT_DOCUMENT_ROOT | "/usr/local/vufind/public"
|
SERVER_ADMIN | "webmaster@bibliotecas.unlp.edu.ar"
|
SCRIPT_FILENAME | "/usr/local/vufind/public/index.php"
|
REMOTE_PORT | "65240"
|
REDIRECT_URL | "/Record/dhu.ARTI11213/Export"
|
REDIRECT_QUERY_STRING | "style=EndNoteWeb"
|
GATEWAY_INTERFACE | "CGI/1.1"
|
SERVER_PROTOCOL | "HTTP/1.1"
|
REQUEST_METHOD | "GET"
|
QUERY_STRING | "style=EndNoteWeb"
|
REQUEST_URI | "/Record/dhu.ARTI11213/Export?style=EndNoteWeb"
|
SCRIPT_NAME | "/index.php"
|
PHP_SELF | "/index.php"
|
REQUEST_TIME_FLOAT | 1749818282.826
|
REQUEST_TIME | 1749818282
|